/*****************************************************************************/ /* */ /* Routines for Arbitrary Precision Floating-point Arithmetic */ /* and Fast Robust Geometric Predicates */ /* */ /* Declarations */ /* */ /*****************************************************************************/ #ifndef PREDICATES_H #define PREDICATES_H #include "tetgen.h" #ifdef __cplusplus extern "C" { #endif void exactinit(int verbose, int noexact, int nofilter, REAL maxx, REAL maxy, REAL maxz); int grow_expansion(int elen, REAL *e, REAL b, REAL *h); int grow_expansion_zeroelim(int elen, REAL *e, REAL b, REAL *h); int expansion_sum(int elen, REAL *e, int flen, REAL *f, REAL *h); int expansion_sum_zeroelim1(int elen, REAL *e, int flen, REAL *f, REAL *h); int expansion_sum_zeroelim2(int elen, REAL *e, int flen, REAL *f, REAL *h); int linear_expansion_sum(int elen, REAL *e, int flen, REAL *f, REAL *h); int linear_expansion_sum_zeroelim(int elen, REAL *e, int flen, REAL *f, REAL *h); int scale_expansion(int elen, REAL *e, REAL b, REAL *h); int scale_expansion_zeroelim(int elen, REAL *e, REAL b, REAL *h); int compress(int elen, REAL *e, REAL *h); REAL estimate(int elen, REAL *e); REAL orient2dfast(REAL *pa, REAL *pb, REAL *pc); REAL orient2dexact(REAL *pa, REAL *pb, REAL *pc); REAL orient2dslow(REAL *pa, REAL *pb, REAL *pc); REAL orient2d(REAL *pa, REAL *pb, REAL *pc); REAL orient3dfast(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL orient3dexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL orient3dslow(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL incirclefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL incircleexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL incircleslow(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd); REAL inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe); REAL insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe); REAL insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe); REAL orient4dfast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe, REAL aheight, REAL bheight, REAL cheight, REAL dheight, REAL eheight); REAL orient4dexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe, REAL aheight, REAL bheight, REAL cheight, REAL dheight, REAL eheight); REAL orient4d(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe, REAL aheight, REAL bheight, REAL cheight, REAL dheight, REAL eheight); #ifdef __cplusplus } #endif #endif