MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / incircleexact

Function incircleexact

tools/Predicates/predicates.c:2390–2490  ·  view source on GitHub ↗
(pa, pb, pc, pd)

Source from the content-addressed store, hash-verified

2388}
2389
2390REAL incircleexact(pa, pb, pc, pd)
2391REAL *pa;
2392REAL *pb;
2393REAL *pc;
2394REAL *pd;
2395{
2396 INEXACT REAL axby1, bxcy1, cxdy1, dxay1, axcy1, bxdy1;
2397 INEXACT REAL bxay1, cxby1, dxcy1, axdy1, cxay1, dxby1;
2398 REAL axby0, bxcy0, cxdy0, dxay0, axcy0, bxdy0;
2399 REAL bxay0, cxby0, dxcy0, axdy0, cxay0, dxby0;
2400 REAL ab[4], bc[4], cd[4], da[4], ac[4], bd[4];
2401 REAL temp8[8];
2402 int templen;
2403 REAL abc[12], bcd[12], cda[12], dab[12];
2404 int abclen, bcdlen, cdalen, dablen;
2405 REAL det24x[24], det24y[24], det48x[48], det48y[48];
2406 int xlen, ylen;
2407 REAL adet[96], bdet[96], cdet[96], ddet[96];
2408 int alen, blen, clen, dlen;
2409 REAL abdet[192], cddet[192];
2410 int ablen, cdlen;
2411 REAL deter[384];
2412 int deterlen;
2413 int i;
2414
2415 INEXACT REAL bvirt;
2416 REAL avirt, bround, around;
2417 INEXACT REAL c;
2418 INEXACT REAL abig;
2419 REAL ahi, alo, bhi, blo;
2420 REAL err1, err2, err3;
2421 INEXACT REAL _i, _j;
2422 REAL _0;
2423
2424 Two_Product(pa[0], pb[1], axby1, axby0);
2425 Two_Product(pb[0], pa[1], bxay1, bxay0);
2426 Two_Two_Diff(axby1, axby0, bxay1, bxay0, ab[3], ab[2], ab[1], ab[0]);
2427
2428 Two_Product(pb[0], pc[1], bxcy1, bxcy0);
2429 Two_Product(pc[0], pb[1], cxby1, cxby0);
2430 Two_Two_Diff(bxcy1, bxcy0, cxby1, cxby0, bc[3], bc[2], bc[1], bc[0]);
2431
2432 Two_Product(pc[0], pd[1], cxdy1, cxdy0);
2433 Two_Product(pd[0], pc[1], dxcy1, dxcy0);
2434 Two_Two_Diff(cxdy1, cxdy0, dxcy1, dxcy0, cd[3], cd[2], cd[1], cd[0]);
2435
2436 Two_Product(pd[0], pa[1], dxay1, dxay0);
2437 Two_Product(pa[0], pd[1], axdy1, axdy0);
2438 Two_Two_Diff(dxay1, dxay0, axdy1, axdy0, da[3], da[2], da[1], da[0]);
2439
2440 Two_Product(pa[0], pc[1], axcy1, axcy0);
2441 Two_Product(pc[0], pa[1], cxay1, cxay0);
2442 Two_Two_Diff(axcy1, axcy0, cxay1, cxay0, ac[3], ac[2], ac[1], ac[0]);
2443
2444 Two_Product(pb[0], pd[1], bxdy1, bxdy0);
2445 Two_Product(pd[0], pb[1], dxby1, dxby0);
2446 Two_Two_Diff(bxdy1, bxdy0, dxby1, dxby0, bd[3], bd[2], bd[1], bd[0]);
2447

Callers 1

init_predicatesFunction · 0.85

Calls 2

scale_expansion_zeroelimFunction · 0.85

Tested by

no test coverage detected