package Fixedpnt2 is type T_Integer_32 is range -2 ** 31 .. 2 ** 31 - 1 with Size => 32; type T_Integer_64 is range -2 ** 63 .. 2 ** 63 - 1 with Size => 64; C_Unit : constant := 0.001; -- One millisecond. C_First : constant := (-2 ** 63) * C_Unit; C_Last : constant := (2 ** 63 - 1) * C_Unit; type My_Type is delta C_Unit range C_First .. C_Last with Size => 64, Small => C_Unit; function "*" (Left : in T_Integer_32; Right : in My_Type) return My_Type; function "*" (Left : in My_Type; Right : in T_Integer_32) return My_Type; end Fixedpnt2;