mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Szabolcs Nagy <nsz@port70.net>
To: musl@lists.openwall.com
Cc: ardi <ardillasdelmonte@gmail.com>
Subject: Re: Looking for a libm suitable for float128 (using softfloat or softfp)
Date: Sat, 31 Aug 2019 14:25:01 +0200	[thread overview]
Message-ID: <20190831122500.GS22009@port70.net> (raw)
In-Reply-To: <CA+fZqCXeq0=j9ik7MaaFhjOCuq7x_4WSTaN4cf5YUFiDKuXytg@mail.gmail.com>

* ardi <ardillasdelmonte@gmail.com> [2019-08-31 13:33:48 +0200]:
> I'm looking for a software implementation of libm that can deal with
> the IEEE float128 (float128 as implemented by either the John Hauser's
> softfloat or Fabrice Bellard's softfp libraries).

i think you just want an ieee-754 binary128 libm.

whether the underlying hw has instructions for it or they
are software emulated are not hugely relevant.

(some functions can be implemented more efficiently if you
know there are no fp units, but then usually you would not
use the ieee elementary operations either, e.g. doing plain
int arithmetics can be faster than using a soft fp lib)

> Looking at the musl source in src/math it certainly implements long
> double versions of all libm functions, and it seems that the source
> code makes checks to confirm whether to use the Intel 80bit long
> double, or a 128bit long double, so, at first glance I think musl
> could be a great choice for this task.
> 
> But I'm wondering if I can rely on the 128bit implementations at
> src/math, or if this is untested code.

you can rely on it when there is actual implementation, but
many functions are missing (or just dummy functions calling
the double prec version)

> 
> BTW, yes, I know there's libquadmath, but it's LGPL and I'd prefer to
> avoid it because sometimes I need static linking.
> 
> Would you recommend me to use musl for this, or would you advice to
> use other alternatives?

i don't know of opensource 128bit complete libm implementation
other than the code in glibc (lgpl), but there are arbitrary
precision libraries and they may be good enough if you only
need software implementation anyway.

i think http://arblib.org/ (lgpl) has quite complete coverage
of math functions and should be no more than 2-3x slower than
soft fp code optimized for 128bit floats (mpfr is slower than
that).


  reply	other threads:[~2019-08-31 12:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-31 11:33 ardi
2019-08-31 12:25 ` Szabolcs Nagy [this message]
2019-08-31 12:25 ` Pascal Cuoq

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190831122500.GS22009@port70.net \
    --to=nsz@port70.net \
    --cc=ardillasdelmonte@gmail.com \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).