comp.lang.ada
 help / color / mirror / Atom feed
* Higher precision and generics
@ 1995-03-11 17:41 Duncan Sands
  1995-03-14 16:13 ` David Arno
  1995-03-15 15:36 ` Mats Weber
  0 siblings, 2 replies; 12+ messages in thread
From: Duncan Sands @ 1995-03-11 17:41 UTC (permalink / 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.



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~1995-03-21 21:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1995-03-11 17:41 Higher precision and generics Duncan Sands
1995-03-14 16:13 ` 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox