diff options
Diffstat (limited to 'libguile/eq.c')
-rw-r--r-- | libguile/eq.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libguile/eq.c b/libguile/eq.c index 676df3ed1..06467c486 100644 --- a/libguile/eq.c +++ b/libguile/eq.c @@ -166,6 +166,16 @@ SCM_PRIMITIVE_GENERIC_1 (scm_equal_p, "equal?", scm_tc7_rpsubr, { default: break; + case scm_tc7_number: + switch SCM_TYP16 (x) + { + case scm_tc16_big: + return scm_bigequal (x, y); + case scm_tc16_real: + return scm_real_equalp (x, y); + case scm_tc16_complex: + return scm_complex_equalp (x, y); + } case scm_tc7_vector: case scm_tc7_wvect: return scm_vector_equal_p (x, y); |