+++ /dev/null
-New arithmetic procedures:
-
-- (sqrt1pm1 z) computes sqrt(1 + z) - 1, with low relative error even
- for values of z near zero
-- (rsqrt z) computes 1/sqrt(z)
-- (compound z w) computes (1 + z)^w, with low relative error even for
- values of z near zero
-- (compoundm1 z w) computes (1 + z)^w - 1, with low relative error even
- for values of z near zero
-
-Additionally, complex division avoids spurious overflow and underflow
-much more often.
-
-New floating-point procedures:
-
-- (flo:sqrt1pm1 x)
-- (flo:rsqrt x)
-- (flo:compound x y) -- note y must be a flonum, not an exact integer
-- (flo:compoundm1 x y)
+++ /dev/null
-Bug fix: Dumping a band no longer stores a copy of the process's
-environment variables.
+++ /dev/null
-Bug fix: The procedures log, exp, log1p, and expm1 now have better
-error bounds for complex inputs, and no longer overflow unnecessarily.
-
-(expm1 x+iy) is still bad when x ~ 0 and e^x cos y ~ 1 but it should be
-improved on much of the rest of the complex plane.
+++ /dev/null
-Fix build with musl libc.
-
-Work around problem with musl's declaration of environ in unistd.h,
-which causes gcc -Wredundant-decls warnings to reject the POSIX
-requirement that users declare `extern char **environ'.
+++ /dev/null
-Bug fix: The quoted-printable encoder correctly produces uppercase
-hexadecimal digits; a change in the default case of output in
-digit->char had caused it to erroneously produce lowercase hexadecimal
-digits in violation of RFC 2045.
+++ /dev/null
-Bug fix: sqrt no longer spuriously overflows on certain complex inputs.
-
-(However, it may still spuriously raise a floating-point overflow
-exception if an exact input, even if the resulting value is correct and
-exact.)
+++ /dev/null
-Bug fix: Microcode stack traces had been broken in the microcode v15
-merge in 2007. They now work again, and the C code that abused enums
-to store pointers, which broke the build with newer compilers, has been
-fixed to work differently.
+++ /dev/null
-New procedures for base-2 and base-10 exponentials and logarithms:
-
-- (exp2 z)
-- (exp10 z)
-- (exp2m1 z)
-- (exp10m1 z)
-- (log2 z)
-- (log10 z)
-- (log2p1 z)
-- (log10p1 z)
-
-Additionally, logp1 is added as an alias for log1p.
-
-These follow IEEE 754-2019, except that they are not necessarily
-correctly rounded.
+++ /dev/null
-The fix:lsh (to be read as `left shift') procedure now computes
-arithmetic shifts on all platforms. Previously, for negative shift
-amounts, it would sometimes compute logical right shifts relative to
-the number of bits in a fixnum.
-
-See
-https://lists.gnu.org/archive/html/mit-scheme-devel/2020-10/msg00000.html
-for historical details.
+++ /dev/null
-No part of MIT Scheme depends on OpenSSL any more.
+++ /dev/null
-The merge-sort, merge-sort!, quick-sort, and quick-sort! procedures, as
-well as the sort and sort! aliases for merge sort, now accept an
-optional parameter for a procedure to map an element to a sorting key.
-
-Example:
-
-(merge-sort '((123 . value0) (456 . value1) (78 . value2)) < car)
-;Value: ((78 . value2) (123 . value0) (456 . value1))
\ No newline at end of file
+++ /dev/null
-- New procedures sin-pi*, cos-pi*, tan-pi*, asin/pi, cos/pi, atan/pi.
-
- These compute the standard trigonometric functions in units of
- half-revolutions rather than radians.
-
-- New procedures versin, exsec, aversin, aexsec.
-
- These compute the historical trigonometric functions
-
- versin z = 1 - cos z
- exsec z = (1 - cos z)/cos z,
-
- which are useful because they are well-conditioned near zero unlike
- cosine, and as such were used in many historical trigonometric
- computations and tables. (In contrast, the other trigonometric
- torments like secant and hacovercosine and excosecant aren't terribly
- useful.)
-
-- New procedures versin-pi*, exsec-pi*, aversin/pi, aexsec/pi.
-
- These are like versin and exsec but in units of half-revolutions
- rather than radians.