From: Keith Thompson <kst-u@mib.org>
Subject: Re: Ada array vs C pointer (call by reference)
Date: 28 Jun 2008 14:18:03 -0700
Date: 2008-06-28T14:18:03-07:00 [thread overview]
Message-ID: <lzd4m16yyc.fsf@stalkings.ghoti.net> (raw)
In-Reply-To: uej6hk67r.fsf@nasa.gov
Stephen Leake <Stephe.Leake@nasa.gov> writes:
> Robert A Duff <bobduff@shell01.TheWorld.com> writes:
> > Keith Thompson <kst-u@mib.org> writes:
> >> Interfaces.C.C_Float, which (assuming the Ada implementation gets it
> >> right), is guaranteed to match C's float, or of using Float, which has
> >> no such guarantee (but saves a little typing). Why would you even
> >> consider using Float?
> >
> > You might have a program that uses Float all over the place,
> > and you want to add some interface to C in one tiny corner
> > of that program. You might be tempted to use Float at the
> > interface to C in order to avoid a lot of type conversions.
>
> A better way to avoid a lot of type conversions is to provide a thin C
> interface using Interfaces.C.C_Float, and a thin Ada wrapper that does
> the type conversion to Ada.Float (or some other user provided type).
That will still involve a lot of type conversions at run time, even if
you don't have to write a lot of them in your code. If Float and
C_Float happen to have the same representation, that's fine. But if
they differ, then the conversions could have bad numeric consequences.
To summarize:
Programming Is Hard.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
next prev parent reply other threads:[~2008-06-28 21:18 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-27 1:39 Ada array vs C pointer (call by reference) Adrian Hoe
2008-06-27 1:42 ` Adrian Hoe
2008-06-27 2:55 ` Adam Beneschan
2008-06-27 13:02 ` Maciej Sobczak
2008-06-27 13:15 ` Adrian Hoe
2008-06-27 14:43 ` Georg Bauhaus
2008-06-27 14:47 ` Georg Bauhaus
2008-06-27 20:35 ` Maciej Sobczak
2008-06-27 22:00 ` Georg Bauhaus
2008-06-27 22:46 ` Keith Thompson
2008-06-27 16:11 ` Keith Thompson
2008-06-27 17:00 ` Robert A Duff
2008-06-27 18:15 ` Keith Thompson
2008-06-28 14:02 ` Stephen Leake
2008-06-28 21:18 ` Keith Thompson [this message]
2008-07-03 12:44 ` Rob Norris
2008-06-27 20:44 ` Maciej Sobczak
2008-06-27 22:14 ` Keith Thompson
2008-06-27 22:36 ` Adam Beneschan
2008-06-28 14:04 ` Stephen Leake
2008-06-28 21:22 ` Keith Thompson
2008-06-30 17:13 ` Adam Beneschan
2008-06-28 17:52 ` Robert A Duff
2008-06-30 17:13 ` Adam Beneschan
2008-06-30 18:55 ` Robert A Duff
2008-07-01 21:19 ` Randy Brukardt
2008-07-01 21:19 ` Randy Brukardt
2008-06-28 0:56 ` Peter C. Chapin
2008-06-28 14:11 ` Maciej Sobczak
2008-06-28 17:49 ` tmoran
2008-06-28 21:46 ` Keith Thompson
2008-06-28 17:44 ` Robert A Duff
2008-07-01 21:10 ` Randy Brukardt
2008-06-27 18:13 ` tmoran
2008-06-27 20:49 ` Maciej Sobczak
2008-06-27 4:10 ` Jeffrey R. Carter
2008-06-27 8:22 ` Adrian Hoe
2008-06-27 15:07 ` Adam Beneschan
2008-06-27 22:54 ` Jeffrey R. Carter
2008-06-28 1:15 ` Adrian Hoe
2008-06-28 2:17 ` Adam Beneschan
2008-07-01 21:31 ` Randy Brukardt
2008-07-01 21:31 ` Randy Brukardt
2008-08-22 4:06 ` Adrian Hoe
2008-06-28 4:59 ` Jeffrey R. Carter
2008-06-29 3:48 ` anon
2008-06-28 1:21 ` anon
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox