(pa, pb, pc)
| 1490 | } |
| 1491 | |
| 1492 | REAL orient2dslow(pa, pb, pc) |
| 1493 | REAL *pa; |
| 1494 | REAL *pb; |
| 1495 | REAL *pc; |
| 1496 | { |
| 1497 | INEXACT REAL acx, acy, bcx, bcy; |
| 1498 | REAL acxtail, acytail; |
| 1499 | REAL bcxtail, bcytail; |
| 1500 | REAL negate, negatetail; |
| 1501 | REAL axby[8], bxay[8]; |
| 1502 | INEXACT REAL axby7, bxay7; |
| 1503 | REAL deter[16]; |
| 1504 | int deterlen; |
| 1505 | |
| 1506 | INEXACT REAL bvirt; |
| 1507 | REAL avirt, bround, around; |
| 1508 | INEXACT REAL c; |
| 1509 | INEXACT REAL abig; |
| 1510 | REAL a0hi, a0lo, a1hi, a1lo, bhi, blo; |
| 1511 | REAL err1, err2, err3; |
| 1512 | INEXACT REAL _i, _j, _k, _l, _m, _n; |
| 1513 | REAL _0, _1, _2; |
| 1514 | |
| 1515 | Two_Diff(pa[0], pc[0], acx, acxtail); |
| 1516 | Two_Diff(pa[1], pc[1], acy, acytail); |
| 1517 | Two_Diff(pb[0], pc[0], bcx, bcxtail); |
| 1518 | Two_Diff(pb[1], pc[1], bcy, bcytail); |
| 1519 | |
| 1520 | Two_Two_Product(acx, acxtail, bcy, bcytail, |
| 1521 | axby7, axby[6], axby[5], axby[4], |
| 1522 | axby[3], axby[2], axby[1], axby[0]); |
| 1523 | axby[7] = axby7; |
| 1524 | negate = -acy; |
| 1525 | negatetail = -acytail; |
| 1526 | Two_Two_Product(bcx, bcxtail, negate, negatetail, |
| 1527 | bxay7, bxay[6], bxay[5], bxay[4], |
| 1528 | bxay[3], bxay[2], bxay[1], bxay[0]); |
| 1529 | bxay[7] = bxay7; |
| 1530 | |
| 1531 | deterlen = fast_expansion_sum_zeroelim(8, axby, 8, bxay, deter); |
| 1532 | |
| 1533 | return deter[deterlen - 1]; |
| 1534 | } |
| 1535 | |
| 1536 | REAL orient2dadapt(pa, pb, pc, detsum) |
| 1537 | REAL *pa; |
nothing calls this directly
no test coverage detected