Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.ada / fixed_points / fixed_points.adb
CommitLineData
88b9d363 1-- Copyright 2004-2022 Free Software Foundation, Inc.
fb6e1814
JG
2--
3-- This program is free software; you can redistribute it and/or modify
4-- it under the terms of the GNU General Public License as published by
cc00619d 5-- the Free Software Foundation; either version 3 of the License, or
fb6e1814
JG
6-- (at your option) any later version.
7--
8-- This program is distributed in the hope that it will be useful,
9-- but WITHOUT ANY WARRANTY; without even the implied warranty of
10-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11-- GNU General Public License for more details.
12--
13-- You should have received a copy of the GNU General Public License
cc00619d 14-- along with this program. If not, see <http://www.gnu.org/licenses/>.
fb6e1814
JG
15
16with System;
09584414 17with Pck; use Pck;
fb6e1814
JG
18
19procedure Fixed_Points is
20
c31af87b
JG
21 ------------
22 -- Test 1 --
23 ------------
24
25 -- Fixed point subtypes
26
fb6e1814
JG
27 type Base_Fixed_Point_Type is
28 delta 1.0 / 16.0
d77c9224 29 range -2147483648 * 1.0 / 16.0 .. 2147483647 * 1.0 / 16.0;
fb6e1814 30
c31af87b
JG
31 subtype Fixed_Point_Subtype is
32 Base_Fixed_Point_Type range -50.0 .. 50.0;
33
34 type New_Fixed_Point_Type is
35 new Base_Fixed_Point_Type range -50.0 .. 50.0;
36
37 Base_Object : Base_Fixed_Point_Type := -50.0;
38 Subtype_Object : Fixed_Point_Subtype := -50.0;
39 New_Type_Object : New_Fixed_Point_Type := -50.0;
40
41
42 ------------
43 -- Test 2 --
44 ------------
45
46 -- Overprecise delta
47
48 Overprecise_Delta : constant := 0.135791357913579;
49 -- delta whose significant figures cannot be stored into a long.
50
51 type Overprecise_Fixed_Point is
52 delta Overprecise_Delta range 0.0 .. 200.0;
53 for Overprecise_Fixed_Point'Small use Overprecise_Delta;
fb6e1814 54
c31af87b
JG
55 Overprecise_Object : Overprecise_Fixed_Point :=
56 Overprecise_Fixed_Point'Small;
fb6e1814 57
a625a8c9
TT
58 FP5_Var : FP5_Type := 3 * Delta5;
59
fb6e1814
JG
60begin
61 Base_Object := 1.0/16.0; -- Set breakpoint here
62 Subtype_Object := 1.0/16.0;
63 New_Type_Object := 1.0/16.0;
c31af87b 64 Overprecise_Object := Overprecise_Fixed_Point'Small * 2;
09584414
JB
65 Do_Nothing (FP1_Var'Address);
66 Do_Nothing (FP2_Var'Address);
67 Do_Nothing (FP3_Var'Address);
b49180ac 68 Do_Nothing (FP4_Var'Address);
a625a8c9 69 Do_Nothing (FP5_Var'Address);
fb6e1814 70end Fixed_Points;
This page took 1.822409 seconds and 4 git commands to generate.