mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00

This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
20 lines
900 B
Text
20 lines
900 B
Text
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.
|