testMath1 method
void
testMath1()
Implementation
void testMath1(){
startTest( "[testing function, part 1]" );
ParamInteger x = ParamInteger();
ParamFloat y = ParamFloat();
debugPrint( "ceil" );
test( "", MathValue.floatToValue( -5.1 ).ceil().equal( -5.0 ) );
test( "", MathValue.floatToValue( -5.0 ).ceil().equal( -5.0 ) );
test( "", MathValue.floatToValue( -4.9 ).ceil().equal( -4.0 ) );
test( "", MathValue.floatToValue( 0.0 ).ceil().equal( 0.0 ) );
test( "", MathValue.floatToValue( 4.9 ).ceil().equal( 5.0 ) );
test( "", MathValue.floatToValue( 5.0 ).ceil().equal( 5.0 ) );
test( "", MathValue.floatToValue( 5.1 ).ceil().equal( 6.0 ) );
debugPrint( "abs" );
test( "", MathValue.floatToValue( -5.0 ).abs().equal( 5.0 ) );
test( "", MathValue.floatToValue( 0.0 ).abs().equal( 0.0 ) );
test( "", MathValue.floatToValue( 5.0 ).abs().equal( 5.0 ) );
debugPrint( "floor" );
test( "", MathValue.floatToValue( -5.1 ).floor().equal( -6.0 ) );
test( "", MathValue.floatToValue( -5.0 ).floor().equal( -5.0 ) );
test( "", MathValue.floatToValue( -4.9 ).floor().equal( -5.0 ) );
test( "", MathValue.floatToValue( 0.0 ).floor().equal( 0.0 ) );
test( "", MathValue.floatToValue( 4.9 ).floor().equal( 4.0 ) );
test( "", MathValue.floatToValue( 5.0 ).floor().equal( 5.0 ) );
test( "", MathValue.floatToValue( 5.1 ).floor().equal( 5.0 ) );
debugPrint( "mod" );
test( "", MathValue.floatToValue( -7.0 ).mod( 3.0 ).equal( -1.0 ) );
debugPrint( "${MathValue.floatToValue( -7.0 ).mod( 3.0 ).toFloat()} ${-1.0}" );
test( "", MathValue.floatToValue( -3.0 ).mod( 3.0 ).equal( 0.0 ) );
test( "", MathValue.floatToValue( -2.0 ).mod( 3.0 ).equal( -2.0 ) );
debugPrint( "${MathValue.floatToValue( -2.0 ).mod( 3.0 ).toFloat()} ${-2.0}" );
test( "", MathValue.floatToValue( 0.0 ).mod( 3.0 ).equal( 0.0 ) );
test( "", MathValue.floatToValue( 2.0 ).mod( 3.0 ).equal( 2.0 ) );
test( "", MathValue.floatToValue( 3.0 ).mod( 3.0 ).equal( 0.0 ) );
test( "", MathValue.floatToValue( 7.0 ).mod( 3.0 ).equal( 1.0 ) );
debugPrint( "frexp" );
test( "", ClipMath.approx( MathValue.floatToValue( -3.0 ).frexp( x ).toFloat(), -0.75 ) && (x.val() == 2) );
test( "", ClipMath.approx( MathValue.floatToValue( -0.5 ).frexp( x ).toFloat(), -0.5 ) && (x.val() == 0) );
test( "", MathValue.floatToValue( 0.0 ).frexp( x ).equal( 0.0 ) && (x.val() == 0) );
test( "", ClipMath.approx( MathValue.floatToValue( 0.33 ).frexp( x ).toFloat(), 0.66 ) && (x.val() == -1) );
test( "", ClipMath.approx( MathValue.floatToValue( 0.66 ).frexp( x ).toFloat(), 0.66 ) && (x.val() == 0) );
test( "", ClipMath.approx( MathValue.floatToValue( 96.0 ).frexp( x ).toFloat(), 0.75 ) && (x.val() == 7) );
debugPrint( "ldexp" );
test( "", MathValue.floatToValue( -3.0 ).ldexp( 4 ).equal( -48.0 ) );
test( "", MathValue.floatToValue( -0.5 ).ldexp( 0 ).equal( -0.5 ) );
test( "", MathValue.floatToValue( 0.0 ).ldexp( 36 ).equal( 0.0 ) );
test( "", ClipMath.approx( MathValue.floatToValue( 0.66 ).ldexp( -1 ).toFloat(), 0.33 ) );
test( "", MathValue.floatToValue( 96 ).ldexp( -3 ).equal( 12.0 ) );
debugPrint( "modf" );
test( "", MathValue.floatToValue( -11.7 ).modf( y ).equal( -0.7 ) && (y.val() == -11.0) );
test( "", MathValue.floatToValue( -0.5 ).modf( y ).equal( -0.5 ) && (y.val() == 0.0) );
test( "", MathValue.floatToValue( 0.0 ).modf( y ).equal( 0.0 ) && (y.val() == 0.0) );
test( "", MathValue.floatToValue( 0.6 ).modf( y ).equal( 0.6 ) && (y.val() == 0.0) );
test( "", MathValue.floatToValue( 12.0 ).modf( y ).equal( 0.0 ) && (y.val() == 12.0) );
endTest();
}