Lines Matching refs:tx
127 p_succ(value x, type tx, value y, type ty)
131 if (!(IsRef(tx) || IsNumber(tx))) { Bip_Error(ARITH_TYPE_ERROR) }
132 if (NonIntNum(tx)) { Bip_Error(TYPE_ERROR) }
137 if (IsInteger(tx))
148 else if (IsRef(tx))
155 Return_Numeric(x, tx, result);
159 return unary_arith_op(y, ty, x, tx, ARITH_PREV, TINT);
162 return unary_arith_op(x, tx, y, ty, ARITH_NEXT, TINT);
167 p_plus(value x, type tx, value y, type ty, value z, type tz)
169 if (IsRef(tx))
182 Return_Unify_Integer(x, tx, z.nint - y.nint);
191 else if (IsInteger(tx) && IsInteger(tz))
197 else if (IsInteger(tx) && IsInteger(ty) && (IsRef(tz) || IsInteger(tz)))
203 if (NonIntNum(tx) || NonIntNum(ty) || NonIntNum(tz))
205 else if (!IsNumber(tx) || !IsNumber(ty) || !IsNumber(tz))
207 else if (IsBignum(tx) || !IsBignum(ty) || !IsBignum(tz))
215 p_times(value x, type tx, value y, type ty, value z, type tz)
217 if ((IsRef(tx) || IsInteger(tx)) &&
221 if (IsRef(tx))
227 Return_Unify_Integer(x, tx, 0)
240 Return_Unify_Pw(z, tz, x, tx)
247 return _reverse_times(z.nint, y.nint, x, tx);
280 if (NonIntNum(tx) || NonIntNum(ty) || NonIntNum(tz))
282 else if (!IsNumber(tx) || !IsNumber(ty) || !IsNumber(tz))
284 else if (IsBignum(tx) || !IsBignum(ty) || !IsBignum(tz))