From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM,PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5f5a48f21d7f7525 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news4.google.com!feeder.news-service.com!newsfeed.straub-nv.de!open-news-network.org!eternal-september.org!.POSTED!not-for-mail From: Warren Newsgroups: comp.lang.ada Subject: Re: Inferring array index type from array object Date: Tue, 29 Jun 2010 20:55:28 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <6b20ed09-efc1-4df7-90f9-5e141482e8d0@d37g2000yqm.googlegroups.com> <1305oqccr1h2t$.x33x4oxwd84d$.dlg@40tude.net> <88ec2vF3uqU1@mid.individual.net> <88f9osFmcmU1@mid.individual.net> <88sld2F9m8U1@mid.individual.net> <73a0af1d-7213-44af-90fa-ed6de4c64ce8@b4g2000pra.googlegroups.com> Injection-Date: Tue, 29 Jun 2010 20:55:28 +0000 (UTC) Injection-Info: mx01.eternal-september.org; posting-host="9f8M0iN5t54V+4DF/iqO8g"; logging-data="17291"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18elQhfZjMBAqOuV6FDmAq4guRQ2Uv+nro=" User-Agent: Xnews/5.04.25 X-Face: &6@]C2>ZS=NM|HE-^zWuryN#Z/2_.s9E|G&~DRi|sav9{E}XQJb*\_>=a5"q]\%A;5}LKP][1mA{gZ,Q!j Cancel-Lock: sha1:3C4dmbw3c4dzeDyb+HXgaP2tBWs= Xref: g2news1.google.com comp.lang.ada:12002 Date: 2010-06-29T20:55:28+00:00 List-Id: Adam Beneschan expounded in news:73a0af1d-7213-44af-90fa-ed6de4c64ce8 @b4g2000pra.googlegroups.com: > On Jun 29, 12:31�pm, Warren wrote: >> >> > So, what is the "missing" function? >> >> > >> >> 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; } But is this (GSL code) computationally more accurate than a simple 1/Z? Faster? I don't know, as I am currently porting to Ada and avoiding analysis at this point (a huge task). But I do know that accuracy can be a good reason to implement something as a specialized function (like ATAN2 for example). Warren