Lines Matching refs:op1
2274 cmp_real_real(n_real *op1, n_real *op2)
2276 switch (RTYPE(op1)) {
2280 return (cmp_fi_fi(RFI(op1), RFI(op2)));
2282 return (cmp_fi_bi(RFI(op1), RBI(op2)));
2284 return (cmp_flonum((double)RFI(op1), RFF(op2)));
2286 return (cmp_fi_fr(RFI(op1), RFRN(op2), RFRD(op2)));
2288 return (cmp_fi_br(RFI(op1), RBR(op2)));
2294 return (cmp_bi_fi(RBI(op1), RFI(op2)));
2296 return (cmp_bi_bi(RBI(op1), RBI(op2)));
2298 return (cmp_flonum(bi_getd(RBI(op1)), RFF(op2)));
2300 return (cmp_bi_fr(RBI(op1), RFRN(op2), RFRD(op2)));
2302 return (cmp_bi_br(RBI(op1), RBR(op2)));
2308 return (cmp_flonum(RFF(op1), (double)RFI(op2)));
2310 return (cmp_flonum(RFF(op1), bi_getd(RBI(op2))));
2312 return (cmp_flonum(RFF(op1), RFF(op2)));
2314 return (cmp_flonum(RFF(op1),
2317 return (cmp_flonum(RFF(op1), br_getd(RBR(op2))));
2323 return (cmp_fr_fi(RFRN(op1), RFRD(op1), RFI(op2)));
2325 return (cmp_fr_bi(RFRN(op1), RFRD(op1), RBI(op2)));
2327 return (cmp_flonum((double)RFRN(op1) / (double)RFRD(op1),
2330 return (cmp_fr_fr(RFRN(op1), RFRD(op1),
2333 return (cmp_fr_br(RFRN(op1), RFRD(op1), RBR(op2)));
2339 return (cmp_br_fi(RBR(op1), RFI(op2)));
2341 return (cmp_br_bi(RBR(op1), RBI(op2)));
2343 return (cmp_flonum(br_getd(RBR(op1)), RFF(op2)));
2345 return (cmp_br_fr(RBR(op1), RFRN(op2), RFRD(op2)));
2347 return (cmp_br_br(RBR(op1), RBR(op2)));
2355 cmp_real_object(n_real *op1, LispObj *op2)
2359 switch (RTYPE(op1)) {
2361 return (cmp_fi_fi(RFI(op1), OFI(op2)));
2363 return (cmp_bi_fi(RBI(op1), OFI(op2)));
2365 return (cmp_flonum(RFF(op1), (double)OFI(op2)));
2367 return (cmp_fr_fi(RFRD(op1), RFRN(op1), OFI(op2)));
2369 return (cmp_br_fi(RBR(op1), OFI(op2)));
2373 switch (RTYPE(op1)) {
2375 return (cmp_fi_fi(RFI(op1), OII(op2)));
2377 return (cmp_bi_fi(RBI(op1), OII(op2)));
2379 return (cmp_flonum(RFF(op1), (double)OII(op2)));
2381 return (cmp_fr_fi(RFRD(op1), RFRN(op1), OII(op2)));
2383 return (cmp_br_fi(RBR(op1), OII(op2)));
2387 switch (RTYPE(op1)) {
2389 return (cmp_fi_bi(RFI(op1), OBI(op2)));
2391 return (cmp_bi_bi(RBI(op1), OBI(op2)));
2393 return (cmp_flonum(RFF(op1), bi_getd(OBI(op2))));
2395 return (cmp_fr_bi(RFRD(op1), RFRN(op1), OBI(op2)));
2397 return (cmp_br_bi(RBR(op1), OBI(op2)));
2401 switch (RTYPE(op1)) {
2403 return (cmp_flonum((double)RFI(op1), ODF(op2)));
2405 return (cmp_flonum(bi_getd(RBI(op1)), ODF(op2)));
2407 return (cmp_flonum(RFF(op1), ODF(op2)));
2409 return (cmp_flonum((double)RFRN(op1) / (double)RFRD(op1),
2412 return (cmp_flonum(br_getd(RBR(op1)), ODF(op2)));
2416 switch (RTYPE(op1)) {
2418 return (cmp_fi_fr(RFI(op1), OFRN(op2), OFRD(op2)));
2420 return (cmp_bi_fr(RBI(op1), OFRN(op2), OFRD(op2)));
2422 return (cmp_flonum(RFF(op1),
2425 return (cmp_fr_fr(RFRN(op1), RFRD(op1),
2428 return (cmp_br_fr(RBR(op1), OFRN(op2), OFRD(op2)));
2432 switch (RTYPE(op1)) {
2434 return (cmp_fi_br(RFI(op1), OBR(op2)));
2436 return (cmp_bi_br(RBI(op1), OBR(op2)));
2438 return (cmp_flonum(RFF(op1), br_getd(OBR(op2))));
2440 return (cmp_fr_br(RFRN(op1), RFRD(op1), OBR(op2)));
2442 return (cmp_br_br(RBR(op1), OBR(op2)));
2455 cmp_number_object(n_number *op1, LispObj *op2)
2457 if (op1->complex) {
2459 if (cmp_real_object(NREAL(op1), OCXR(op2)) == 0)
2460 return (cmp_real_object(NIMAG(op1), OCXI(op2)));
2463 else if (cmp_real_real(NIMAG(op1), &zero) == 0)
2464 return (cmp_real_object(NREAL(op1), op2));
2471 switch (NRTYPE(op1)) {
2473 return (cmp_fi_fi(NRFI(op1), OFI(op2)));
2475 return (cmp_bi_fi(NRBI(op1), OFI(op2)));
2477 return (cmp_flonum(NRFF(op1), (double)OFI(op2)));
2479 return (cmp_fr_fi(NRFRD(op1), NRFRN(op1), OFI(op2)));
2481 return (cmp_br_fi(NRBR(op1), OFI(op2)));
2485 switch (NRTYPE(op1)) {
2487 return (cmp_fi_fi(NRFI(op1), OII(op2)));
2489 return (cmp_bi_fi(NRBI(op1), OII(op2)));
2491 return (cmp_flonum(NRFF(op1), (double)OII(op2)));
2493 return (cmp_fr_fi(NRFRD(op1), NRFRN(op1), OII(op2)));
2495 return (cmp_br_fi(NRBR(op1), OII(op2)));
2499 switch (NRTYPE(op1)) {
2501 return (cmp_fi_bi(NRFI(op1), OBI(op2)));
2503 return (cmp_bi_bi(NRBI(op1), OBI(op2)));
2505 return (cmp_flonum(NRFF(op1), bi_getd(OBI(op2))));
2507 return (cmp_fr_bi(NRFRD(op1), NRFRN(op1), OBI(op2)));
2509 return (cmp_br_bi(NRBR(op1), OBI(op2)));
2513 switch (NRTYPE(op1)) {
2515 return (cmp_flonum((double)NRFI(op1), ODF(op2)));
2517 return (cmp_flonum(bi_getd(NRBI(op1)), ODF(op2)));
2519 return (cmp_flonum(NRFF(op1), ODF(op2)));
2521 return (cmp_flonum((double)NRFRN(op1) /
2522 (double)NRFRD(op1),
2525 return (cmp_flonum(br_getd(NRBR(op1)), ODF(op2)));
2529 switch (NRTYPE(op1)) {
2531 return (cmp_fi_fr(NRFI(op1), OFRN(op2), OFRD(op2)));
2533 return (cmp_bi_fr(NRBI(op1), OFRN(op2), OFRD(op2)));
2535 return (cmp_flonum(NRFF(op1),
2538 return (cmp_fr_fr(NRFRN(op1), NRFRD(op1),
2541 return (cmp_br_fr(NRBR(op1), OFRN(op2), OFRD(op2)));
2545 switch (NRTYPE(op1)) {
2547 return (cmp_fi_br(NRFI(op1), OBR(op2)));
2549 return (cmp_bi_br(NRBI(op1), OBR(op2)));
2551 return (cmp_flonum(NRFF(op1), br_getd(OBR(op2))));
2553 return (cmp_fr_br(NRFRN(op1), NRFRD(op1), OBR(op2)));
2555 return (cmp_br_br(NRBR(op1), OBR(op2)));
2560 return (cmp_real_object(NREAL(op1), OCXR(op2)));
2573 cmp_object_object(LispObj *op1, LispObj *op2, int real)
2575 if (OBJECT_TYPE(op1) == LispComplex_t) {
2577 fatal_object_error(op1, NOT_A_REAL_NUMBER);
2579 return (cmp_cx_cx(op1, op2));
2580 else if (cmp_real_object(&zero, OCXI(op1)) == 0)
2581 return (cmp_object_object(OCXR(op1), op2, real));
2586 fatal_object_error(op1, NOT_A_REAL_NUMBER);
2588 return (cmp_object_object(op1, OCXR(op2), real));
2592 switch (OBJECT_TYPE(op1)) {
2596 return (cmp_fi_fi(OFI(op1), OFI(op2)));
2598 return (cmp_fi_fi(OFI(op1), OII(op2)));
2600 return (cmp_fi_bi(OFI(op1), OBI(op2)));
2602 return (cmp_flonum((double)OFI(op1), ODF(op2)));
2604 return (cmp_fi_fr(OFI(op1),
2607 return (cmp_fi_br(OFI(op1), OBR(op2)));
2615 return (cmp_fi_fi(OII(op1), OFI(op2)));
2617 return (cmp_fi_fi(OII(op1), OII(op2)));
2619 return (cmp_fi_bi(OII(op1), OBI(op2)));
2621 return (cmp_flonum((double)OII(op1), ODF(op2)));
2623 return (cmp_fi_fr(OII(op1),
2626 return (cmp_fi_br(OII(op1), OBR(op2)));
2634 return (cmp_bi_fi(OBI(op1), OFI(op2)));
2636 return (cmp_bi_fi(OBI(op1), OII(op2)));
2638 return (cmp_bi_bi(OBI(op1), OBI(op2)));
2640 return (cmp_flonum(bi_getd(OBI(op1)), ODF(op2)));
2642 return (cmp_bi_fr(OBI(op1),
2645 return (cmp_bi_br(OBI(op1), OBR(op2)));
2653 return (cmp_flonum(ODF(op1), (double)OFI(op2)));
2655 return (cmp_flonum(ODF(op1), (double)OII(op2)));
2657 return (cmp_flonum(ODF(op1), bi_getd(OBI(op2))));
2659 return (cmp_flonum(ODF(op1), ODF(op2)));
2662 return (cmp_flonum(ODF(op1),
2666 return (cmp_flonum(ODF(op1), br_getd(OBR(op2))));
2674 return (cmp_fr_fi(OFRN(op1), OFRD(op1), OFI(op2)));
2676 return (cmp_fr_fi(OFRN(op1), OFRD(op1), OII(op2)));
2678 return (cmp_fr_bi(OFRN(op1), OFRD(op1), OBI(op2)));
2680 return (cmp_flonum((double)OFRN(op1) /
2681 (double)OFRD(op1),
2684 return (cmp_fr_fr(OFRN(op1), OFRD(op1),
2687 return (cmp_fr_br(OFRN(op1), OFRD(op1), OBR(op2)));
2695 return (cmp_br_fi(OBR(op1), OFI(op2)));
2697 return (cmp_br_fi(OBR(op1), OII(op2)));
2699 return (cmp_br_bi(OBR(op1), OBI(op2)));
2701 return (cmp_flonum(br_getd(OBR(op1)), ODF(op2)));
2703 return (cmp_br_fr(OBR(op1), OFRN(op2), OFRD(op2)));
2705 return (cmp_br_br(OBR(op1), OBR(op2)));
2711 fatal_object_error(op1, NOT_A_NUMBER);
2725 * check if op1 + op2 will overflow
2728 fi_fi_add_overflow(long op1, long op2)
2730 long op = op1 + op2;
2732 return (op2 >= 0 ? op < op1 : op > op1);
2736 * check if op1 - op2 will overflow
2739 fi_fi_sub_overflow(long op1, long op2)
2741 long op = op1 - op2;
2743 return (op2 >= 0 ? op > op1 : op < op1);
2747 * check if op1 * op2 will overflow
2750 fi_fi_mul_overflow(long op1, long op2)
2752 if (op1 == 0 || op1 == 1 || op2 == 0 || op2 == 1)
2754 if (op1 == MINSLONG || op2 == MINSLONG)
2756 if (op1 < 0)
2757 op1 = -op1;
2760 return (op1 > MAXSLONG / op2);
3812 cmp_cx_cx(LispObj *op1, LispObj *op2)
3816 cmp = cmp_object_object(OCXR(op1), OCXR(op2), 1);
3818 cmp = cmp_object_object(OCXI(op1), OCXI(op2), 1);
3828 radd_flonum(n_real *real, double op1, double op2)
3830 double value = op1 + op2;
3852 rsub_flonum(n_real *real, double op1, double op2)
3854 double value = op1 - op2;
3876 rmul_flonum(n_real *real, double op1, double op2)
3878 double value = op1 * op2;
3900 rdiv_flonum(n_real *real, double op1, double op2)
3906 value = op1 / op2;
3927 cmp_flonum(double op1, double op2)
3929 double value = op1 - op2;
3995 cmp_fi_fi(long op1, long op2)
3997 if (op1 > op2)
3999 else if (op1 < op2)
4271 cmp_fi_br(long op1, mpr *op2)
4273 return (-mpr_cmpi(op2, op1));
4369 cmp_bi_bi(mpi *op1, mpi *op2)
4371 return (mpi_cmp(op1, op2));
5191 cmp_br_br(mpr *op1, mpr *op2)
5193 return (mpr_cmp(op1, op2));