From: sands@clipper.ens.fr (Duncan Sands)
Subject: Higher precision and generics
Date: 11 Mar 1995 17:41:03 GMT
Date: 1995-03-11T17:41:03+00:00 [thread overview]
Message-ID: <3jsnbf$ido@nef.ens.fr> (raw)
I am writing a package of matrix routines (in Ada!) in which some intermediate results
should be calculated in higher precision than normal. The type for normal precision is
called Real and is a generic parameter of my package:
generic
type Real is digits <>;
package Matrix_Stuff is
...
end;
In the body I would like to be able to declare Double to be a higher precision
floating point type, something like:
package body Matrix_Stuff is
type Double is digits 2*Real'Digits;
...
end;
Unfortunately, this does not compile: apparently formal types like Real are not
considered static, so Real'Digits is not considered static, and only static
expressions are allowed in a "type X is digits expression" declaration. (If
I write "type Double is digits 2*Float'Digits" then it compiles fine).
What can I do to get type Double to be of higher precision than Real?
Can anyone please help? And does anyone know why formal types like Real are not
considered static?
Thanks a lot,
Duncan Sands.
next reply other threads:[~1995-03-11 17:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
1995-03-11 17:41 Duncan Sands [this message]
1995-03-14 16:13 ` Higher precision and generics David Arno
1995-03-15 12:12 ` Duncan Sands
1995-03-17 8:36 ` Dan Kurfis
1995-03-17 12:37 ` Peter Hermann
1995-03-19 1:23 ` Robert Dewar
1995-03-20 16:33 ` Peter Hermann
1995-03-21 21:14 ` Robert Dewar
1995-03-18 1:45 ` Keith Thompson
1995-03-20 9:05 ` dkurfis
1995-03-15 15:36 ` Mats Weber
1995-03-15 16:35 ` Peter Hermann
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox