Require target lra in gcc.dg/pr108095.c
[official-gcc.git] / gcc / testsuite / gnat.dg / dimensions2_phys.ads
blob675352acce065143165df11131178424844cba2d
1 with ada.numerics.generic_elementary_functions;
2 with Dimensions2_real_numbers;
4 package Dimensions2_Phys is
6 type si_type is new Dimensions2_real_numbers.Real with
7 dimension_system =>
8 ((unit_name => meter, unit_symbol => 'm', dim_symbol => 'L'),
9 (unit_name => kilogram, unit_symbol => "kg", dim_symbol => 'M'),
10 (unit_name => second, unit_symbol => 's', dim_symbol => 'T'),
11 (unit_name => ampere, unit_symbol => 'A', dim_symbol => 'I'),
12 (unit_name => kelvin, unit_symbol => 'K', dim_symbol => "Theta"),
13 (unit_name => mole, unit_symbol => "mol", dim_symbol => 'N'),
14 (unit_name => euro, unit_symbol => "EUR", dim_symbol => 'E'));
16 subtype distance is Si_Type with
17 dimension => (symbol => 'm', meter => 1, others => 0);
19 subtype mass is Si_Type with
20 dimension => (symbol => "kg", kilogram => 1, others => 0);
22 subtype time is Si_Type with
23 dimension => (symbol => 's', second => 1, others => 0);
25 subtype electric_current is Si_Type with
26 dimension => (symbol => 'A', ampere => 1, others => 0);
28 subtype temperature is Si_Type with
29 dimension => (symbol => 'K', kelvin => 1, others => 0);
31 subtype amount_of_substance is Si_Type with
32 dimension => (symbol => "mol", mole => 1, others => 0);
34 pragma warnings (off, "*assumed to be*");
35 subtype pressure_barg is Dimensions2_real_numbers.Real;
36 m : constant Distance := 1.0;
37 kg : constant Mass := 1.0;
38 s : constant Time := 1.0;
39 a : constant Electric_Current := 1.0;
40 k : constant Temperature := 1.0;
41 mol : constant Amount_Of_Substance := 1.0;
42 min : constant Time := 1.0;
43 h : constant Time := 60.0 * min;
45 subtype frequency is Si_Type with
46 dimension => (symbol => "Hz", second => -1, others => 0);
48 subtype massflow is Si_Type with
49 dimension => (symbol => "kg/s",
50 kilogram => 1, second => -1, others => 0);
52 subtype molar_heat_capacity is Si_Type with
53 dimension => (symbol => "J/(K*mol)", meter => 2, kilogram => 1,
54 second => -2, kelvin => -1, mole => -1, others => 0);
56 subtype molar_flow is Si_Type with
57 dimension => (symbol => "mol/s", second => -1, mole => 1, others => 0);
59 subtype pressure is Si_Type with
60 dimension =>
61 (symbol => "Pa", meter => -1, kilogram => 1, second => -2, others => 0);
63 subtype ratio is Si_Type range 0.0 .. 1.0;
65 subtype scalar is Si_Type;
67 subtype specific_heat_capacity is Si_Type with
68 dimension => (symbol => "J/(K*kg)", meter => 2, second => -2,
69 kelvin => -1, others => 0);
71 subtype speed is Si_Type with
72 dimension => (symbol => "m/s", meter => 1, second => -1, others => 0);
74 subtype volume is Si_Type with
75 dimension => (symbol => "m^3", meter => 3, others => 0);
77 subtype volumetric_flow is Si_Type with
78 dimension => (symbol => "m^3/s", meter => 3, second => -1, others => 0);
80 end Dimensions2_Phys;