Revision b388d264642a99ec48c1064cce5bf8dca089a690 authored by Neven Sajko on 14 August 2023, 11:43:34 UTC, committed by GitHub on 14 August 2023, 11:43:34 UTC
MPFR determines special values according to sentinel values of the
exponent field. Although these constants are not documented (they're
defined in MPFR's `src/mpfr-impl.h`), they're already used in
`Base.MPFR` in the `BigFloat` inner constructor and for converting IEEE
754 FP types to `BigFloat`, so I guess it makes sense to avoid the
`ccall` overhead for predicates like `iszero` and `isnan`, too.

The context here is that I'm working on generic IEEE 754-`BigFloat`
conversion implementations that would work without using MPFR and
improve correctness (#50642) and performance, so this PR seems like the
obvious prerequisite for being able to use the Julian predicates like
`iszero` without calling libmpfr unnecessarily.
1 parent 5f03a18
History
File Mode Size
.devcontainer
.github
base
cli
contrib
deps
doc
etc
src
stdlib
test
.buildkite-external-version -rw-r--r-- 5 bytes
.clang-format -rw-r--r-- 3.3 KB
.clangd -rw-r--r-- 114 bytes
.codecov.yml -rw-r--r-- 52 bytes
.git-blame-ignore-revs -rw-r--r-- 371 bytes
.gitattributes -rw-r--r-- 65 bytes
.gitignore -rw-r--r-- 523 bytes
.mailmap -rw-r--r-- 12.7 KB
CITATION.bib -rw-r--r-- 513 bytes
CITATION.cff -rw-r--r-- 940 bytes
CONTRIBUTING.md -rw-r--r-- 23.4 KB
HISTORY.md -rw-r--r-- 370.0 KB
LICENSE.md -rw-r--r-- 1.3 KB
Make.inc -rw-r--r-- 55.3 KB
Makefile -rw-r--r-- 30.5 KB
NEWS.md -rw-r--r-- 1.4 KB
README.md -rw-r--r-- 7.3 KB
THIRDPARTY.md -rw-r--r-- 3.8 KB
VERSION -rw-r--r-- 11 bytes
julia.spdx.json -rw-r--r-- 35.8 KB
pkgimage.mk -rw-r--r-- 6.3 KB
sysimage.mk -rw-r--r-- 4.3 KB

README.md

back to top