fix bad local point (3m problem)
svn: r1437
This commit is contained in:
parent
c7ee74b421
commit
9c06c927c4
|
@ -156,11 +156,22 @@ int scheme_eqv (Scheme_Object *obj1, Scheme_Object *obj2)
|
|||
# ifdef NAN_EQUALS_ANYTHING
|
||||
if (MZ_IS_NAN(b))
|
||||
return 0;
|
||||
else
|
||||
else {
|
||||
if (a == 0.0) {
|
||||
if (b == 0.0) {
|
||||
return scheme_minus_zero_p(a) == scheme_minus_zero_p(b);
|
||||
}
|
||||
}
|
||||
return (a == b);
|
||||
}
|
||||
# else
|
||||
return 0;
|
||||
}
|
||||
if (a == 0.0) {
|
||||
if (b == 0.0) {
|
||||
return scheme_minus_zero_p(a) == scheme_minus_zero_p(b);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
# endif
|
||||
#endif
|
||||
|
@ -182,13 +193,24 @@ int scheme_eqv (Scheme_Object *obj1, Scheme_Object *obj2)
|
|||
# ifdef NAN_EQUALS_ANYTHING
|
||||
if (MZ_IS_NAN(b))
|
||||
return 0;
|
||||
else
|
||||
else {
|
||||
if (a == 0.0) {
|
||||
if (b == 0.0) {
|
||||
return scheme_minus_zero_p(a) == scheme_minus_zero_p(b);
|
||||
}
|
||||
}
|
||||
return (a == b);
|
||||
}
|
||||
# else
|
||||
return 0;
|
||||
}
|
||||
# endif
|
||||
if (a == 0.0) {
|
||||
if (b == 0.0) {
|
||||
return scheme_minus_zero_p(a) == scheme_minus_zero_p(b);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
# endif
|
||||
} else if (t1 == scheme_bignum_type)
|
||||
return scheme_bignum_eq(obj1, obj2);
|
||||
else if (t1 == scheme_rational_type)
|
||||
|
|
|
@ -3986,14 +3986,13 @@ static Scheme_Object *write_case_lambda(Scheme_Object *obj)
|
|||
{
|
||||
Scheme_Case_Lambda *cl = (Scheme_Case_Lambda *)obj;
|
||||
int i;
|
||||
Scheme_Object **a, *l;
|
||||
Scheme_Object *l;
|
||||
|
||||
i = cl->count;
|
||||
a = cl->array;
|
||||
|
||||
l = scheme_null;
|
||||
for (; i--; ) {
|
||||
l = cons(a[i], l);
|
||||
l = cons(cl->array[i], l);
|
||||
}
|
||||
|
||||
return cons((cl->name ? cl->name : scheme_null),
|
||||
|
|
Loading…
Reference in New Issue
Block a user