[hackers] Re: x86-64 support

Harti Brandt brandt at fokus.fraunhofer.de
Tue Apr 29 07:38:58 PDT 2003


On Tue, 29 Apr 2003, David Gilbert wrote:

DG>>>>>> "Oliver" == Oliver Fromme <olli at secnetix.de> writes:
DG>
DG>Oliver> Narvi <narvi at haldjas.folklore.ee> wrote:
DG>>> On Sat, 26 Apr 2003, M. Warner Losh wrote: > In message:
DG>>> <20030427064014.H40030-100000 at haldjas.folklore.ee> > Narvi
DG>>> <narvi at haldjas.folklore.ee> writes: > : option USE_PI_DIGITS 100
DG>>> >
DG>>> > Only if you could implement it with integer math :-)
DG>>>
DG>>> where's the problem in that ? most mp libs use integer arithmetic,
DG>>> and x86-64 gives you 64x64->128 bit widening multiplies 8-)
DG>
DG>Oliver> You don't need that; the digits of pi can be calculated quite
DG>Oliver> easily with integer math.  This snippet is from my signature
DG>Oliver> collection:
DG>
DG>Oliver> int f[9800],b,c=9814,g,i;long
DG>Oliver> a=1e4,d,e,h;main(){for(;b=c,c-=14;i=printf(
DG>Oliver> "%04d",e+d/a),e=d%a)while(g=--b*2)d=h*b+a*(i?f[b]:a/5),h=d/--g,f[b]=d%g;}
DG>
DG>With gcc -o pi pi.c, the output is:
DG>
DG>[2:19:319]dgilbert at canoe:~/devel> ./pi
DG>187700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
DG>
DG>and so on.  All Zeros.
DG>
DG>With gcc -O -o pi pi.c, the output is:
DG>
DG>[2:21:321]dgilbert at canoe:~/devel> ./pi
DG>501859265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316
DG>
DG>... and so on for many digits.  Neither matches:
DG>
DG>echo "scale=200; 4*a(1)" | bc -l
DG>3.141592653589793238462643383279502884197169399375105820974944592307\
DG>81640628620899862803482534211706798214808651328230664709384460955058\
DG>223172535940812848111745028410270193852110555964462294895493038196

If you look careful only the first four digits don't match.

harti
-- 
harti brandt,
http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private
brandt at fokus.fraunhofer.de, harti at freebsd.org


More information about the freebsd-hackers mailing list