Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Calculated question : adding new math functions: Difference between revisions

From MoodleDocs
Line 3: Line 3:


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 the following table
  # means that the function exists, if it exists in EvalMath then it should exist in 2,9.
  new means that the function needs to be created in EvalMath.
  OK  will be used in test column to confirm that this property is set to 2.9
{| width="97%" border="1px"
{| width="97%" border="1px"
!Function
!Function
Line 14: Line 17:
|-
|-
|abs
|abs
| '''*'''
| #
| '''*'''
| #
| '''*'''
| #
|
|
|Absolute value
|Absolute value
Line 30: Line 33:
| #
| #
| #
| #
| #'
| #
|
|
|Inverse hyperbolic cosine -- output in radians.
|Inverse hyperbolic cosine -- output in radians.
Line 106: Line 109:
|decoct
|decoct
| #
| #
|
|new
|
|
|
|
Line 113: Line 116:
|deg2rad
|deg2rad
| #
| #
|
|new
|
|
|
|
Line 120: Line 123:
|exp
|exp
| #
| #
|
| #
|
| #
|
|
|Calculates the exponent of e
|Calculates the exponent of e
Line 127: Line 130:
|expm1
|expm1
|
|
|
|new
|
|
|
|
Line 140: Line 143:
|-
|-
|fmod
|fmod
|
|new
|
|
|
|
Line 148: Line 151:
|is_finite
|is_finite
| #
| #
|
|new
|
|
|
|
Line 155: Line 158:
|is_infinite
|is_infinite
| #
| #
|
|??
|
|
|
|
Line 162: Line 165:
|is_nan
|is_nan
| #
| #
|
|??
|
|
|
|
Line 169: Line 172:
|log10
|log10
| #
| #
|
|new
|
|
|
|
Line 176: Line 179:
|log1p
|log1p
| #
| #
|
|new
|
|
|
|
Line 183: Line 186:
|log
|log
| #
| #
|
| #
|
| #
|
|
|Natural logarithm (''ln'')
|Natural logarithm (''ln'')
Line 191: Line 194:
| #
| #
|
|
|-
|max
|max
| #
| #
Line 207: Line 211:
|octdec
|octdec
| #
| #
|
|new
|
|
|
|
Line 221: Line 225:
|pow (numberToRaise, NumberRaisedTo)
|pow (numberToRaise, NumberRaisedTo)
| #
| #
|  
|new
|
|
|
|power (numberToRaise, NumberRaisedTo)
|
| #
|new
|
|
|Exponential expression
|Exponential expression
|-
|-
|rad2deg
|rad2deg
|
| #
|
|
|
|
Line 234: Line 243:
|-
|-
|rand
|rand
| #
|new
|
|
|
|
|Generate a random integer
|-
|-
|rand_int
|
|
| #
|new
|
|
|Generate a random integer
|Generate a random integer
|-
|-
|round
|-
|
|rand_float
|
|
| #
|new
|
|
|Generate a random float
|-
|round
| #
| #
| #
|
|
|Rounds a float
|Rounds a float
|-
|-
|sin
|sin
|
| #
|
| #
|
| #
|
|
|Sine -- in radians!!!  Convert your degree measurement to radians before you take the sin of it.
|Sine -- in radians!!!  Convert your degree measurement to radians before you take the sin of it.
|-
|-
|sinh
|sinh
|
| #
|
| #
|
| #
|
|
|Hyperbolic sine -- in radians!!!  Convert your degree measurement to radians before you take the sinh of it.
|Hyperbolic sine -- in radians!!!  Convert your degree measurement to radians before you take the sinh of it.
|-
|-
|sqrt
|sqrt
|
| #
|
| #
|
| #
|
|
|Square root
|Square root
|-
|-
|tan
|tan
|
| #
|
| #
|
| #
|
|
|Tangent -- in radians!!!  Convert your degree measurement to radians before you take the tan of it.
|Tangent -- in radians!!!  Convert your degree measurement to radians before you take the tan of it.
|-
|-
|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)

Revision as of 04:12, 12 December 2014

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 the following table

 # means that the function exists, if it exists in EvalMath then it should exist in 2,9. 
 new means that the function needs to be created in EvalMath. 
  OK  will be used in test column to confirm that this property is set to 2.9
Function 1,5+ Eval

Math

2.9 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 # new Generate a random integer
rand_float # new 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)