public static float TestFloatPrecisionAwayFromZero(float input) { Float_t num = new Float_t(input); num.f = input; Assert(num.parts.exponent < 255); num.i += 1; float delta = num.f - input; return(delta); }
public static float TestFloatPrecisionTowardZero(float input) { Float_t num = new Float_t(input); num.f = input; Assert(num.parts.exponent != 0 || num.parts.mantissa != 0); Assert(num.parts.exponent != 255 || num.parts.mantissa == 0); num.i += 1; float delta = num.f - input; return(delta); }
void IterateAllPositiveFloats() { Float_t allFloats = new Float_t(0.0f); allFloats.f = 0.0f; Console.WriteLine(String.Format("{0,1:e8}", allFloats.f)); while (allFloats.parts.exponent < 255) { allFloats.i += 1; Console.WriteLine(String.Format("{0,1:e8}", allFloats.f)); } }