Calculated question : adding new math functions: Difference between revisions
This page will not be migrated to new devdocs |
|||
| (9 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
{{Template:WillNotMigrate}} | |||
The calculated question type could benefit of the EvalMath module to increase the math functions useable in the Calculated, Simple calculated et Multiple choice calculated question types. | The calculated question type could benefit of the EvalMath module to increase the math functions useable in the Calculated, Simple calculated et Multiple choice calculated question types. | ||
==Available functions== | ==Available functions== | ||
Calculated questions can use more than simple arithmetic operators. The following functions are allowed in versions 1.5 and newer. | Calculated questions can use more than simple arithmetic operators. | ||
The following functions are allowed in versions 1.5 and newer. | |||
In 2,9 we should continue to support the previous functions unless they can be unsafe. | |||
All functions will use either the EvalMath code or a more specific CalculatedEvalMath code. | |||
In the following table | |||
to be improved as ... there is some ambiguity on columns names ( | |||
# means that the function exists. | |||
new means that the function needs to be created in EvalMath or only in CalculatedEvalMath. (... to be explained more clearly ) | |||
OK will be used in test column to confirm that this property has been coded and testing code have been added in 2.9 | |||
NO i.e. no more supported in 2,9 | |||
{| width="97%" border="1px" | {| width="97%" border="1px" | ||
!Function | !Function | ||
!1,5+ | !1,5+ | ||
!Math | |||
lib | |||
!Eval | !Eval | ||
Math | Math | ||
! | !Calc | ||
!coded | |||
!tested | !tested | ||
!Explanation | !Explanation | ||
|- | |- | ||
|abs | |abs | ||
| | | # | ||
| | | # | ||
| | | # | ||
| # | |||
| | |||
| | | | ||
|Absolute value | |Absolute value | ||
| Line 24: | Line 39: | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Arc cosine -- output in radians. | |Arc cosine -- output in radians. | ||
| Line 30: | Line 47: | ||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Inverse hyperbolic cosine -- output in radians. | |Inverse hyperbolic cosine -- output in radians. | ||
| Line 38: | Line 57: | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Arc sine -- output in radians. | |Arc sine -- output in radians. | ||
|- | |- | ||
|asinh | |asinh | ||
| # | |||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| | |||
| | | | ||
|Inverse hyperbolic sine.-- output in radians. | |Inverse hyperbolic sine.-- output in radians. | ||
| Line 50: | Line 73: | ||
|atan2 | |atan2 | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
| | | | ||
| Line 59: | Line 84: | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Arc tangent -- output in radians. | |Arc tangent -- output in radians. | ||
| Line 66: | Line 93: | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Inverse hyperbolic tangent-- output in radians. | |Inverse hyperbolic tangent-- output in radians. | ||
|- | |- | ||
|bindec | |bindec | ||
| # | |||
| # | | # | ||
| | |||
| | | | ||
| | | | ||
| Line 80: | Line 111: | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Round fractions up | |Round fractions up | ||
|- | |- | ||
|cos | |cos | ||
| # | |||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| | |||
| | | | ||
|Cosine -- in radians!!! Convert your degree measurement to radians before you take the cos of it. | |Cosine -- in radians!!! Convert your degree measurement to radians before you take the cos of it. | ||
|- | |- | ||
|cosh | |cosh | ||
| # | |||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| | |||
| | | | ||
|Hyperbolic cosine -- in radians!!! Convert your degree measurement to radians before you take the cosh of it. | |Hyperbolic cosine -- in radians!!! Convert your degree measurement to radians before you take the cosh of it. | ||
| Line 99: | Line 136: | ||
|decbin | |decbin | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
| | | | ||
| Line 106: | Line 145: | ||
|decoct | |decoct | ||
| # | | # | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 113: | Line 154: | ||
|deg2rad | |deg2rad | ||
| # | | # | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 120: | Line 163: | ||
|exp | |exp | ||
| # | | # | ||
| | | # | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 127: | Line 172: | ||
|expm1 | |expm1 | ||
| | | | ||
| | |||
|new | |||
| | | | ||
| | | | ||
| Line 133: | Line 180: | ||
|- | |- | ||
|floor | |floor | ||
| | |||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| | |||
| | | | ||
|Round fractions down | |Round fractions down | ||
|- | |- | ||
|fmod | |fmod | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 148: | Line 199: | ||
|is_finite | |is_finite | ||
| # | | # | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 155: | Line 208: | ||
|is_infinite | |is_infinite | ||
| # | | # | ||
| # | |||
|?? | |||
| | | | ||
| | | | ||
| Line 162: | Line 217: | ||
|is_nan | |is_nan | ||
| # | | # | ||
| # | |||
|?? | |||
| | | | ||
| | | | ||
| Line 169: | Line 226: | ||
|log10 | |log10 | ||
| # | | # | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 176: | Line 235: | ||
|log1p | |log1p | ||
| # | | # | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 182: | Line 243: | ||
|- | |- | ||
|log | |log | ||
| # | |||
| # | |||
| # | |||
| # | | # | ||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|Natural logarithm (''ln'') | |Natural logarithm (''ln'') | ||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | |||
| | | | ||
|- | |||
|max | |max | ||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Find highest value | |Find highest value | ||
|- | |- | ||
|min | |min | ||
| # | |||
| # | | # | ||
| # | | # | ||
| # | | # | ||
| | |||
| | | | ||
|Find lowest value | |Find lowest value | ||
| Line 207: | Line 280: | ||
|octdec | |octdec | ||
| # | | # | ||
| # | |||
|new | |||
| | | | ||
| | | | ||
| Line 216: | Line 291: | ||
| # | | # | ||
| # | | # | ||
| # | |||
| | |||
| | | | ||
|Get value of pi - the function does not take an argument, like in Excel. | |Get value of pi - the function does not take an argument, like in Excel. | ||
| Line 221: | Line 298: | ||
|pow (numberToRaise, NumberRaisedTo) | |pow (numberToRaise, NumberRaisedTo) | ||
| # | | # | ||
| | | # | ||
|new | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|power (numberToRaise, NumberRaisedTo) | |||
| | |||
| # | |||
|new | |||
| | |||
| | | | ||
| | | | ||
| Line 227: | Line 315: | ||
|- | |- | ||
|rad2deg | |rad2deg | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 234: | Line 324: | ||
|- | |- | ||
|rand | |rand | ||
| # | |||
| # | |||
|new | |||
| | |||
| | | | ||
| | |||
|Generate a random integer | |||
|- | |||
|- | |||
|rand_int | |||
| | |||
| | |||
| # | |||
| | | | ||
| | | | ||
| Line 240: | Line 342: | ||
|Generate a random integer | |Generate a random integer | ||
|- | |- | ||
| | |- | ||
|rand_float | |||
| | |||
| | |||
| # | |||
| | |||
| | | | ||
| | | | ||
|Generate a random float | |||
|- | |||
|round | |||
| # | |||
| # | |||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 248: | Line 362: | ||
|- | |- | ||
|sin | |sin | ||
| | | # | ||
| | | # | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 255: | Line 371: | ||
|- | |- | ||
|sinh | |sinh | ||
| | | # | ||
| | | # | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 262: | Line 380: | ||
|- | |- | ||
|sqrt | |sqrt | ||
| | | # | ||
| | | # | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 269: | Line 389: | ||
|- | |- | ||
|tan | |tan | ||
| | | # | ||
| | | # | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
| Line 276: | Line 398: | ||
|- | |- | ||
|tanh | |tanh | ||
| | | # | ||
| | | # | ||
| # | |||
| # | |||
| | | | ||
| | | | ||
|Hyperbolic tangent -- in radians!!! Convert your degree measurement to radians before you take the tanh of it. | |Hyperbolic tangent -- in radians!!! Convert your degree measurement to radians before you take the tanh of it. | ||
|} | |} | ||
to be completed --[[User:Pierre Pichet|Pierre Pichet]] ([[User talk:Pierre Pichet|talk]]) 12:12, 12 December 2014 (AWST) | |||
Latest revision as of 14:06, 3 May 2024
| Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable. |
The calculated question type could benefit of the EvalMath module to increase the math functions useable in the Calculated, Simple calculated et Multiple choice calculated question types.
Available functions
Calculated questions can use more than simple arithmetic operators. The following functions are allowed in versions 1.5 and newer. In 2,9 we should continue to support the previous functions unless they can be unsafe. All functions will use either the EvalMath code or a more specific CalculatedEvalMath code. In the following table to be improved as ... there is some ambiguity on columns names (
# means that the function exists. new means that the function needs to be created in EvalMath or only in CalculatedEvalMath. (... to be explained more clearly ) OK will be used in test column to confirm that this property has been coded and testing code have been added in 2.9 NO i.e. no more supported in 2,9
| Function | 1,5+ | Math
lib |
Eval
Math |
Calc | coded | tested | Explanation |
|---|---|---|---|---|---|---|---|
| abs | # | # | # | # | Absolute value | ||
| acos | # | # | # | # | Arc cosine -- output in radians. | ||
| acosh | # | # | # | # | Inverse hyperbolic cosine -- output in radians. | ||
| asin | # | # | # | # | Arc sine -- output in radians. | ||
| asinh | # | # | # | # | Inverse hyperbolic sine.-- output in radians. | ||
| atan2 | # | # | Arc tangent of two variables -- pass in two values like (y, x), and you'll get the atan(y/x), adjusted to the proper quadrant. (Note: The variables are in the reverse order to atan2(x,y) in Excel) Output is radians. | ||||
| atan | # | # | # | # | Arc tangent -- output in radians. | ||
| atanh | # | # | # | # | Inverse hyperbolic tangent-- output in radians. | ||
| bindec | # | # | Binary to decimal | ||||
| ceil | # | # | # | # | Round fractions up | ||
| cos | # | # | # | # | Cosine -- in radians!!! Convert your degree measurement to radians before you take the cos of it. | ||
| cosh | # | # | # | # | Hyperbolic cosine -- in radians!!! Convert your degree measurement to radians before you take the cosh of it. | ||
| decbin | # | # | Decimal to binary | ||||
| decoct | # | # | new | Decimal to octal | |||
| deg2rad | # | # | new | Converts the number in degrees to the radian equivalent | |||
| exp | # | # | # | # | Calculates the exponent of e | ||
| expm1 | new | Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero | |||||
| floor | # | # | # | Round fractions down | |||
| fmod | # | new | Returns the floating-point modulus of two numbers - i.e. the remainder when the first is divided by the second. | ||||
| is_finite | # | # | new | Finds whether a value is a legal finite number | |||
| is_infinite | # | # | ?? | Finds whether a value is infinite | |||
| is_nan | # | # | ?? | Finds whether a value is not a number | |||
| log10 | # | # | new | Base-10 logarithm | |||
| log1p | # | # | new | Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero | |||
| log | # | # | # | # | |||
| Natural logarithm (ln) | # | # | # | # | |||
| max | # | # | # | # | Find highest value | ||
| min | # | # | # | # | Find lowest value | ||
| octdec | # | # | new | Octal to decimal | |||
| pi() | # | # | # | # | Get value of pi - the function does not take an argument, like in Excel. | ||
| pow (numberToRaise, NumberRaisedTo) | # | # | new | ||||
| power (numberToRaise, NumberRaisedTo) | # | new | Exponential expression | ||||
| rad2deg | # | # | Converts the radian number to the equivalent number in degrees | ||||
| rand | # | # | new | Generate a random integer | |||
| rand_int | # | Generate a random integer | |||||
| rand_float | # | Generate a random float | |||||
| round | # | # | # | # | Rounds a float | ||
| sin | # | # | # | # | Sine -- in radians!!! Convert your degree measurement to radians before you take the sin of it. | ||
| sinh | # | # | # | # | Hyperbolic sine -- in radians!!! Convert your degree measurement to radians before you take the sinh of it. | ||
| sqrt | # | # | # | # | Square root | ||
| tan | # | # | # | # | Tangent -- in radians!!! Convert your degree measurement to radians before you take the tan of it. | ||
| tanh | # | # | # | # | Hyperbolic tangent -- in radians!!! Convert your degree measurement to radians before you take the tanh of it. |
to be completed --Pierre Pichet (talk) 12:12, 12 December 2014 (AWST)