<begin ObservationOnly>
also ...
sum=: 3 : 0
(_1{.t)++/}.y-t-_1|.t=.+/\y
)
a=:10000x*1000000x?.100000000x
b=:x:^:_1 a
+/a
500198955346960000
x: sum b
500198955346960000
x: +/b
500198955346944128
<end ObservationOnly>
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: "Programming forum" <[email protected]>
Sent: Thursday, June 01, 2006 3:13 AM
Subject: Re: [Jprogramming] Equal tolerance (A carpenter's viewpoint)
I sometimes had to compensate for cumulative tolerance(s) by using some
algo like the one described in:
"What Every Computer Scientist Should Know About Floating-Point
Arithmetic"
Where the iso-8859-1 algo is described. I translated (in a naive way) my
APL code to J and it gives:
sum=: 3 : 0
(_1{.t)++/}.y.-t-_1|.t=.+/\y.
)
I then built a vector of numbers like:
v=:1e6*1e6?1e8
then I applied the primitive +/ and the defined sum using x:
x: +/v
50080212263674585088
x: sum v
50080212263676002304
Then, something we can do in J I could not do in APL:
+/x: v
50080212263676000000
Conclusion: In 32 years, I had to use it once but it's nice to know...
Paul Gauthier
APL Software Developer - Senior
[EMAIL PROTECTED]
Phone: 312-739-3467
Fax: 312-739-3496
CheckFree. The Company that Powers Payment on the WebSM.
http://www.checkfree.com/paybillsonline
Eugene McDonnell <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
05/31/2006 11:34 AM
Please respond to
Programming forum <[email protected]>
To
Programming forum <[email protected]>
cc
Subject
Re: [Jprogramming] Equal tolerence
On May 31, 2006, at 9:01 AM, Ralph G Selfridge wrote:
The sort of crazy results you can get if tolerence is not
identically zero
is a squence of numbers, each of which 'equals' its neighbours but the
first and last are not equal.
Paul Berry tells this story:
In an early talk Ken was explaining the advantages of tolerant
comparison. A member of the audience asked incredulously, ?Surely you
don?t mean that when A=B and B=C, A may not equal C?? Without
skipping a beat, Ken replied, ?Any carpenter knows that!? and went on
to the next
question.----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm