summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@Penguin.CS.UCLA.EDU>2018-07-20 13:55:12 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2018-07-20 13:56:00 -0700
commit2c242cb1a2956ecfa894d0110b837d4ecc43a69c (patch)
treef3b78d34d10e795f3e8493ebc58bb5f3503319ca /src
parentde66bfd0f22f0464d8670de9002796192bdc24e3 (diff)
downloademacs-2c242cb1a2956ecfa894d0110b837d4ecc43a69c.tar.gz
* src/fns.c (Feql, Fequal): Improve floating-point doc.
Diffstat (limited to 'src')
-rw-r--r--src/fns.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/fns.c b/src/fns.c
index 7d120a90f78..e7424c34718 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -2193,8 +2193,10 @@ The PLIST is modified by side effects. */)
}
DEFUN ("eql", Feql, Seql, 2, 2, 0,
- doc: /* Return t if the two args are the same Lisp object.
-Floating-point numbers of equal value are `eql', but they may not be `eq'. */)
+ doc: /* Return t if the two args are `eq' or are indistinguishable numbers.
+Floating-point values with the same sign, exponent and fraction are `eql'.
+This differs from numeric comparison: (eql 0.0 -0.0) returns nil and
+\(eql 0.0e+NaN 0.0e+NaN) returns t, whereas `=' does the opposite. */)
(Lisp_Object obj1, Lisp_Object obj2)
{
if (FLOATP (obj1))
@@ -2208,8 +2210,8 @@ DEFUN ("equal", Fequal, Sequal, 2, 2, 0,
They must have the same data type.
Conses are compared by comparing the cars and the cdrs.
Vectors and strings are compared element by element.
-Numbers are compared by value, but integers cannot equal floats.
- (Use `=' if you want integers and floats to be able to be equal.)
+Numbers are compared via `eql', so integers do not equal floats.
+\(Use `=' if you want integers and floats to be able to be equal.)
Symbols must match exactly. */)
(Lisp_Object o1, Lisp_Object o2)
{