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

Function orient3dslow

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

Source from the content-addressed store, hash-verified

1789}
1790
1791REAL orient3dslow(pa, pb, pc, pd)
1792REAL *pa;
1793REAL *pb;
1794REAL *pc;
1795REAL *pd;
1796{
1797 INEXACT REAL adx, ady, adz, bdx, bdy, bdz, cdx, cdy, cdz;
1798 REAL adxtail, adytail, adztail;
1799 REAL bdxtail, bdytail, bdztail;
1800 REAL cdxtail, cdytail, cdztail;
1801 REAL negate, negatetail;
1802 INEXACT REAL axby7, bxcy7, axcy7, bxay7, cxby7, cxay7;
1803 REAL axby[8], bxcy[8], axcy[8], bxay[8], cxby[8], cxay[8];
1804 REAL temp16[16], temp32[32], temp32t[32];
1805 int temp16len, temp32len, temp32tlen;
1806 REAL adet[64], bdet[64], cdet[64];
1807 int alen, blen, clen;
1808 REAL abdet[128];
1809 int ablen;
1810 REAL deter[192];
1811 int deterlen;
1812
1813 INEXACT REAL bvirt;
1814 REAL avirt, bround, around;
1815 INEXACT REAL c;
1816 INEXACT REAL abig;
1817 REAL a0hi, a0lo, a1hi, a1lo, bhi, blo;
1818 REAL err1, err2, err3;
1819 INEXACT REAL _i, _j, _k, _l, _m, _n;
1820 REAL _0, _1, _2;
1821
1822 Two_Diff(pa[0], pd[0], adx, adxtail);
1823 Two_Diff(pa[1], pd[1], ady, adytail);
1824 Two_Diff(pa[2], pd[2], adz, adztail);
1825 Two_Diff(pb[0], pd[0], bdx, bdxtail);
1826 Two_Diff(pb[1], pd[1], bdy, bdytail);
1827 Two_Diff(pb[2], pd[2], bdz, bdztail);
1828 Two_Diff(pc[0], pd[0], cdx, cdxtail);
1829 Two_Diff(pc[1], pd[1], cdy, cdytail);
1830 Two_Diff(pc[2], pd[2], cdz, cdztail);
1831
1832 Two_Two_Product(adx, adxtail, bdy, bdytail,
1833 axby7, axby[6], axby[5], axby[4],
1834 axby[3], axby[2], axby[1], axby[0]);
1835 axby[7] = axby7;
1836 negate = -ady;
1837 negatetail = -adytail;
1838 Two_Two_Product(bdx, bdxtail, negate, negatetail,
1839 bxay7, bxay[6], bxay[5], bxay[4],
1840 bxay[3], bxay[2], bxay[1], bxay[0]);
1841 bxay[7] = bxay7;
1842 Two_Two_Product(bdx, bdxtail, cdy, cdytail,
1843 bxcy7, bxcy[6], bxcy[5], bxcy[4],
1844 bxcy[3], bxcy[2], bxcy[1], bxcy[0]);
1845 bxcy[7] = bxcy7;
1846 negate = -bdy;
1847 negatetail = -bdytail;
1848 Two_Two_Product(cdx, cdxtail, negate, negatetail,

Callers

nothing calls this directly

Calls 2

scale_expansion_zeroelimFunction · 0.85

Tested by

no test coverage detected