User:Hvthang

On this page I create some notes of my current interest work

Arbitrary-Precision Floating-Point Libraries (APFPL) GNU Multiple Precision Arithmetic Library (GMP) - Name: GMP - Authors: - Descriptions: GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. - Functions/Operations: o High-level floating-point arithmetic functions (mpf). This is the GMP function category to use if the C type `double' doesn't give enough precision for an application. There are about 65 functions in this category. o Number of bitwidths for exponent part is fixed: one machine word for most system o A mantissa of each float has a user-selectable precision and can be changed at any time. This is only limited by the amount of memory. - Publications: - License: Free - URL: http://gmplib.org/

MPFR - Name: MPFR - Authors: - Descriptions: o Extends the IEEE-754 standard, work for floating-point numbers, o Written in C language and mainly based on GNU MP library (GMP) o Provides correct rounding for all the operations and mathematical functions it implements o Data Representation:  The mantissa m is represented by an array of GMP “limbs” and ½ <= m < 1  DO NOT USE the implicit bit “1”, DO NOT ALLOW Subnormal  Precision = Bitwidth of the mantissa  MPFR_PREC_MIN < precision < MPFR_PREC_MAX  MPFR_PREC_MIN = 2; - Functions/Operations: o Basic operations: +, -, *, /, square root o Fused-multiply add: xy + z o Structure of a function F:  F(destination variables, input variables, rounding mode, ternary output) - Publications: o MPFR: A Multiple-Precision Binary Floating-Point Library With Correct Rounding - License: Free - URL: www.mpfr.org

    1. Some differences between GMP Library and MPFR could be read here:

http://www.mpfr.org/faq.html#mpfr_vs_mpf MP, A FORTRAN MULTIPLE-PRECISION ARITHMETIC PACKAGE - Name: MP - Authors: Richard P. Brent - Descriptions: o A collection of ANSI Standard Fortran subroutines for performing multiple-precision floating-point arithmetic and evaluating elementary and special functions is given. o The subroutines are machine independent and the precision is arbitrary, subject to storage limitation. - Functions/Operations: - Publications: [1] R. P. Brent, MP Users Guide (fourth edition), Report TR-CS-81-08, Department of Computer Science, ANU (June 1981), 73 pp. rpb035. [2] R. P. Brent, “A Fortran multiple-precision arithmetic package”, ACM Transactions on Mathematical Software 4 (1978), 57–70. CR 20#34962. rpb042. [3] R. P. Brent, “Algorithm 524: MP, a Fortran multiple-precision arithmetic package [A1]”, ACM Transactions on Mathematical Software 4 (1978), 71–81. rpb043. [4] R. P. Brent, “Remark on Algorithm 524”, ACM Transactions on Mathematical Software 5 (1979), 518–519. rpb043r. [5] R. P. Brent, “Unrestricted algorithms for elementary and special functions”, in Information Processing 80 (edited by S. H. Lavington), North-Holland, Amsterdam, 1980, 613–619. CR 22#38728, MR 81i:68009. rpb052. [6] R. P. Brent, J. A. Hooper and J. M. Yohe, “An Augment interface for Brent’s multiple-precision arithmetic package” ACM Transactions on Mathematical Software 6 (1980), 146–149. CR 21#36520, Zbl 433.68028. A longer version appeared as Technical Summary Report #1868, Mathematics Research Center, University of Wisconsin, Madison (August 1978), 26 pp. rpb054. - License: - URL:

mpmath - Name: mpmath - - Authors: - Descriptions: Mpmath is a pure-Python library for multiprecision floating-point arithmetic. It provides an extensive set of transcendental functions, unlimited exponent sizes, complex numbers, interval arithmetic, numerical integration and differentiation, root-finding, linear algebra, and much more. Almost any calculation can be performed just as well at 10-digit or 1000-digit precision, and in many cases mpmath implements asymptotically fast algorithms that scale well for extremely high precision work. If available, mpmath will (optionally) use gmpy to speed up high precision operations. - Functions/Operations: follow the URL - Publications: - License: YES - URL: http://code.google.com/p/mpmath/

FLIP: a Floating-point Library for Integer Processors (This library does not support arbitrary precision arithmetic operations, BUT it does implement floating-point arithmetic on Integer Processor, thus we could learn a lot about the way of representing and performing floating-point operations) - Name: FLIP - Authors: - Descriptions: o FLIP is a C library for the software support of single precision floating-point (FP) arithmetic on processors without FP hardware units such as VLIW (Very Large Instruction Word) or DSP (Digital Signal Processor) processor cores for embedded applications. o The target architecture is the ST200 family of high-performance low-power VLIW processor cores which are targeted at STMicroelectronics system on chips (SOC) solutions for use in computationally intensive applications as a host or an audio or video processor. Such applications include embedded systems in consumer, digital TV and telecommunication markets. - Functions/Operations: - Publications: o Follow the URL o Saurabh Kumar RAINA, “FLIP: A Floating-Point Library for Integer Processor”, PhD dissertation, September 12th 2006. www.ens-lyon.fr/LIP/Pub/Rapports/PhD/PhD2006/PhD2006-02.pdf - License: FLIP is distributed under LGPL - URL: http://www.ens-lyon.fr/LIP/Arenaire/Ware/FLIP/flip.htm


Some other useful link : - Arbitrary Precision Arithmetic on Wiki: http://en.wikipedia.org/wiki/Arbitrary_precision_arithmetic

- Some useful programs and libraries: http://www.ens-lyon.fr/LIP/Arenaire/Ware/

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.