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();
}