with Ada.Unchecked_Conversion;
package body Inline1_Pkg is
   type Ieee_Short_Real is
      record
         Mantisse_Sign : Integer range 0 .. 1;
         Exponent      : Integer range 0 .. 2 **  8 - 1;
         Mantisse      : Integer range 0 .. 2 ** 23 - 1;
      end record;
   for Ieee_Short_Real use
      record
         Mantisse_Sign at 0 range 31 .. 31;
         Exponent      at 0 range 23 .. 30;
         Mantisse      at 0 range  0 .. 22;
      end record;
   function Valid_Real (Number : Float) return Boolean is
      function To_Ieee_Short_Real is
         new Ada.Unchecked_Conversion (Float, Ieee_Short_Real);
   begin
      return To_Ieee_Short_Real (Number).Exponent /= 255;
   end Valid_Real;
   function Invalid_Real return Float is
      function To_Float is
         new Ada.Unchecked_Conversion (Ieee_Short_Real, Float);
   begin
      return To_Float (Ieee_Short_Real'(Mantisse_Sign => 0,
                                        Exponent => 255, Mantisse => 0));
   end Invalid_Real;
end Inline1_Pkg;