Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] MPFR and MPC on Base #2814

Merged
merged 31 commits into from
May 3, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
4acb40c
Basic support for building the MPFR
andrioni Apr 10, 2013
9853f7f
Add more mentions to the MPFR on the build system and documentation
andrioni Apr 10, 2013
6762def
Add mpc to the build system and basic documentation
andrioni Apr 10, 2013
e0ec409
Add MPC and MPFR to Base
andrioni Apr 10, 2013
f48a16a
Change BigInt to use a precise mpz_struct
andrioni Apr 11, 2013
5142d1d
Install libmpfr-dev and libmpc-dev packages explicitly
andrioni Apr 11, 2013
f88a640
Update MPFRFloat to use a precise sized mpfr_struct
andrioni Apr 11, 2013
94ba263
Change default precision of MPFRFloat to 256 bits
andrioni Apr 11, 2013
9bff273
Rename precision-related functions and add them to Float32 and Float64
andrioni Apr 13, 2013
4309078
Update MPCComplex to use a precise mpc_struct
andrioni Apr 13, 2013
cd20424
Flexibilize the ROUNDING_MODE for MPCComplex numbers
andrioni Apr 13, 2013
2d23952
Convert methods for other common complex types available
andrioni Apr 13, 2013
38392cd
Use more efficient addition/subtraction/multiplication for ints/uints
andrioni Apr 14, 2013
d458148
Scrap mpz_struct, as suggested by Jeff
andrioni Apr 21, 2013
d23657c
Fix ccall type issues in bigint.jl, according to #2901
andrioni Apr 21, 2013
1ee273e
Inline MPFRFloat structure and refactor it into a non-parametric type
andrioni Apr 22, 2013
577b307
Fix ccall type signatures in mpfr.jl, according to #2901
andrioni Apr 22, 2013
3bead72
Fix the BigInt basic arithmetic issues
andrioni Apr 22, 2013
9a00d5a
Implement efficient basic arithmetic for signed/unsigned/float/BigInt…
andrioni Apr 22, 2013
b25a36e
Add hypot function
andrioni Apr 22, 2013
ba9a8d4
Inline MPCComplex structure and refactor it into a non-parametric type
andrioni Apr 23, 2013
07346b0
Add copy function to MPCComplex
andrioni Apr 25, 2013
8b33832
Change default precision of MPCComplex to 256-256
andrioni Apr 26, 2013
28328d0
Add exp, log, trigonometric functions and @simonbyrne's test suite
andrioni Apr 26, 2013
1b9ba27
Add conjugate function to MPCComplex
andrioni Apr 26, 2013
4a01f1b
Add ldexp and atan2 functions to MPFRFloat
andrioni Apr 26, 2013
22e6f36
Fix Makefile after rebase
andrioni May 3, 2013
bec3c4f
Basic rounding control available for MPFRFloat
andrioni May 3, 2013
0eca14e
Finally rename MPFRFloat to BigFloat and remove the old code
andrioni May 3, 2013
728a1f5
Remove all mentions to MPC, as it was decided to scrap it
andrioni May 3, 2013
be7b6c9
Remove MPC version
andrioni May 3, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ compiler:
notifications:
email: false
before_install:
- BUILDOPTS="LLVM_CONFIG=llvm-config-3.2 USE_QUIET=0 USE_LIB64=0"; for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP PCRE LIBUNWIND READLINE GRISU OPENLIBM RMATH LIBUV; do export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done
- BUILDOPTS="LLVM_CONFIG=llvm-config-3.2 USE_QUIET=0 USE_LIB64=0"; for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND READLINE GRISU OPENLIBM RMATH LIBUV; do export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done
- sudo apt-get update -qq -y
- sudo apt-get install zlib1g-dev
- sudo add-apt-repository ppa:staticfloat/julia-deps -y
- sudo apt-get update -qq -y
- sudo apt-get install patchelf gfortran llvm-3.2-dev libsuitesparse-dev libncurses5-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libunwind7-dev libreadline-dev libdouble-conversion-dev libopenlibm-dev librmath-dev libuv-julia-dev -y
- sudo apt-get install patchelf gfortran llvm-3.2-dev libsuitesparse-dev libncurses5-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libunwind7-dev libreadline-dev libdouble-conversion-dev libopenlibm-dev librmath-dev libuv-julia-dev libmpfr-dev -y
script:
- make $BUILDOPTS PREFIX=/tmp/julia install
- cd .. && mv julia julia2
Expand Down
1 change: 1 addition & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ External libraries, if used, include their own licenses:
- [LAPACK](http://netlib.org/lapack/LICENSE.txt)
- [LIBUNWIND](http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master)
- [LLVM](http://llvm.org/releases/3.0/LICENSE.TXT)
- [MPFR](http://www.mpfr.org/mpfr-current/mpfr.html#Copying)
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE)
- [PCRE](http://www.pcre.org/licence.txt)
- [READLINE](http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
Expand Down
1 change: 1 addition & 0 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ USE_SYSTEM_BLAS=0
USE_SYSTEM_LAPACK=0
USE_SYSTEM_FFTW=0
USE_SYSTEM_GMP=0
USE_SYSTEM_MPFR=0
USE_SYSTEM_ARPACK=0
USE_SYSTEM_SUITESPARSE=0
USE_SYSTEM_ZLIB=0
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ JL_PRIVATE_LIBS = amd arpack camd ccolamd cholmod colamd \
fftw3 fftw3f fftw3_threads fftw3f_threads \
gmp grisu openlibm openlibm-extras pcre \
random Rmath spqr suitesparse_wrapper \
umfpack z openblas
umfpack z openblas mpfr

PREFIX ?= julia-$(JULIA_COMMIT)
install:
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ Julia uses the following external libraries, which are automatically downloaded
- **[FFTW]** — library for computing fast Fourier transforms very quickly and efficiently.
- **[PCRE]** — Perl-compatible regular expressions library.
- **[GMP]** — the GNU multiple precision arithmetic library, needed for bigint support.
- **[MPFR]** — the GNU multiple precision floating point library, needed for arbitrary precision floating point support.
- **[double-conversion]** — efficient number-to-text conversion.
- **[Rmath]** — basic RNGs and distributions.

Expand Down Expand Up @@ -179,6 +180,7 @@ Julia uses the following external libraries, which are automatically downloaded
[FemtoLisp]: https://github.com/JeffBezanson/femtolisp
[readline]: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
[GMP]: http://gmplib.org/
[MPFR]: http://www.mpfr.org/
[double-conversion]: http://double-conversion.googlecode.com/
[Rmath]: http://cran.r-project.org/doc/manuals/R-admin.html#The-standalone-Rmath-library
[libuv]: https://github.com/JuliaLang/libuv
Expand Down
133 changes: 0 additions & 133 deletions base/bigfloat.jl

This file was deleted.

Loading