comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Unsigned Integer Restraint Errors
Date: Tue, 13 Mar 2007 18:23:58 +0100
Date: 2007-03-13T18:23:52+01:00	[thread overview]
Message-ID: <10l92gksnkfjl$.1rhbr6sokrtjy.dlg@40tude.net> (raw)
In-Reply-To: 1173801854.505211.245650@64g2000cwx.googlegroups.com

On 13 Mar 2007 09:04:14 -0700, Adam Beneschan wrote:

> on the theory that using Sqrt is just a waste of cycles when you can
> just use integer arithmetic.  But I've been programming for way too
> long---long enough that I remember what a Hollerith card is

... and what was the Hollerith format of strings? (:-))

>---and I'm
> sure that doing a square-root doesn't take nearly as long as it used
> to, so there are probably some reasonable values of N for which
> computing the square-root first makes things more efficient than the
> repeated integer multiplications.  I don't know.  Use Sqrt if you want
> to.

(for very large number like in infinite arithmetic it could become an
issue)

BTW, the arithmetic complexity can be further "reduced" by removing
multiplication and computing k**2 using binomial decomposition
(k+1)*(k+1)=k*k+2*k+1. So it could be:

quadratic := 1; -- k*k, k=1
linear := 2; -- 2*k+1, k=1

loop
   linear := linear + 2; -- 2*k+1
   quadratic := quadratic + linear; -- k*k
   exit when k>=n;
   ...
end loop;

Whether this really would be any faster than multiplication or square root
computed once, God knows...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2007-03-13 17:23 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-12 15:07 Unsigned Integer Restraint Errors frikk
2007-03-12 16:27 ` Georg Bauhaus
2007-03-12 17:17 ` Adam Beneschan
2007-03-12 17:23 ` Adam Beneschan
2007-03-12 18:11   ` frikk
2007-03-12 20:00     ` frikk
2007-03-12 20:07       ` Adam Beneschan
2007-03-12 18:00 ` Dmitry A. Kazakov
2007-03-12 19:00   ` Martin Krischik
2007-03-12 21:13     ` Dmitry A. Kazakov
2007-03-12 19:13   ` frikk
2007-03-12 19:22     ` Randy Brukardt
2007-03-13  3:13       ` Jeffrey R. Carter
2007-03-13  3:00         ` Randy Brukardt
2007-03-13 12:09           ` frikk
2007-03-13 14:58             ` frikk
2007-03-13 15:31               ` frikk
2007-03-13 15:59                 ` Robert A Duff
2007-03-13 16:18                 ` Dmitry A. Kazakov
2007-03-13 16:21                 ` Jeffrey R. Carter
2007-03-13 16:04               ` Adam Beneschan
2007-03-13 16:41                 ` Adam Beneschan
2007-03-13 16:42                   ` Adam Beneschan
2007-03-14 14:06                     ` frikk
2007-03-13 17:23                 ` Dmitry A. Kazakov [this message]
2007-03-13 17:31                   ` Adam Beneschan
2007-03-14  0:54                   ` Jeffrey R. Carter
2007-03-16 13:38                   ` frikk
2007-03-13 16:16           ` Jeffrey R. Carter
2007-03-12 21:04     ` Dmitry A. Kazakov
replies disabled

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