From: Simon Wright <simon@pushface.org>
Subject: Re: Ada decimal types
Date: Sat, 06 May 2006 16:48:06 +0100
Date: 2006-05-06T16:48:06+01:00 [thread overview]
Message-ID: <m2k68zm9xl.fsf@grendel.local> (raw)
In-Reply-To: C_17g.6056$Gg.2050@twister.nyroc.rr.com
"REH" <me@you.com> writes:
> "Keith Thompson" <kst-u@mib.org> wrote in message
> news:lnmzdvttoc.fsf@nuthaus.mib.org...
>> And it's the small, not the delta, that needs to be 1.0e-6. If you
>> specify a delta of 1.0e-6 for an ordinary fixed-point type without
>> specifying the small, you'll (probabaly) get a small of 2.0**-20.
>> (As you probably know.)
>
> It's not an binary fixed point, but a decimal fixed point. I believe the
> small has to be a power of ten, not two. Anyways, that is a good point.
> For a decimal type, do I need to specify the small?
On GNAT, Duration (which is a plain fixed-point type) is effectively
implemented as
type Duration is delta 1.0e-9;
for Duration'Small use 1.0e-9;
for Duration'Size use 64;
which means that the lsb is 1 nanosecond. I'm pretty sure that a
compiler has to do what you tell it here (or reject the unit).
It may well be that a decimal fixed point type would have exactly the
same effect but I have never used one.
type My_Duration is digits 9 delta 1.0e-9;
for My_Duration'Size use 64;
One point we came unstuck over: depending on your machine, the
alignment of a 64-bit value may end up as 8 bytes, whereas the
alignment of your POSIX-like representation would be 4 bytes.
Had you considered just using Duration?
next prev parent reply other threads:[~2006-05-06 15:48 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-04 15:23 Ada decimal types REH
2006-05-04 18:17 ` Jeffrey R. Carter
2006-05-04 22:20 ` REH
2006-05-05 9:14 ` Stephen Leake
2006-05-05 11:33 ` REH
2006-05-05 16:49 ` tmoran
2006-05-05 18:08 ` REH
2006-05-05 18:49 ` tmoran
2006-05-05 18:59 ` REH
2006-05-06 8:59 ` Keith Thompson
2006-05-06 14:01 ` REH
2006-05-06 15:48 ` Simon Wright [this message]
2006-05-06 16:39 ` REH
2006-05-08 21:19 ` Randy Brukardt
2006-05-09 23:21 ` REH
2006-05-10 1:08 ` Keith Thompson
2006-05-10 5:37 ` Simon Wright
2006-05-10 12:22 ` REH
2006-05-10 20:47 ` Randy Brukardt
2006-05-10 21:26 ` REH
2006-05-10 20:52 ` Randy Brukardt
2006-05-11 5:51 ` Simon Wright
2006-05-11 22:33 ` Randy Brukardt
2006-05-05 20:32 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox