comp.lang.ada
 help / color / mirror / Atom feed
From: "John B. Matthews" <nospam@nospam.invalid>
Subject: Re: Inferring array index type from array object
Date: Tue, 29 Jun 2010 17:47:58 -0400
Date: 2010-06-29T17:47:58-04:00	[thread overview]
Message-ID: <nospam-807C34.17475829062010@news.aioe.org> (raw)
In-Reply-To: Xns9DA6ACEFDCF8BWarrensBlatherings@81.169.183.62

In article <Xns9DA6ACEFDCF8BWarrensBlatherings@81.169.183.62>,
 Warren <ve3wwg@gmail.com> wrote:

> Warren expounded in news:Xns9DA6AC2A2C8BWarrensBlatherings@81.169.183.62:
> 
> > Adam Beneschan expounded in news:73a0af1d-7213-44af-90fa-ed6de4c64ce8
> > @b4g2000pra.googlegroups.com:
> > 
> >> On Jun 29, 12:31 pm, Warren <ve3...@gmail.com> wrote:
> >>>
> >>> > So, what is the "missing" function?
> >>>
> >>> > <http://www.adaic.com/standards/05rm/html/RM-G-1-2.html>
> >>>
> >>> 1) The "inverse" of a complex number.
> >> 
> >> Isn't that just 1.0 / X?  
> > 
> > Ok, it seems to be, as the GSL (Gnu Scientific Library)
> > defines it as:
> > 
> > gsl_complex
> > gsl_complex_inverse (gsl_complex a)
> > {                               /* z=1/a */
> >   double s = 1.0 / gsl_complex_abs (a);
> > 
> >   gsl_complex z;
> >   GSL_SET_COMPLEX (
> >     &z, (GSL_REAL (a) * s) * s, -(GSL_IMAG (a) * s) * s);
> >   return z;
> > }
> 
> Apologies for following up my own post, but
> looking at the GSL implementation of complex 
> division:
> [...]
> Given a=1.0, the inverse function is definitely
> higher performance.  It's simpler calculation 
> probably implies more accuracy as well.

The more comparable Ada implementation (from GNAT) would be

function "/" (Left : Real'Base; Right : Complex) return Complex is
    a : constant R := Left;
    c : constant R := Right.Re;
    d : constant R := Right.Im;
begin
    return Complex'(Re =>   (a * c) / (c ** 2 + d ** 2),
                    Im => -((a * d) / (c ** 2 + d ** 2)));
end "/";

-- 
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>



  reply	other threads:[~2010-06-29 21:47 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-23  7:30 Inferring array index type from array object Maciej Sobczak
2010-06-23  8:01 ` Dmitry A. Kazakov
2010-06-23  9:03   ` J-P. Rosen
2010-06-23 12:24     ` Georg Bauhaus
2010-06-23 12:52       ` J-P. Rosen
2010-06-23 19:09         ` Simon Wright
2010-06-24  7:25           ` Georg Bauhaus
2010-06-23 14:38     ` Robert A Duff
2010-06-23 15:17       ` J-P. Rosen
2010-06-23 17:17         ` Robert A Duff
2010-06-24  6:16           ` J-P. Rosen
2010-06-23 12:13   ` Niklas Holsti
2010-06-23 14:27     ` Peter C. Chapin
2010-06-23 20:24       ` Niklas Holsti
2010-06-23 16:33     ` Warren
2010-06-23 17:49       ` Dmitry A. Kazakov
2010-06-23 18:45         ` Warren
2010-06-23 20:39       ` Niklas Holsti
2010-06-28 13:44         ` Warren
2010-06-28 22:18           ` Niklas Holsti
2010-06-29  1:49             ` Adam Beneschan
2010-06-29  2:10               ` (see below)
2010-06-29 16:56             ` Warren
2010-06-29 17:50               ` John B. Matthews
2010-06-29 19:31                 ` Warren
2010-06-29 20:06                   ` Jeffrey R. Carter
2010-06-29 20:16                     ` Warren
2010-06-29 20:22                   ` Adam Beneschan
2010-06-29 20:39                     ` Dmitry A. Kazakov
2010-06-29 20:55                     ` Warren
2010-06-29 21:00                       ` Warren
2010-06-29 21:47                         ` John B. Matthews [this message]
2010-06-29 21:52                         ` Damien Carbonne
2010-06-29 22:22                         ` Adam Beneschan
2010-06-30 16:43                           ` Warren
2010-06-29 21:18                       ` Jeffrey R. Carter
2010-06-30  5:01                     ` Simon Wright
2010-06-30 14:29                       ` Adam Beneschan
2010-06-29 20:28                   ` Damien Carbonne
2010-06-29 21:20                   ` John B. Matthews
2010-06-23 13:12 ` Gautier write-only
replies disabled

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