summaryrefslogtreecommitdiff
path: root/ext/bcmath/libbcmath/FAQ
diff options
context:
space:
mode:
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 0000000..6499b1c
--- /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.
+