summaryrefslogtreecommitdiff
path: root/ext/bcmath/libbcmath/FAQ
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-11-22 20:20:02 +0000
committerZeev Suraski <zeev@php.net>2000-11-22 20:20:02 +0000
commitc476bce2f1493f46b7bdd1932255a43ae2c7fe44 (patch)
tree551268ab8c74fe5042ca6a7dfe85458786bf1431 /ext/bcmath/libbcmath/FAQ
parentbe6ab204158c836b10e1f586059462807288e2e3 (diff)
downloadphp-git-c476bce2f1493f46b7bdd1932255a43ae2c7fe44.tar.gz
At long last, import the bcmath library, by Phil Nelson
Diffstat (limited to 'ext/bcmath/libbcmath/FAQ')
-rw-r--r--ext/bcmath/libbcmath/FAQ21
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/bcmath/libbcmath/FAQ b/ext/bcmath/libbcmath/FAQ
new file mode 100644
index 0000000000..6499b1cffb
--- /dev/null
+++ b/ext/bcmath/libbcmath/FAQ
@@ -0,0 +1,21 @@
+BCMATH FAQ:
+
+1) Why BCMATH?
+
+The math routines of GNU bc become more generally useful in a
+library form. By separating the BCMATH library from GNU bc,
+GNU bc can be under the GPL and BCMATH can be under the LGPL.
+
+2) Why BCMATH when GMP exists?
+
+GMP has "integers" (no digits after a decimal), "rational numbers"
+(stored as 2 integers) and "floats". None of these will correctly
+represent a POSIX BC number. Floats are the closest, but will not
+behave correctly for many computations. For example, BC numbers have
+a "scale" that represent the number of digits to represent after the
+decimal point. The multiplying two of these numbers requires one to
+calculate an exact number of digits after the decimal point regardless
+of the number of digits in the integer part. GMP floats have a
+"fixed, but arbitrary" mantissa and so multiplying two floats will end
+up dropping digits BC must calculate.
+