fix handling of float/1 by indexing code.
This commit is contained in:
parent
c3fb089eeb
commit
1b66eba611
12
C/index.c
12
C/index.c
@ -3450,15 +3450,17 @@ install_clause(ClauseDef *cls, PredEntry *ap, istack_entry *stack)
|
|||||||
if (cls->u.t_ptr != sp->extra) break;
|
if (cls->u.t_ptr != sp->extra) break;
|
||||||
} else {
|
} else {
|
||||||
CELL *pt = RepAppl(sp->extra);
|
CELL *pt = RepAppl(sp->extra);
|
||||||
CELL *pt1 = RepAppl(cls->u.t_ptr);
|
if (cls->u.t_ptr) {
|
||||||
|
CELL *pt1 = RepAppl(cls->u.t_ptr);
|
||||||
#if SIZEOF_DOUBLE == 2*SIZEOF_LONG_INT
|
#if SIZEOF_DOUBLE == 2*SIZEOF_LONG_INT
|
||||||
Term t = MkIntTerm(pt[1]^pt[2]),
|
Term t = MkIntTerm(pt[1]^pt[2]),
|
||||||
t1 = MkIntTerm(pt1[1]^pt1[2]);
|
t1 = MkIntTerm(pt1[1]^pt1[2]);
|
||||||
#else
|
#else
|
||||||
Term t = MkIntTerm(pt[1]),
|
Term t = MkIntTerm(pt[1]),
|
||||||
t1 = MkIntTerm(pt1[1]);
|
t1 = MkIntTerm(pt1[1]);
|
||||||
#endif
|
#endif
|
||||||
if (t != t1) break;
|
if (t != t1) break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user