| 4977 | } |
| 4978 | |
| 4979 | txBoolean fxToNumericIntegerBinary(txMachine* the, txSlot* a, txSlot* b, txBigIntBinary op) |
| 4980 | { |
| 4981 | txBoolean ra = fxToNumericInteger(the, a); |
| 4982 | txBoolean rb = fxToNumericInteger(the, b); |
| 4983 | if (ra) { |
| 4984 | if (rb) |
| 4985 | return 1; |
| 4986 | mxTypeError("cannot coerce left operand to bigint"); |
| 4987 | } |
| 4988 | else if (rb) |
| 4989 | mxTypeError("cannot coerce right operand to bigint"); |
| 4990 | a->value.bigint = *(*op)(the, C_NULL, &a->value.bigint, &b->value.bigint); |
| 4991 | a->kind = XS_BIGINT_KIND; |
| 4992 | the->stack = b; |
| 4993 | return 0; |
| 4994 | } |
| 4995 | |
| 4996 | txBoolean fxToNumericNumber(txMachine* the, txSlot* theSlot) |
| 4997 | { |
no test coverage detected