Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #6877

Re: higher precision doubles

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!.POSTED!not-for-mail
From BGB <cr88192@hotmail.com>
Newsgroups comp.lang.java.programmer
Subject Re: higher precision doubles
Date Mon, 08 Aug 2011 13:49:58 -0700
Organization albasani.net
Lines 53
Message-ID <j1pif0$lr4$1@news.albasani.net> (permalink)
References <j1hqc1$1ch$1@news.albasani.net> <strictfp-20110806003831@ram.dialup.fu-berlin.de> <j1k4db$1n2$1@news.albasani.net> <j1k87t$kol$1@dont-email.me> <j1kb73$h3p$1@news.albasani.net> <j1kg3g$61c$1@dont-email.me> <j1kheh$ta4$1@news.albasani.net> <GMCdnfvkB6IaUaDTnZ2dnUVZ_omdnZ2d@earthlink.com> <j1kj1j$be$1@news.albasani.net> <t8idnWDwz_v8iKPTnZ2dnUVZ_gCdnZ2d@earthlink.com> <j1manb$2lu$1@news.albasani.net> <nOednS4yGv5WIaPTnZ2dnUVZ_gqdnZ2d@earthlink.com> <j1momo$34q$1@news.albasani.net> <j1nbr7$h7r$1@dont-email.me> <j1o1sk$427$1@news.albasani.net>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
X-Trace news.albasani.net N3RhfiA7CEViQObM29Qh0fkfDpFBFe19SBoLkTlRahhyn+yFE15jj81tKdyo3CorzqkvU3uakamXHIwX17q787NOUXy6MxaM2vb12qX451c3a4tKxMpxW073xLXRMiDr
NNTP-Posting-Date Mon, 8 Aug 2011 20:54:56 +0000 (UTC)
Injection-Info news.albasani.net; logging-data="tLMD6524YZ4dHVqnKzORgEJSN9eUpAtWT5voFoN4OniLqAVl7BWiRZMdUTSj8gk+wzBdXFUwbuIwabTZdASVeR8GduBeWdAn9PjM+SK7CPzg3yY2HeIjLRkt1wSv05LE"; mail-complaints-to="abuse@albasani.net"
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0
In-Reply-To <j1o1sk$427$1@news.albasani.net>
Cancel-Lock sha1:hsNTeMzqLhnFf5I63f3vdKPv0jc=
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:6877

Show key headers only | View raw


On 8/8/2011 12:05 AM, Jan Burse wrote:
> Eric Sosman schrieb:
>>> I would like for whatever reason work with 80bit
>>> floats as defined above in Java. I am interested
>>> in the full set of arithmetic functions, I/O and
>>> trigonometric functions. How could I do that?
>>
>> You have already said "So pointing me to JLS is like turning
>> cycles, only confirming that Java has only float and double." That
>> is, the JLS has already given you an answer -- but you don't like
>> the answer, and keep asking for a different one. Do you really
>> think your persistent rejection of "No" is productive?
>
>
> You are the first one that says "no". One could of
> course do something along the following lines:
>
> public class DoubleExt {
> private long mantissa;
> private short exponent;
> }
>
> And then make a package that interfaces with some
> of the known C libs for 80bit floats.
>
> But would this be considered the best practice?
>


actually, if you really want 80-bit floats in Java, you can use the 
above as a starting point (just add a boolean or similar for the sign), 
and proceed to implement the rest directly in Java (calling into C would 
also work, and probably be more efficient, but JNI or JNA add their own 
levels of pain, among other issues...).

addition and subtraction are mostly just shifting and adding and similar 
(some fudging required).

multiplication is mostly doing a 128-bit integer multiply and discarding 
the low 64 bits, adding the exponents. there are ways to "cheat" 
(avoiding performing a 128-bit multiply) but these cost accuracy (some 
fudging required, as the output of z=1.x*1.y is in the range of 1<=z<4).

division is mostly calculating the reciprocal of the second value, and 
multiplying the first by this (can be done using Newton's Method).

square root is, again, Newton's Method.

the trigonometric functions can, in turn, be implemented using the 
Taylor Series (building on the former arithmetic operators).

yes, these operations are not exactly necessarily "fast"...

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-06 00:20 +0200
  Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-06 03:35 -0700
    Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-06 13:03 +0200
      Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-06 12:20 -0700
        Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-06 23:30 +0200
          Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-06 16:12 -0700
            Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 01:35 +0200
              Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-06 19:26 -0700
    Re: higher precision doubles supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-08-09 00:42 -0400
      Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-09 04:07 -0700
        Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-09 14:00 +0200
          Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-09 09:07 -0700
            Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-10 08:50 +0200
        Re: higher precision doubles supercalifragilisticexpialadiamaticonormalizeringelimatisticantations <supercalifragilisticexpialadiamaticonormalizeringelimatisticantations@averylongandannoyingdomainname.com> - 2011-08-10 20:16 -0400
      Re: higher precision doubles Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-08-09 10:11 -0500
        Re: higher precision doubles Arne Vajhøj <arne@vajhoej.dk> - 2011-08-09 22:40 -0400
          Re: higher precision doubles Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-08-09 22:06 -0500
            Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-10 08:53 -0700
  Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-06 21:24 +0200
    Re: higher precision doubles markspace <-@.> - 2011-08-06 13:29 -0700
      Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-06 23:20 +0200
        Re: higher precision doubles markspace <-@.> - 2011-08-06 15:43 -0700
          Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 01:06 +0200
            Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-06 16:21 -0700
              Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 01:34 +0200
                Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-06 21:32 -0700
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 17:24 +0200
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 17:39 +0200
                Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-07 09:26 -0700
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 21:23 +0200
                Re: higher precision doubles Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-08-07 20:48 -0400
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-08 09:05 +0200
                Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-08 05:37 -0700
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-08 19:08 +0200
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-08 19:16 +0200
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-08 19:29 +0200
                Re: higher precision doubles Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-08-08 21:34 -0500
                Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-08 13:49 -0700
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-09 01:08 +0200
                Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-09 02:44 -0700
                Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-09 12:52 +0200
                Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-09 13:15 -0700
                Re: higher precision doubles BGB <cr88192@hotmail.com> - 2011-08-07 13:51 -0700
              Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 01:59 +0200
        Re: higher precision doubles Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-08-08 21:03 -0500
    Re: higher precision doubles Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-08-06 17:33 -0400
    Re: higher precision doubles Patricia Shanahan <pats@acm.org> - 2011-08-06 14:51 -0700
      Re: higher precision doubles Jan Burse <janburse@fastmail.fm> - 2011-08-07 00:57 +0200

csiph-web