36 #if !defined(SAG_COM) && !defined(__CYGWIN__) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
38 #elif defined(__MWERKS__) && defined(__INTEL__)
52 #define qh_FILENAMElen 500
69 #define MSG_TRACE1 1000
70 #define MSG_TRACE2 2000
71 #define MSG_TRACE3 3000
72 #define MSG_TRACE4 4000
73 #define MSG_TRACE5 5000
74 #define MSG_ERROR 6000
75 #define MSG_WARNING 7000
76 #define MSG_STDERR 8000
77 #define MSG_OUTPUT 9000
78 #define MSG_QHULL_ERROR 10000
79 #define MSG_FIXUP 11000
80 #define MSG_MAXLEN 3000
88 #define qh_OPTIONline 80
145 #define REALmax FLT_MAX
146 #define REALmin FLT_MIN
147 #define REALepsilon FLT_EPSILON
148 #define qh_REALdigits 8
149 #define qh_REAL_1 "%6.8g "
150 #define qh_REAL_2n "%6.8g %6.8g\n"
151 #define qh_REAL_3n "%6.8g %6.8g %6.8g\n"
153 #elif (REALfloat == 0)
155 #define REALmax DBL_MAX
156 #define REALmin DBL_MIN
157 #define REALepsilon DBL_EPSILON
158 #define qh_REALdigits 16
159 #define qh_REAL_1 "%6.16g "
160 #define qh_REAL_2n "%6.16g %6.16g\n"
161 #define qh_REAL_3n "%6.16g %6.16g %6.16g\n"
164 #error unknown float option
194 #define qh_CLOCKtype 1
196 #if (qh_CLOCKtype == 1)
198 #if defined(CLOCKS_PER_SECOND)
199 #define qh_CPUclock ((unsigned long)clock())
200 #define qh_SECticks CLOCKS_PER_SECOND
202 #elif defined(CLOCKS_PER_SEC)
203 #define qh_CPUclock ((unsigned long)clock())
204 #define qh_SECticks CLOCKS_PER_SEC
206 #elif defined(CLK_TCK)
207 #define qh_CPUclock ((unsigned long)clock())
208 #define qh_SECticks CLK_TCK
211 #define qh_CPUclock ((unsigned long)clock())
212 #define qh_SECticks 1E6
215 #elif (qh_CLOCKtype == 2)
216 #define qh_CPUclock qh_clock()
217 #define qh_SECticks 100
220 #error unknown clock option
255 #define qh_RANDOMtype 5
257 #if (qh_RANDOMtype == 1)
258 #define qh_RANDOMmax ((realT)0x7fffffffUL)
259 #define qh_RANDOMint random()
260 #define qh_RANDOMseed_(seed) srandom(seed);
262 #elif (qh_RANDOMtype == 2)
264 #define qh_RANDOMmax ((realT)RAND_MAX)
266 #define qh_RANDOMmax ((realT)32767)
268 #define qh_RANDOMint rand()
269 #define qh_RANDOMseed_(seed) srand((unsigned)seed);
271 #elif (qh_RANDOMtype == 3)
272 #define qh_RANDOMmax ((realT)0x7fffffffUL)
273 #define qh_RANDOMint rand()
274 #define qh_RANDOMseed_(seed) srand((unsigned)seed);
276 #elif (qh_RANDOMtype == 4)
277 #define qh_RANDOMmax ((realT)0x7fffffffUL)
278 #define qh_RANDOMint lrand48()
279 #define qh_RANDOMseed_(seed) srand48(seed);
281 #elif (qh_RANDOMtype == 5)
282 #define qh_RANDOMmax ((realT)2147483646UL)
283 #define qh_RANDOMint qh_rand()
284 #define qh_RANDOMseed_(seed) qh_srand(seed);
288 #error: unknown random option
297 #define qh_ORIENTclock 0
324 #define qh_JOGGLEdefault 30000.0
332 #define qh_JOGGLEincrease 10.0
343 #define qh_JOGGLEretry 2
354 #define qh_JOGGLEagain 1
366 #define qh_JOGGLEmaxincrease 1e-2
374 #define qh_JOGGLEmaxretry 100
389 #define qh_HASHfactor 2
400 #define qh_VERIFYdirect 1000000
408 #define qh_INITIALsearch 6
420 #define qh_INITIALmax 8
445 #define qh_MEMalign ((int)(fmax_(sizeof(realT), sizeof(void *))))
456 #define qh_MEMbufsize 0x10000
467 #define qh_MEMinitbuf 0x20000
475 #define qh_INFINITE -10.101
486 #define qh_DEFAULTbox 0.5
487 #define qh_DEFAULTzbox 1e6
523 #define qh_COMPUTEfurthest 0
534 #define qh_KEEPstatistics 1
547 #define qh_MAXoutside 1
609 #error QH6207 Qhull error: Use qh_QHpointer_dllimport instead of qh_dllimport with qh_QHpointer
612 #define qh_QHpointer 0
613 #if qh_QHpointer_dllimport
614 #error QH6234 Qhull error: Use qh_dllimport instead of qh_QHpointer_dllimport when qh_QHpointer is not defined
618 qhT *oldqhA, *oldqhB;
620 exitcode=
qh_new_qhull(dim, numpoints, points, ismalloc,
621 flags, outfile, errfile);
623 oldqhA= qh_save_qhull();
624 exitcode=
qh_new_qhull(dimB, numpointsB, pointsB, ismalloc,
625 flags, outfile, errfile);
627 oldqhB= qh_save_qhull();
628 qh_restore_qhull(&oldqhA);
631 qh_restore_qhull(&oldqhB);
643 #define qh_QUICKhelp 0
659 #define qh_DIMmergeVertex 6
667 #define qh_DIMreduceBuild 5
679 #define qh_BESTcentrum 20
680 #define qh_BESTcentrum2 2
691 #define qh_BESTnonconvex 15
702 #define qh_MAXnewmerges 2
715 #define qh_MAXnewcentrum 5
726 #define qh_COPLANARratio 3
756 #define qh_DISToutside ((qh_USEfindbestnew ? 2 : 1) * \
757 fmax_((qh MERGING ? 2 : 1)*qh MINoutside, qh max_outside))
771 #define qh_RATIOnearinside 5
785 #define qh_SEARCHdist ((qh_USEfindbestnew ? 2 : 1) * \
786 (qh max_outside + 2 * qh DISTround + fmax_( qh MINvisible, qh MAXcoplanar)));
800 #define qh_USEfindbestnew (zzval_(Ztotmerge) > 50)
816 #define qh_WIDEcoplanar 6
829 #define qh_WIDEduplicate 100
845 #define qh_MAXnarrow -0.99999999
857 #define qh_WARNnarrow -0.999999999999999
876 #define qh_ZEROdelaunay 2
901 #if defined(_MSC_VER) && defined(_DEBUG) && defined(QHULL_CRTDBG)
902 #define _CRTDBG_MAP_ALLOC