This package will not be updated for Julia 1.0 / 0.7. It is recommended to use DoubleFloats.jl instead.
HigherPrecision defines the following subtypes of
DoubleFloat64- A 128 bit number type with around 30 digits of precision.
These types are intended as a drop-in replacement for
Besides the basic arithmetic functions the following mathematical functions are defined:
Basic arithmetic operations are significantly faster than
BigFloat, but the above
mathematical functions can be slower than the corresponding
BigFloat methods. In general
this still should yield a significant performance boost.
This library needs FMA instructions. If your processor supports these, you probably still need to rebuild your Julia system image. This can be done as follows
If you are on Windows you need to run the following code first
Pkg.add("WinRPM"); WinRPM.install("gcc", yes=true) WinRPM.install("winpthreads-devel", yes=true)
# Simply convert an irrational number to a DoubleFloat64 double_π = DoubleFloat64(π) # y is again a DoubleFloat64 y = rand() * double_π # You can also create a DoubleFloat64 from a Float64 x = DoubleFloat64(0.42) # And use the usual functions sin(x * y)
This library is a port of the QD library from Yozo Hida (U.C. Berkeley), Xiaoye S. Li (Lawrence Berkeley National Lab) and David H. Bailey (Lawrence Berkeley National Lab) from C++ to Julia. See COPYING for the original modified BSD license. Also see this paper for some background informations.