comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Fun with Unbounded Rational Numbers
Date: Sat, 8 Apr 2017 12:37:43 +0200
Date: 2017-04-08T12:37:43+02:00	[thread overview]
Message-ID: <ocaec1$a0p$1@dont-email.me> (raw)

I decided to see what happens when you calculate square roots using Newton's 
method and the unbounded rational numbers in PragmARC.Rational_Numbers. Some 
interesting things happen.

For example, trying to calculate sqrt(2) to a small enough accuracy (0.000001 
will do it) results in the calculation of the next estimate

          M := Two * X;
          X := X - Y / M;

taking a Long Time (it does conclude eventually).

More alarming, though, is that for some values, even a fairly large accuracy 
will quickly result in Storage_Error. For example, sqrt(1.28) to an accuracy of 
0.01 will do it.

I realize that square roots are often irrational, but the accuracies seem so 
large that I didn't anticipate consuming GB of memory. Just naive, I guess.

-- 
Jeff Carter
"C++ is vast and dangerous, a sort of Mordor of
programming languages."
Jason R. Fruit
120


             reply	other threads:[~2017-04-08 10:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-08 10:37 Jeffrey R. Carter [this message]
2017-04-08 11:19 ` Fun with Unbounded Rational Numbers Dmitry A. Kazakov
2017-04-08 14:14 ` Robert Eachus
2017-04-09  0:30 ` antispam
2017-04-09  8:47   ` Jeffrey R. Carter
2017-04-09 19:25     ` antispam
2017-04-10 17:18       ` Jeffrey R. Carter
2017-04-11 21:39         ` antispam
2017-04-09  7:15 ` Paul Rubin
2017-04-09  8:56   ` Jeffrey R. Carter
2017-04-09 21:18     ` Paul Rubin
2017-04-10 17:08       ` Jeffrey R. Carter
2017-04-10 19:39         ` Paul Rubin
2017-04-09 10:05   ` Jeffrey R. Carter
replies disabled

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