testRound2 method

void testRound2()

Implementation

void testRound2(){
  mp = MultiPrec();

  MPData a = MPData();
  mp.fsqrt( a, mp.F( "2" ), 45 );

  MPData b = MPData();
  String s;
  for( int i = 0; i < 45; i++ ){
    s = mp.fnum2str( a, 45 );
    debugPrint( s.substring( 0, i + 3 ) );
    debugPrint( s.substring( i + 3 ) );

    for( int mode = 0; mode <= 8; mode++ ){
      mp.fset( b, a );
      mp.fround( b, i, mode );
      s = mp.fnum2str( b, i );
      switch( mode ){
      case MultiPrec.froundUp       : debugPrint( "UP      $s" ); break;
      case MultiPrec.froundDown     : debugPrint( "DOWN    $s" ); break;
      case MultiPrec.froundCeiling  : debugPrint( "CEILING $s" ); break;
      case MultiPrec.froundFloor    : debugPrint( "FLOOR   $s" ); break;
      case MultiPrec.froundHalfUp   : debugPrint( "H_UP    $s" ); break;
      case MultiPrec.froundHalfDown : debugPrint( "H_DOWN  $s" ); break;
      case MultiPrec.froundHalfEven : debugPrint( "H_EVEN  $s" ); break;
      case MultiPrec.froundHalfDown2: debugPrint( "H_DOWN2 $s" ); break;
      case MultiPrec.froundHalfEven2: debugPrint( "H_EVEN2 $s" ); break;
      }
    }
  }
}