| 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; |