JANOS Help System: [Commands] [Topics] [Tech Support] [Printable Manual] [Search]
MATH FUNCTIONS The standard C library math functions are provided. In all cases the mixed $var parameters are first converted to double. double sqrt ( mixed $var ) Determines the square root of a number. double ceil ( mixed $var ) This function rounds a number upwards to its nearest integer. double floor ( mixed $var ) This function rounds a number downwards to its nearest integer. double round ( mixed $val , int $prec ) Returns the double value of $val rounded to the defined $prec precision. if $prec is 0 or omitted, $val is rounded to the nearest integer. The rounding is up for positive values and down for negative. Values between 0.5 and 1.49 would round to 1.0. Values between -0.5 and -1.49 would round to -1.0 . The $prec specifies the number of significant places either right of the decimal point (positive $prec ) or left (negative $prec ). If $prec is 1 then $val is rounded to the nearest tenth. If $prec is 2 then the value is rounded to the nearest 1/100th. If $prec is -1 the value is rounded to the nearest 10 (5.7 rounds to 10.0). double fabs ( mixed $var ) This returns the absolute value of a number. The result is always a positive value relating to the magnitude of the supplied value. double fmod ( mixed $dividend , $mixed $divisor ) This returns the remainder of $dividend divided by $divisor. The modulus operator '%' works only with integers. This is the floating point version of the operation. This fmod( 23.5, 5 ) returns the value 3.5 as 5 goes into 23.5 only 4 times leaving 3.5 as the remainder. TRIGONOMETRY In mathematics a transcendental function is an analytic function that does not satisfy a polynomial equation (algebraic formula). JANOS provides the standard exponential, logarithm and trigonometric functions. With the trig functions (sin, cos) the parameters are given in radians. Similarly the arc functions (asin, acos) return radian values. degrees = radians * 180 / pi radians = degrees * pi / 180 pi / 2 radians = 90 degrees Note that the function pi() supplies a good estimate of that constant. double pow ( mixed $var , mixed $exponent ) This function raises $var to the power defined by $exponent. A number will be squared when the exponent is 2. Similarly when the exponent is 1/2 or 0.5 this function returns the same value as sqrt(). JANOS scripting as of v2.5 also supports the exponentiation operator '**' as may be found in other languages such as Basic, JavaScript and Python. Therefore both 2 3 and pow( 2, 3 ) return the same double value result of 8. The '^' caret operator performs bitwise exclusive-OR. double pi ( ) Returns 3.14159265358979323846 as best the double precision floating point numeric encoding can provide. double sin ( mixed $x ) Returns the sine of x (x in radians). The sine of 90 degrees or sin( pi()/2 ) is equal to 1. double cos ( mixed $x ) Returns the cosine of x (x in radians). The cosine of 180 degrees or cos( pi() ) equals -1. double tan ( mixed $x ) Returns the tangent of an angle x (x in radians). The tangent of 45 degrees or tan( pi()/4 ) is equal to 1. double asin ( mixed $var ) The arcsine returns the angle (in radians) whose sine is $var. The parameter must be in the range -1 to 1. double acos ( mixed $var ) The arccosine returns the angle (in radians) whose cosine is $var. The parameter must be in the range -1 to 1. double atan ( mixed $var ) The arctangent returns the angle (in radians) whose tangent is var. Since the tangent represents the ratio of the side opposite the angle to the side adjacent to the angle (not the hypotenuse) the parameter may be any value. For a 45 degree angle those two sides are equal with a ratio then of 1. atan(1) * 180 / pi() = 45 double atan2 ( mixed $opposite , mixed $adjacent ) This alternaive form of the arctangent takes as parameters the two sides of the right triangle and returns the angle in radians. The 30 degree right triangle is easy to remember. When the side opposite the angle is 1 the hypotenuse is 2. Therefore the side adjacent to the angle must be sqrt(3) in order to satisfy the Pythagorean theorem where the square of the sides add to give the square of the hypotenuse. For this case we have: atan2 ( 1, sqrt(3) ) * 180/pi() = 30 EXPONENTIALS & LOGARITHMS We frequently find situations where things increase exponentially. For example the computation of compound interest. The equations for such things often involve the mathematical constant 'e' (Euler's number) which has an approximate value of 2.71828. double exp ( mixed $var ) The exponential function returns the value of 'e' raised to the power defined by $var. We can retrieve from this the value of 'e'. Try the following at the command line: bruce_dev2 /> !printf( "%.15f", exp(1) ); 2.718281828459043 double log ( mixed $var ) The natural logarithm function log() returns the power to which the base 'e' would have to be raised to equal $var. log( exp(x) ) = x log( 2.718281828459043 ) = 1 double log10 ( mixed $var ) This is the base 10 logarithm. The log10() function returns the power to which the base 10 would have to be raised to equal $var. log10( 10**x ) = x log10( pow(10, x) ) = x SEE ALSO HELP Topics: CONVERSIONS, LIBRARY [/flash/manpages/scripting.hlp:1064]