1echo off
2echo q_test.bat -- writes output to q_test.x for comparison with eg/q_test-ok.txt
3echo
4echo Instructions:
5echo
6echo Launch QHULL-GO.bat
7echo "  ..\eg\q_test2.bat >q_test.x 2>&1  "
8echo
9echo Compare bin\q_test.x with ..\eg\q_test-ok.txt
10
11echo "========================" >q_test.x
12echo "== Run q_test.bat for Windows from the bin/ directory."
13echo "== Skips 'make test' and 'make qtest'"
14echo "== Align the next block with 'eg/q_test'"
15echo "========================"
16echo
17echo "=============================="
18echo "========= eg/q_test =========="
19echo "== Check qhull programs ======"
20echo "=============================="
21echo
22echo "=============================="
23echo "== check user_eg, user_eg2, and user_eg3"
24echo "== errors if 'user_eg' and 'user_eg2' not found"
25echo "=============================="
26echo "user_eg 'QR1 p n Qt' 'v p' Fp"
27user_eg "QR1 p n Qt" "v p" Fp
28echo "user_eg2 'QR1 p' 'v p' Fp"
29user_eg2 "QR1 p" "v p" Fp
30echo user_eg3 rbox "10 D2" "s r 5 D2" qhull "s p"
31user_eg3 rbox "10 D2" "s r 5 D2" qhull "s p"
32echo === check front ends ==========================================================
33echo "qconvex -"
34qconvex -
35echo "qconvex ."
36qconvex .
37echo "qconvex -?"
38qconvex -? # [mar'19] isatty does not work for Git for Windows
39echo "rbox c D3 | qconvex s n Qt"
40rbox c D3 | qconvex s n Qt
41echo "rbox c D2 | qconvex s i"
42rbox c D2 | qconvex s i
43echo "rbox c D2 | qconvex s n"
44rbox c D2 | qconvex s n
45echo "rbox c D2 | qconvex o"
46rbox c D2 | qconvex o
47echo "rbox 1000 s | qconvex s Tv FA"
48rbox 1000 s | qconvex s Tv FA
49echo "rbox c d D2 | qconvex s Qc Fx"
50rbox c d D2 | qconvex s Qc Fx
51echo "rbox y 1000 W0 | qconvex Qc s n"
52rbox y 1000 W0 | qconvex Qc s n
53echo "rbox y 1000 W0 | qconvex s QJ"
54rbox y 1000 W0 | qconvex s QJ
55echo "rbox d G1 D12 | qconvex QR0 FA"
56rbox d G1 D12 | qconvex QR0 FA
57echo "rbox c D6 | qconvex s FA TF500"
58rbox c D6 | qconvex s FA TF500
59echo "rbox c D7 | qconvex s FA TF1000"
60rbox c D7 | qconvex s FA TF1000
61echo "rbox d G1 D12 | qconvex QR0 FA Pp"
62rbox d G1 D12 | qconvex QR0 FA Pp
63echo "rbox c P0 d D2 | qconvex p Fa Fc FP FI Fn FN FS Fv Fx"
64rbox c P0 d D2 | qconvex p Fa Fc FP FI Fn FN FS Fv Fx
65echo "rbox c d D2 | qconvex s i QV0"
66rbox c d D2 | qconvex s i QV0
67echo "rbox c | qconvex Q0"
68rbox c | qconvex Q0
69echo "qvoronoi -"
70qvoronoi -
71echo "qvoronoi ."
72qvoronoi .
73echo "qvoronoi -?"
74qvoronoi -? # [mar'19] isatty does not work for Git for Windows
75echo "rbox c P0 D2 | qvoronoi s o"
76rbox c P0 D2 | qvoronoi s o
77echo "rbox c P0 D2 | qvoronoi Fi Tv"
78rbox c P0 D2 | qvoronoi Fi Tv
79echo "rbox c P0 D2 | qvoronoi Fo Tv"
80rbox c P0 D2 | qvoronoi Fo Tv
81echo "rbox c P0 D2 | qvoronoi Fv"
82rbox c P0 D2 | qvoronoi Fv
83echo "rbox c P0 D2 | qvoronoi s Qu Fv"
84rbox c P0 D2 | qvoronoi s Qu Fv
85echo "rbox c P0 D2 | qvoronoi s Qu Qt Fv"
86rbox c P0 D2 | qvoronoi s Qu Qt Fv
87echo "rbox c P0 D2 | qvoronoi Qu Fo"
88rbox c P0 D2 | qvoronoi Qu Fo
89echo "rbox c G1 d D2 | qvoronoi s p"
90rbox c G1 d D2 | qvoronoi s p
91echo "rbox c G1 d D2 | qvoronoi QJ p"
92rbox c G1 d D2 | qvoronoi QJ p
93echo "rbox c P-0.1 P+0.1 P+0.1 D2 | qvoronoi s Fc FP FQ Fn FN"
94rbox c P-0.1 P+0.1 P+0.1 D2 | qvoronoi s Fc FP FQ Fn FN
95echo "rbox P0 c D2 | qvoronoi s Fv QV0"
96rbox P0 c D2 | qvoronoi s Fv QV0
97echo "qdelaunay -"
98qdelaunay -
99echo "qdelaunay ."
100qdelaunay .
101echo "qdelaunay -?"
102qdelaunay -? # [mar'19] isatty does not work for Git for Windows
103echo "rbox c P0 D2 | qdelaunay s o"
104rbox c P0 D2 | qdelaunay s o
105echo "rbox c P0 D2 | qdelaunay i"
106rbox c P0 D2 | qdelaunay i
107echo "rbox c P0 D2 | qdelaunay Fv"
108rbox c P0 D2 | qdelaunay Fv
109echo "rbox c P0 D2 | qdelaunay s Qu Qt Fv"
110rbox c P0 D2 | qdelaunay s Qu Qt Fv
111echo "rbox c G1 d D2 | qdelaunay s i"
112rbox c G1 d D2 | qdelaunay s i
113echo "rbox c G1 d D2 | qhull d Qbb Ft"
114rbox c G1 d D2 | qhull d Qbb Ft
115echo "rbox c G1 d D2 | qhull d Qbb QJ s Ft"
116rbox c G1 d D2 | qhull d Qbb QJ s Ft
117echo "rbox M3,4 z 100 D2 | qdelaunay s"
118rbox M3,4 z 100 D2 | qdelaunay s
119echo "rbox c P-0.1 P+0.1 P+0.1 D2 | qdelaunay s Fx Fa Fc FP FQ Fn FN"
120rbox c P-0.1 P+0.1 P+0.1 D2 | qdelaunay s Fx Fa Fc FP FQ Fn FN
121echo "rbox P0 P0 c D2 | qdelaunay s FP QV0"
122rbox P0 P0 c D2 | qdelaunay s FP QV0
123echo "qhalf -"
124qhalf -
125echo "qhalf ."
126qhalf .
127echo "qhalf -?"
128qhalf -? # [mar'19] isatty does not work for Git for Windows
129echo "rbox d | qhull FQ n | qhalf s Qt H0,0,0 Fp"
130rbox d | qhull FQ n | qhalf s Qt H0,0,0 Fp
131echo "rbox c | qhull FQ FV n | qhalf s i"
132rbox c | qhull FQ FV n | qhalf s i
133echo "rbox c | qhull FQ FV n | qhalf o"
134rbox c | qhull FQ FV n | qhalf o
135echo "rbox d D2 | qhull FQ n | qhalf s H0 Fc FP Fn FN FQ Fv Fx"
136rbox d D2 | qhull FQ n | qhalf s H0 Fc FP Fn FN FQ Fv Fx
137echo "qhull - printed at end"
138echo "qhull ."
139qhull .
140echo "qhull -?"
141qhull -? # [mar'19] isatty does not work for Git for Windows
142echo "rbox 1000 s | qhull Tv s FA"
143rbox 1000 s | qhull Tv s FA
144echo "rbox 10 D2 | qhull d QJ s i TO q_test.log.1"
145rbox 10 D2 | qhull d QJ s i TO q_test.log.1
146echo "type q_test.log.1"
147type q_test.log.1
148echo "rbox 10 D2 | qhull v Qbb Qt p"
149rbox 10 D2 | qhull v Qbb Qt p
150echo "rbox 10 D2 | qhull d Qu QJ m"
151rbox 10 D2 | qhull d Qu QJ m
152echo "rbox 10 D2 | qhull v Qu QJ o"
153rbox 10 D2 | qhull v Qu QJ o
154echo "rbox c d D2 | qhull Qc s f Fx"
155rbox c d D2 | qhull Qc s f Fx
156echo "rbox c | qhull FV n | qhull H Fp"
157rbox c | qhull FV n | qhull H Fp
158echo "rbox d D12 | qhull QR0 FA"
159rbox d D12 | qhull QR0 FA
160echo "rbox c D7 | qhull FA TF1000"
161rbox c D7 | qhull FA TF1000
162echo "rbox y 1000 W0 | qhull Qc"
163rbox y 1000 W0 | qhull Qc
164echo "rbox c | qhull n"
165rbox c | qhull n
166echo "rbox c | qhull TA1"
167rbox c | qhull TA1
168echo "rbox 10 s | qhull C1e-5 T1P-1f"
169rbox 10 s | qhull C1e-5 T1P-1f
170echo === check quality of Qhull for ${d:-`hostname`} ${d:-`date`}
171echo "rbox 1000 W0 | qhull QR2 QJ s Fs Tv"
172rbox 1000 W0 | qhull QR2 QJ s Fs Tv
173echo "rbox 1000 W0 | qhull QR2 s Fs Tv"
174rbox 1000 W0 | qhull QR2 s Fs Tv
175echo "rbox 1000 s | qhull C0.02 Qc Tv"
176rbox 1000 s | qhull C0.02 Qc Tv
177echo "rbox 500 s D4 | qhull C0.01 Qc Tv"
178rbox 500 s D4 | qhull C0.01 Qc Tv
179echo "rbox 1000 s | qhull C-0.02 Qc Tv"
180rbox 1000 s | qhull C-0.02 Qc Tv
181echo "rbox 1000 s D4 | qhull C-0.01 Qc Tv"
182rbox 1000 s D4 | qhull C-0.01 Qc Tv
183echo "rbox 200 s D5 | qhull C-0.01 Qx Qc Tv"
184rbox 200 s D5 | qhull C-0.01 Qx Qc Tv
185echo "rbox 100 s D6 | qhull C-0.001 Qx Qc Tv"
186rbox 100 s D6 | qhull C-0.001 Qx Qc Tv
187echo "rbox 1000 W1e-4 | qhull C-1e-6 Qc Tv"
188rbox 1000 W1e-4 | qhull C-1e-6 Qc Tv
189echo "rbox 1000 W5e-4 D4 | qhull C-1e-5 Qc Tv"
190rbox 1000 W5e-4 D4 | qhull C-1e-5 Qc Tv
191echo "rbox 400 W1e-3 D5 | qhull C-1e-5 Qx Qc Tv"
192rbox 400 W1e-3 D5 | qhull C-1e-5 Qx Qc Tv
193
194echo === check input format etc. ${d:-`date`}
195echo "=== test long and short input to Qhull by hand, see eg/q_test ==="
196echo "rbox d h | qhull Fd FV n FD  Tcv | qhull Fd H Fp Tcv"
197rbox d h | qhull Fd FV n FD Tcv | qhull Fd H Fp Tcv
198echo "rbox 10 h | qhull Fd FD p Tcv | qhull Fd d Tcv"
199rbox 10 h | qhull Fd FD p Tcv | qhull Fd d Tcv
200
201echo === check rbox ${d:-`date`}
202echo "rbox 3 n D2"
203rbox 3 n D2
204echo "rbox 3 D2"
205rbox 3 D2
206echo "rbox 3 h D2"
207rbox 3 h D2
208echo "rbox 3 z D2"
209rbox 3 z D2
210echo "rbox 3 z h D2"
211rbox 3 z h D2
212echo "rbox 3 B10 D2"
213rbox 3 B10 D2
214echo "rbox 3 B10 D2 C2,1E-13,1"
215rbox 3 B10 D2 C2,1E-13,1
216echo "rbox 3 z B10 D2"
217rbox 3 z B10 D2
218echo "rbox 4 L2 r D2"
219rbox 4 L2 r D2
220echo "rbox 8 L2 r D2"
221rbox 8 L2 r D2
222echo "rbox 8 L2 D2 C1,1E-13,2"
223rbox 8 L2 D2 C1,1E-13,2
224echo "rbox 4 L4 r D3"
225rbox 4 L4 r D3
226echo "rbox 4 L4 s D5 W1e-3"
227rbox 4 L4 s D5 W1e-3
228echo "rbox 4 L4 s D5 W1e-3 C1,1E-12"
229rbox 4 L4 s D5 W1e-3 C1,1E-12
230echo "rbox y"
231rbox y
232echo "rbox 10 M3,4"
233rbox 10 M3,4
234echo "rbox 10 M3,4 C1,1E-14"
235rbox 10 M3,4 C1,1E-14
236echo "rbox 27 M1,0,1"
237rbox 27 M1,0,1
238echo "rbox 10 L4 r D3 | qhull Tcv"
239rbox 10 L4 r D3 | qhull Tcv
240echo "rbox 10 L4 s D5 W1e-3 | qhull Tcv"
241rbox 10 L4 s D5 W1e-3 | qhull Tcv
242echo "rbox 10 L4 s D5 W1e-3 C1,1E-12 | qhull Tcv"
243rbox 10 L4 s D5 W1e-3 C1,1E-12 | qhull Tcv
244echo "rbox 10 L6 D3 | qhull Tcv"
245rbox 10 L6 D3 | qhull Tcv
246echo "rbox 10 L1.1 s D4 | qhull Tcv"
247rbox 10 L1.1 s D4 | qhull Tcv
248echo "rbox y r 100 W0 O0.5 | qhull s p Tcv"
249rbox y r 100 W0 O0.5 | qhull s p Tcv
250echo "rbox x r 100 W0 O0.5 | qhull s Tcv"
251rbox x r 100 W0 O0.5 | qhull s Tcv
252echo "rbox 12 D8 | qhull Tcv"
253rbox 12 D8 | qhull Tcv
254echo "rbox 12 D9 | qhull Tcv"
255rbox 12 D9 | qhull Tcv
256echo "rbox 1000 D4 | qhull s i A-0.97 C0.2 A0.7 Tcv"
257rbox 1000 D4 | qhull s i A-0.97 C0.2 A0.7 Tcv
258echo "rbox 3 D2 | qhull Qb0B1:-2 p"
259rbox 3 D2 | qhull Qb0B1:-2 p
260echo "rbox 100 r D2 | qhull Pd0:0.7 PD0:0.8 Pg n Tcv"
261rbox 100 r D2 | qhull Pd0:0.7 PD0:0.8 Pg n Tcv
262echo "rbox 1000 s | qhull  C0.05 Tcv"
263rbox 1000 s | qhull  C0.05 Tcv
264echo "rbox 1000 s t | qhull Qm C0.05 Tcv"
265rbox 1000 s t | qhull Qm C0.05 Tcv
266echo "rbox 500 D2 | qhull n A-0.95 C0.1 Tcv"
267rbox 500 D2 | qhull n A-0.95 C0.1 Tcv
268echo "rbox 500 s P1,1,1 | qhull QgG0 Pp Tcv"
269rbox 500 s P1,1,1 | qhull QgG0 Pp Tcv
270echo "rbox d | qhull m"
271rbox d | qhull m
272echo "rbox d | qhull FM"
273rbox d | qhull FM
274echo "rbox c D2 | qhull Tcv Q0"
275rbox c D2 | qhull Tcv Q0
276echo "rbox d D2 | qhull Tcv"
277rbox d D2 | qhull Tcv
278echo "rbox c D3 | qhull Tcv Q0"
279rbox c D3 | qhull Tcv Q0
280echo "rbox d D3 | qhull Tcv"
281rbox d D3 | qhull Tcv
282echo "rbox c D4 | qhull Tcv Q0"
283rbox c D4 | qhull Tcv Q0
284echo "rbox d D4 | qhull Tcv"
285rbox d D4 | qhull Tcv
286echo "rbox c D5 | qhull Tcv Q0"
287rbox c D5 | qhull Tcv Q0
288echo "rbox d D5 | qhull Tcv"
289rbox d D5 | qhull Tcv
290echo "rbox c D6 | qhull Tcv Q0"
291rbox c D6 | qhull Tcv Q0
292echo "rbox d D6 | qhull Tcv"
293rbox d D6 | qhull Tcv
294echo "rbox d D7 | qhull Tcv"
295rbox d D7 | qhull Tcv
296echo "rbox c D2 | qhull Tcv C-0"
297rbox c D2 | qhull Tcv C-0
298echo "rbox c D3 | qhull Tcv C-0"
299rbox c D3 | qhull Tcv C-0
300echo "rbox c D4 | qhull Tcv C-0"
301rbox c D4 | qhull Tcv C-0
302echo "rbox c D5 | qhull Tcv C-0"
303rbox c D5 | qhull Tcv C-0
304echo "rbox c D6 | qhull Tcv C-0"
305rbox c D6 | qhull Tcv C-0
306echo "rbox c D7 | qhull Tv C-0"
307rbox c D7 | qhull Tv C-0
308echo "rbox 20 l D3 | qhull Tcv"
309rbox 20 l D3 | qhull Tcv
310echo "rbox 100 s D2 | qhull Tcv"
311rbox 100 s D2 | qhull Tcv
312echo "rbox 100 s D3 | qhull Tcv"
313rbox 100 s D3 | qhull Tcv
314echo "rbox 100 s D4 | qhull Tcv"
315rbox 100 s D4 | qhull Tcv
316echo "rbox 100 s c D4 | qhull Tcv"
317rbox 100 s c D4 | qhull Tcv
318echo "rbox 100 s d G1.5 D4 | qhull Tcv"
319rbox 100 s d G1.5 D4 | qhull Tcv
320echo "rbox 100 s W1e-2 | qhull Tcv"
321rbox 100 s W1e-2 | qhull Tcv
322echo "rbox 100 | qhull Tcv"
323rbox 100 | qhull Tcv
324echo "rbox 100 W1e-3 | qhull Tcv"
325rbox 100 W1e-3 | qhull Tcv
326echo "rbox 100 r D2 | qhull Tcv"
327rbox 100 r D2 | qhull Tcv
328echo "rbox 100 r s Z1 | qhull Tcv"
329rbox 100 r s Z1 | qhull Tcv
330echo "rbox 100 r s Z1 G0.1 | qhull Tcv C-0"
331rbox 100 r s Z1 G0.1 | qhull Tcv C-0
332echo "rbox 100 s Z1 G0.1 | qhull Tcv"
333rbox 100 s Z1 G0.1 | qhull Tcv
334echo "rbox 100 s Z1e-5 G0.1 | qhull Tc Pp"
335rbox 100 s Z1e-5 G0.1 | qhull Tc Pp
336
337echo === check qhull option errors ${d:-`date`}
338
339
340echo "rbox 10 | qhull d H0"
341rbox 10 | qhull d H0
342echo "rbox 10 | qhull Zza"
343rbox 10 | qhull Zza
344echo "rbox 10 | qhull Zza Qw"
345rbox 10 | qhull Zza Qw
346echo "rbox 10 | qhull Q999"
347rbox 10 | qhull Q999
348echo "rbox 10 | qhull Q999 Qw"
349rbox 10 | qhull Q999 Qw
350echo "qhull TIxyzlkajdfhwh"
351qhull TIxyzlkajdfhwh
352echo "rbox 10 >r.x"
353rbox 10 >r.x
354echo "qhull TIr.x"
355qhull TIr.x
356echo "qhull p TI    r.x TO x.x"
357qhull p TI    r.x TO x.x
358echo "type x.x"
359type x.x
360
361echo === check qhull output formats ${d:-`date`}
362echo "rbox 5 r s D2 | qhull Tcv"
363rbox 5 r s D2 | qhull Tcv
364echo "rbox 5 r s D2 | qhull s "
365rbox 5 r s D2 | qhull s
366echo "rbox 5 r s D2 | qhull s o "
367rbox 5 r s D2 | qhull s o
368echo "rbox 5 r s D2 | qhull f"
369rbox 5 r s D2 | qhull f
370echo "rbox 5 r s D2 | qhull i "
371rbox 5 r s D2 | qhull i
372echo "rbox 5 r s D2 | qhull m "
373rbox 5 r s D2 | qhull m
374echo "rbox 5 r s D2 | qhull FM "
375rbox 5 r s D2 | qhull FM
376echo "rbox 5 r s D2 | qhull n "
377rbox 5 r s D2 | qhull n
378echo "rbox 5 r s D2 | qhull p "
379rbox 5 r s D2 | qhull p
380echo "rbox 5 r s D2 | qhull o "
381rbox 5 r s D2 | qhull o
382echo "rbox 5 r s D2 | qhull Ft"
383rbox 5 r s D2 | qhull Ft
384echo "rbox 5 r s D2 | qhull Fx"
385rbox 5 r s D2 | qhull Fx
386echo "rbox 5 r s D2 | qhull p n i p p"
387rbox 5 r s D2 | qhull p n i p p
388echo "rbox 10 D3 | qhull f Tcv"
389rbox 10 D3 | qhull f Tcv
390echo "rbox 10 D3 | qhull i"
391rbox 10 D3 | qhull i
392echo "rbox 10 D3 | qhull p "
393rbox 10 D3 | qhull p
394echo "rbox 10 D3 | qhull o "
395rbox 10 D3 | qhull o
396echo "rbox 10 D3 | qhull Fx"
397rbox 10 D3 | qhull Fx
398echo "rbox 27 M1,0,1 | qhull Qc"
399rbox 27 M1,0,1 | qhull Qc
400echo "rbox 50 D3 s | qhull C0.1 Qc Pd0d1d2 Pg s p Tcv"
401rbox 50 D3 s | qhull C0.1 Qc Pd0d1d2 Pg s p Tcv
402echo "rbox 10 D2 P0 P1e-15 | qhull d Qc FP s Tcv"
403rbox 10 D2 P0 P1e-15 | qhull d Qc FP s Tcv
404echo "rbox 100 s | qhull C-0.003 Qc FP s"
405rbox 100 s | qhull C-0.003 Qc FP s
406echo "rbox 100 s D2 | qhull C0.1 i Fx Tcv"
407rbox 100 s D2 | qhull C0.1 i Fx Tcv
408echo "rbox 4 s D3 | qhull Qc Ghipv Tcv "
409rbox 4 s D3 | qhull Qc Ghipv Tcv
410echo "rbox 6 D4 | qhull f Tcv"
411rbox 6 D4 | qhull f Tcv
412echo "rbox 6 D4 | qhull i"
413rbox 6 D4 | qhull i
414echo "rbox 6 D4 | qhull p "
415rbox 6 D4 | qhull p
416echo "rbox 6 D4 | qhull o"
417rbox 6 D4 | qhull o
418echo "rbox 1000 s D2 | qhull FA Tcv"
419rbox 1000 s D2 | qhull FA Tcv
420echo "rbox 1000 s | qhull FA Tcv"
421rbox 1000 s | qhull FA Tcv
422echo "rbox c D4 | qhull FA Tcv"
423rbox c D4 | qhull FA Tcv
424echo "rbox c D5 | qhull FA Tcv"
425rbox c D5 | qhull FA Tcv
426echo "rbox c D5 | qhull FA Qt Tcv"
427rbox c D5 | qhull FA Qt Tcv
428echo "rbox 10 D2 | qhull d FA Tcv"
429rbox 10 D2 | qhull d FA Tcv
430echo "rbox 10 D2 | qhull d Qu FA Tcv"
431rbox 10 D2 | qhull d Qu FA Tcv
432echo "rbox 10 D2 | qhull FA Tcv"
433rbox 10 D2 | qhull FA Tcv
434echo "rbox 10 c D2 | qhull Fx Tcv"
435rbox 10 c D2 | qhull Fx Tcv
436echo "rbox 1000 s | qhull FS Tcv"
437rbox 1000 s | qhull FS Tcv
438echo "rbox 10 W0 D2 | qhull p Qc FcC Tcv"
439rbox 10 W0 D2 | qhull p Qc FcC Tcv
440echo "rbox 4 z h s D2 | qhull Fd s n FD Tcv"
441rbox 4 z h s D2 | qhull Fd s n FD Tcv
442echo "rbox 6 s D3 | qhull C-0.1 Qc FF s FQ Fi n Fo FQ FI Fm Fn FN FO FO FQ Fs FS FV Fv Tcv"
443rbox 6 s D3 | qhull C-0.1 Qc FF s FQ Fi n Fo FQ FI Fm Fn FN FO FO FQ Fs FS FV Fv Tcv
444echo "rbox P0.5,0.5 P0.5,0.5 W0 5 D2 | qhull d FN Qc"
445rbox P0.5,0.5 P0.5,0.5 W0 5 D2 | qhull d FN Qc
446echo "rbox 10 D3 | qhull Fa PA5"
447rbox 10 D3 | qhull Fa PA5
448echo "rbox 10 D3 | qhull Fa PF0.4"
449rbox 10 D3 | qhull Fa PF0.4
450
451echo === test Qt ${d:-`date`}
452echo "rbox c | qhull Qt s o Tcv"
453rbox c | qhull Qt s o Tcv
454echo "rbox c | qhull Qt f i"
455rbox c | qhull Qt f i
456echo "rbox c | qhull Qt m FM n"
457rbox c | qhull Qt m FM n
458echo "rbox c | qhull Qt p o"
459rbox c | qhull Qt p o
460echo "rbox c | qhull Qt Fx"
461rbox c | qhull Qt Fx
462echo "rbox c | qhull Qt FA s Fa"
463rbox c | qhull Qt FA s Fa
464echo "rbox 6 r s c G0.1 D2 | qhull Qt d FA Tcv"
465rbox 6 r s c G0.1 D2 | qhull Qt d FA Tcv
466echo "rbox 6 r s c G0.1 D2 | qhull d FA Tcv"
467rbox 6 r s c G0.1 D2 | qhull d FA Tcv
468echo "rbox 6 r s c G0.1 D2 | qhull Qt v p Tcv"
469rbox 6 r s c G0.1 D2 | qhull Qt v p Tcv
470echo "rbox c | qhull Qt C-0.1 Qc FF s FQ Fi n Fo FQ FI Fm Fn FN FO FO FQ Fs FS FV Fv Tcv"
471rbox c | qhull Qt C-0.1 Qc FF s FQ Fi n Fo FQ FI Fm Fn FN FO FO FQ Fs FS FV Fv Tcv
472echo "rbox 6 r s c G0.1 D2 P0.1,0.1 | qhull s FP d FO Qt"
473rbox 6 r s c G0.1 D2 P0.1,0.1 | qhull s FP d FO Qt
474echo "rbox 100 W0 | qhull Tv Q11 FO"
475rbox 100 W0 | qhull Tv Q11 FO
476
477echo === test unbounded intersection
478echo "rbox c | qhull PD0:0.5 n | qhull H0 Fp Tcv"
479rbox c | qhull PD0:0.5 n | qhull H0 Fp Tcv
480echo "rbox 1000 W1e-3 D3 | qhull PA8 Fa FS s n Tcv"
481rbox 1000 W1e-3 D3 | qhull PA8 Fa FS s n Tcv
482echo "rbox 1000 W1e-3 D3 | qhull C-0.01 PM10 Fm n Tcv Qc"
483rbox 1000 W1e-3 D3 | qhull C-0.01 PM10 Fm n Tcv Qc
484echo "rbox 1000 W1e-3 D3 | qhull C-0.01 PA8 PG n Tcv Qc"
485rbox 1000 W1e-3 D3 | qhull C-0.01 PA8 PG n Tcv Qc
486echo "rbox 10 | qhull FO Tz TO q_test.log.1"
487rbox 10 | qhull FO Tz TO q_test.log.1
488echo "type q_test.log.1"
489type q_test.log.1
490
491echo === check Delaunay/Voronoi ${d:-`date`}
492echo "rbox 10 D2 | qhull d Tcv"
493rbox 10 D2 | qhull d Tcv
494echo "rbox 10 D2 | qhull d Qz Tcv"
495rbox 10 D2 | qhull d Qz Tcv
496echo "rbox 10 D3 | qhull d Tcv"
497rbox 10 D3 | qhull d Tcv
498echo "rbox c | qhull d Qz Ft Tcv"
499rbox c | qhull d Qz Ft Tcv
500echo "rbox 10 s D2 c | qhull d Tcv"
501rbox 10 s D2 c | qhull d Tcv
502echo "rbox 10 s D2 | qhull d Tcv Qz Q8"
503rbox 10 s D2 | qhull d Tcv Qz Q8
504echo "rbox 10 D2 | qhull d Tcv p"
505rbox 10 D2 | qhull d Tcv p
506echo "rbox 10 D2 | qhull d Tcv i"
507rbox 10 D2 | qhull d Tcv i
508echo "rbox 10 D2 | qhull d Tcv o"
509rbox 10 D2 | qhull d Tcv o
510echo "rbox 10 D2 | qhull v Tcv o"
511rbox 10 D2 | qhull v Tcv o
512echo "rbox 10 D2 | qhull v Tcv p"
513rbox 10 D2 | qhull v Tcv p
514echo "rbox 10 D2 | qhull v Tcv G"
515rbox 10 D2 | qhull v Tcv G
516echo "rbox 10 D2 | qhull v Tcv Fv"
517rbox 10 D2 | qhull v Tcv Fv
518echo "rbox 10 D2 | qhull v Tcv Fi"
519rbox 10 D2 | qhull v Tcv Fi
520echo "rbox 10 D2 | qhull v Tcv Fo"
521rbox 10 D2 | qhull v Tcv Fo
522echo "rbox 10 D2 | qhull v Qu o Fv Fi Fo Tcv"
523rbox 10 D2 | qhull v Qu o Fv Fi Fo Tcv
524echo "rbox 10 D3 | qhull v Fv Tcv"
525rbox 10 D3 | qhull v Fv Tcv
526echo "rbox 10 D3 | qhull v fi Tcv"
527rbox 10 D3 | qhull v Fi Tcv
528echo "rbox 10 D3 | qhull v Fo Tcv"
529rbox 10 D3 | qhull v Fo Tcv
530echo "rbox 10 D3 | qhull v Qu o Fv Fi Fo Tcv"
531rbox 10 D3 | qhull v Qu o Fv Fi Fo Tcv
532echo "rbox 5 D2 | qhull v f FnN o"
533rbox 5 D2 | qhull v f FnN o
534
535echo === check Halfspace, showing the input ${d:-`date`}
536echo === the Qhull pipeline recreates 100 4-D cospherical points with the same area and volume
537echo "rbox 100 s D4 | qhull FA FV s"
538rbox 100 s D4 | qhull FA FV s
539echo "rbox 100 s D4 | qhull FQ FA FV n | qhull s H"
540rbox 100 s D4 | qhull FQ FA FV n s | qhull s H
541echo "rbox 100 s D4 | qhull FQ FA FV n s Tcv | qhull FQ s H Fp Tcv | qhull FA Tcv"
542rbox 100 s D4 | qhull FQ FA FV n s Tcv | qhull FQ s H Fp Tcv | qhull FA Tcv
543echo === the Qhull pipeline recreates a 3-D tetrahedron
544echo "rbox d D3 | qhull n FD"
545rbox d D3 | qhull n FD
546echo "rbox d D3 | qhull s n FD Tcv | qhull s Fd H0.1,0.1 Fp Tcv"
547rbox d D3 | qhull s n FD Tcv | qhull s Fd H0.1,0.1 Fp Tcv
548echo "rbox 5 r D2 | qhull s n Tcv"
549echo === the Qhull pipeline recreates a regular 2-D pentagon
550rbox 5 r D2 | qhull FQ n
551echo "rbox 5 r D2 | qhull s FQ n Tcv | qhull s H0 Fp Tcv"
552rbox 5 r D2 | qhull s FQ n Tcv | qhull s H0 Fp Tcv
553
554echo === check qhull ${d:-`date`}
555echo "rbox 10 s D3 | qhull Tcv"
556rbox 10 s D3 | qhull Tcv
557echo "rbox 10 s D3 | qhull f Pd0:0.5 Pd2 Pg Tcv"
558rbox 10 s D3 | qhull f Pd0:0.5 Pd2 Pg Tcv
559echo "rbox 10 s D3 | qhull f Tcv PD2:-0.5 Pg"
560rbox 10 s D3 | qhull f Tcv PD2:-0.5 Pg
561echo "rbox 10 s D3 | qhull QR-1"
562rbox 10 s D3 | qhull QR-1
563echo "rbox 10 s D3 | qhull QR-40"
564rbox 10 s D3 | qhull QR-40
565echo "rbox 1000 D3 | qhull Tcvs"
566rbox 1000 D3 | qhull Tcvs
567echo "Test tracing 'Tn', combine stderr/stdout 'Tz', flush fprintf 'Tf'"
568echo "rbox 100 D3 | qhull T1 Tz Tf TA1 TO q_test.log.1"
569rbox 100 D3 | qhull T1 Tz Tf TA1 TO q_test.log.1
570echo "type q_test.log.1"
571type q_test.log.1
572echo "del q_test.log.1"
573del q_test.log.1
574echo "rbox 100 s D3 | qhull TcvA10"
575rbox 100 s D3 | qhull TcvA10
576echo "rbox 100 s D3 | qhull TcvV-2"
577rbox 100 s D3 | qhull TcvV-2
578echo "rbox 100 s D3 | qhull TcvC2"
579rbox 100 s D3 | qhull TcvC2
580echo "rbox 100 s D3 | qhull TcvV2"
581rbox 100 s D3 | qhull TcvV2
582echo "rbox 100 s D3 | qhull T1cvV2P2"
583rbox 100 s D3 | qhull T1cvV2P2
584echo "rbox 100 s D3 | qhull TcvF100"
585rbox 100 s D3 | qhull TcvF100
586echo "rbox 100 s D3 | qhull Qf Tcv"
587rbox 100 s D3 | qhull Qf Tcv
588echo "rbox 100 D3 | qhull Tcv"
589rbox 100 D3 | qhull Tcv
590echo "rbox 100 D3 | qhull Qs Tcv"
591rbox 100 D3 | qhull Qs Tcv
592echo "rbox 100 D5 | qhull Qs Tcv"
593rbox 100 D5 | qhull Qs Tcv
594echo "rbox 100 D3 | qhull Qr Tcv"
595rbox 100 D3 | qhull Qr Tcv
596echo "rbox 100 D3 | qhull Qxv Tcv"
597rbox 100 D3 | qhull Qxv Tcv
598echo "rbox 100 D3 | qhull Qi f Pd0 Pd1 Pd2 Pg Tcv"
599rbox 100 D3 | qhull Qi f Pd0 Pd1 Pd2 Pg Tcv
600echo "rbox c d | qhull Qc f Tcv"
601rbox c d | qhull Qc f Tcv
602echo "rbox c d | qhull Qc p Tcv"
603rbox c d | qhull Qc p Tcv
604echo "rbox 100 D3 | qhull QbB FO Tcv"
605rbox 100 D3 | qhull QbB FO Tcv
606echo "rbox 1000 D2 B1e6 | qhull d Qbb FO Tcv"
607rbox 1000 D2 B1e6 | qhull d Qbb FO Tcv
608echo "rbox 10 D3 | qhull QbB p Tcv"
609rbox 10 D3 | qhull QbB p Tcv
610echo "rbox 10 D3 | qhull Qbb p Tcv"
611rbox 10 D3 | qhull Qbb p Tcv
612echo "rbox 10 D3 | qhull Qb0:-10B2:20 p Tcv"
613rbox 10 D3 | qhull Qb0:-10B2:20 p Tcv
614echo "rbox 10 D3 | qhull Qb0:-10B2:20 p Tcv | qhull QbB p Tcv"
615rbox 10 D3 | qhull Qb0:-10B2:20 p Tcv | qhull QbB p Tcv
616echo "rbox 10 D3 | qhull Qb1:0B1:0 d Tcv Q8"
617rbox 10 D3 | qhull Qb1:0B1:0 d Tcv Q8
618echo "rbox 10 D3 | qhull Qb1:0B1:0B2:0 d Tcv Q8"
619rbox 10 D3 | qhull Qb1:0B1:0B2:0 d Tcv Q8
620echo "rbox 10 D3 | qhull Qb1:0 d Tcv"
621rbox 10 D3 | qhull Qb1:0 d Tcv
622echo "rbox 10 D3 | qhull Qb1:0B1:0  Tcv"
623rbox 10 D3 | qhull Qb1:0B1:0  Tcv
624echo "== next command will error ${d:-`date`} =="
625echo "rbox 10 D2 | qhull Qb1:1B1:1 Tcv"
626rbox 10 D2 | qhull Qb1:1B1:1 Tcv
627echo "rbox 200 L20 D2 t | qhull FO Tcv C-0"
628rbox 200 L20 D2 t | qhull FO Tcv C-0
629echo "rbox 1000 L20 t | qhull FO Tcv C-0"
630rbox 1000 L20 t | qhull FO Tcv C-0
631echo "rbox 200 L20 D4 t | qhull FO Tcv C-0"
632rbox 200 L20 D4 t | qhull FO Tcv C-0
633echo "rbox 200 L20 D5 t | qhull FO Tcv Qx"
634rbox 200 L20 D5 t | qhull FO Tcv Qx
635echo "rbox 1000 W1e-3 s D2 t | qhull d FO Tcv Qu Q0"
636rbox 1000 W1e-3 s D2 t | qhull d FO Tcv Qu Q0
637echo "rbox 1000 W1e-3 s D2 t | qhull d FO Tcv Qu C-0"
638rbox 1000 W1e-3 s D2 t | qhull d FO Tcv Qu C-0
639
640echo === check joggle and TRn ${d:-`date`}
641echo "rbox 100 W0 | qhull QJ1e-14 Qc TR100 Tv"
642rbox 100 W0 | qhull QJ1e-14 Qc TR100 Tv
643echo "rbox 100 W0 | qhull QJ1e-13 Qc TR100 Tv"
644rbox 100 W0 | qhull QJ1e-13 Qc TR100 Tv
645echo "rbox 100 W0 | qhull QJ1e-12 Qc TR100 Tv"
646rbox 100 W0 | qhull QJ1e-12 Qc TR100 Tv
647echo "rbox 100 W0 | qhull QJ1e-11 Qc TR100 Tv"
648rbox 100 W0 | qhull QJ1e-11 Qc TR100 Tv
649echo "rbox 100 W0 | qhull QJ1e-10 Qc TR100 Tv"
650rbox 100 W0 | qhull QJ1e-10 Qc TR100 Tv
651echo "rbox 100 | qhull d QJ Qb0:1e4 QB0:1e5 Qb1:1e4 QB1:1e6 Qb2:1e5 QB2:1e7 FO Tv"
652rbox 100 | qhull d QJ Qb0:1e4 QB0:1e5 Qb1:1e4 QB1:1e6 Qb2:1e5 QB2:1e7 FO Tv
653
654echo === check precision options ${d:-`date`}
655echo "rbox 100 D3 s | qhull E0.01 Qx Tcv FO"
656rbox 100 D3 s | qhull E0.01 Qx Tcv FO
657echo "rbox 100 D3 W1e-1 | qhull W1e-3 Tcv"
658rbox 100 D3 W1e-1 | qhull W1e-3 Tcv
659echo "rbox 100 D3 W1e-1 | qhull W1e-2 Tcv Q0"
660rbox 100 D3 W1e-1 | qhull W1e-2 Tcv Q0
661echo "rbox 100 D3 W1e-1 | qhull W1e-2 Tcv"
662rbox 100 D3 W1e-1 | qhull W1e-2 Tcv
663echo "rbox 100 D3 W1e-1 | qhull W1e-1 Tcv"
664rbox 100 D3 W1e-1 | qhull W1e-1 Tcv
665echo "rbox 15 D2 P0 P1e-14,1e-14 | qhull d Quc Tcv"
666rbox 15 D2 P0 P1e-14,1e-14 | qhull d Quc Tcv
667echo "rbox 15 D3 P0 P1e-12,1e-14,1e-14 | qhull d Qcu Tcv"
668rbox 15 D3 P0 P1e-12,1e-14,1e-14 | qhull d Qcu Tcv
669echo "rbox 1000 s D3 | qhull C-0.01 Tcv Qc"
670rbox 1000 s D3 | qhull C-0.01 Tcv Qc
671echo "rbox 1000 s D3 | qhull C-0.01 V0 Qc Tcv"
672rbox 1000 s D3 | qhull C-0.01 V0 Qc Tcv
673echo "rbox 1000 s D3 | qhull C-0.01 U0 Qc Tcv"
674rbox 1000 s D3 | qhull C-0.01 U0 Qc Tcv
675echo "rbox 1000 s D3 | qhull C-0.01 V0 Qcm Tcv"
676rbox 1000 s D3 | qhull C-0.01 V0 Qcm Tcv
677echo "rbox 1000 s D3 | qhull C-0.01 Qcm Tcv"
678rbox 1000 s D3 | qhull C-0.01 Qcm Tcv
679echo "rbox 1000 s D3 | qhull C-0.01 Q1 FO Tcv Qc"
680rbox 1000 s D3 | qhull C-0.01 Q1 FO Tcv Qc
681echo "rbox 1000 s D3 | qhull C-0.01 Q2 FO Tcv Qc"
682rbox 1000 s D3 | qhull C-0.01 Q2 FO Tcv Qc
683echo "rbox 1000 s D3 | qhull C-0.01 Q3 FO Tcv Qc"
684rbox 1000 s D3 | qhull C-0.01 Q3 FO Tcv Qc
685echo "rbox 1000 s D3 | qhull C-0.01 Q4 FO Tcv Qc"
686rbox 1000 s D3 | qhull C-0.01 Q4 FO Tcv Qc
687echo === this may generate an error ${d:-`date`}
688echo "rbox 1000 s D3 | qhull C-0.01 Q5 FO Tcv"
689rbox 1000 s D3 | qhull C-0.01 Q5 FO Tcv
690echo === this should generate an error ${d:-`date`}
691echo "rbox 1000 s D3 | qhull C-0.01 Q6 FO Po Tcv Qc"
692rbox 1000 s D3 | qhull C-0.01 Q6 FO Po Tcv Qc
693echo "rbox 1000 s D3 | qhull C-0.01 Q7 FO Tcv Qc"
694rbox 1000 s D3 | qhull C-0.01 Q7 FO Tcv Qc
695echo "rbox 1000 s D3 | qhull C-0.01 Qx Tcv Qc"
696rbox 1000 s D3 | qhull C-0.01 Qx Tcv Qc
697echo "=== this may generate an error e.g., t1263080158 ${d:-`date`}"
698echo "rbox 100 s D3 t | qhull R1e-3 Tcv Qc"
699rbox 100 s D3 t | qhull R1e-3 Tcv Qc
700echo "rbox 100 s D3 t | qhull R1e-2 Tcv Qc"
701rbox 100 s D3 t | qhull R1e-2 Tcv Qc
702echo "rbox 500 s D3 t | qhull R0.05 A-1 Tcv Qc"
703rbox 500 s D3 t | qhull R0.05 A-1 Tcv Qc
704echo "rbox 100 W0 D3 t | qhull R1e-3 Tcv Qc"
705rbox 100 W0 D3 t | qhull R1e-3 Tcv Qc
706echo "rbox 100 W0 D3 t | qhull R1e-3 Qx Tcv Qc"
707rbox 100 W0 D3 t | qhull R1e-3 Qx Tcv Qc
708echo "rbox 100 W0 D3 t | qhull R1e-2 Tcv Qc"
709rbox 100 W0 D3 t | qhull R1e-2 Tcv Qc
710echo "rbox 100 W0 D3 t | qhull R1e-2 Qx Tcv Qc"
711rbox 100 W0 D3 t | qhull R1e-2 Qx Tcv Qc
712echo "rbox 500 W0 D3 t | qhull R0.05 A-1 Tcv Qc"
713rbox 500 W0 D3 t | qhull R0.05 A-1 Tcv Qc
714echo "rbox 500 W0 D3 t | qhull R0.05 Qx Tcv Qc"
715rbox 500 W0 D3 t | qhull R0.05 Qx Tcv Qc
716echo "rbox 1000 W1e-20 t | qhull Tcv Qc"
717rbox 1000 W1e-20 t | qhull Tcv Qc
718echo "rbox 1000 W1e-20 D4 t | qhull Tcv Qc"
719rbox 1000 W1e-20 D4 t | qhull Tcv Qc
720echo "rbox 500 W1e-20 D5 t | qhull Tv Qc"
721rbox 500 W1e-20 D5 t | qhull Tv Qc
722echo "rbox 100 W1e-20 D6 t | qhull Tv Qc"
723rbox 100 W1e-20 D6 t | qhull Tv Qc
724echo "rbox 50 W1e-20 D6 t | qhull Qv Tv Qc"
725rbox 50 W1e-20 D6 t | qhull Qv Tv Qc
726echo "rbox 10000 D4 t | qhull QR0 Qc C-0.01 A0.3 Tv"
727rbox 10000 D4 t | qhull QR0 Qc C-0.01 A0.3 Tv
728echo "rbox 1000 D2 t | qhull d QR0 Qc C-1e-8 Qu Tv"
729rbox 1000 D2 t | qhull d QR0 Qc C-1e-8 Qu Tv
730echo "rbox 300 D5 t |qhull A-0.999 Qx Qc Tcv"
731rbox 300 D5 t |qhull A-0.999 Qx Qc Tcv
732echo "rbox 100 D6 t |qhull A-0.9999 Qx Qc Tcv"
733rbox 100 D6 t |qhull A-0.9999 Qx Qc Tcv
734echo "rbox 50 D7 t |qhull A-0.99999 Qx Qc Tcv W0.1"
735rbox 50 D7 t |qhull A-0.99999 Qx Qc Tcv W0.1
736
737echo === check bad cases for Qhull.  May cause errors ${d:-`date`}
738echo "rbox 1000 L100000 s G1e-6 t | qhull Tv"
739rbox 1000 L100000 s G1e-6 t | qhull Tv
740echo "rbox 1000 L100000 s G1e-6 t | qhull Tv Q10"
741rbox 1000 L100000 s G1e-6 t | qhull Tv Q10
742echo "rbox 1000 s Z1 G1e-13 t | qhull Tv"
743rbox 1000 s Z1 G1e-13 t | qhull Tv
744echo "rbox 1000 s W1e-13 P0 t | qhull d Qbb Qc Q12 Tv"
745rbox 1000 s W1e-13 P0 t | qhull d Qbb Qc Q12 Tv
746echo "rbox 1000 s W1e-13 t | qhull d Q12 Tv"
747rbox 1000 s W1e-13 t | qhull d Q12 Tv
748echo "rbox 1000 s W1e-13 t D2 | qhull d Tv"
749rbox 1000 s W1e-13 t D2 | qhull d Tv
750
751echo =======================================================
752echo =======================================================
753echo === The following commands may cause errors ===========
754echo =======================================================
755echo =======================================================
756echo "rbox c D7 | qhull Q0 Tcv"
757rbox c D7 | qhull Q0 Tcv
758echo "rbox 100 s D3 | qhull Q0 E1e-3 Tc Po"
759rbox 100 s D3 | qhull Q0 E1e-3 Tc Po
760echo "rbox 100 s D3 | qhull Q0 E1e-2 Tc Po"
761rbox 100 s D3 | qhull Q0 E1e-2 Tc Po
762echo "rbox 100 s D3 | qhull Q0 E1e-1 Tc Po"
763rbox 100 s D3 | qhull Q0 E1e-1 Tc Po
764echo "rbox 100 s D3 | qhull Q0 R1e-3 Tc Po"
765rbox 100 s D3 | qhull Q0 R1e-3 Tc Po
766echo "rbox 100 s D3 | qhull Q0 R1e-2 Tc Po"
767rbox 100 s D3 | qhull Q0 R1e-2 Tc Po
768echo "rbox 100 s D3 | qhull Q0 R0.05 Tc"
769rbox 100 s D3 | qhull Q0 R0.05 Tc
770echo "rbox 100 s D3 | qhull Q0 R0.05 Tc Po"
771rbox 100 s D3 | qhull Q0 R0.05 Tc Po
772echo "rbox 1000 W1e-7 | qhull Q0 Tc Po"
773rbox 1000 W1e-7 | qhull Q0 Tc Po
774echo "rbox 50 s | qhull Q0 V0.05 W0.01 Tc Po"
775rbox 50 s | qhull Q0 V0.05 W0.01 Tc Po
776echo "rbox 100 s D5 | qhull Q0 R1e-2 Tc Po"
777rbox 100 s D5 | qhull Q0 R1e-2 Tc Po
778echo "rbox L100 10000 D4 s C1,1e-13 t2 | qhull"
779rbox L100 10000 D4 s C1,1e-13 t2 | qhull
780echo "rbox L100 10000 D4 s C1,1e-13 t2 | qhull Q12"
781rbox L100 10000 D4 s C1,1e-13 t2 | qhull Q12
782echo "rbox 50 C1,1E-13 t1447644703 | qhull d"
783rbox 50 C1,1E-13 t1447644703 | qhull d
784echo "rbox 50 C1,1E-13 t1447644703 | qhull d Q12"
785rbox 50 C1,1E-13 t1447644703 | qhull d Q12
786echo "rbox 50 C1,1E-13 t1447644703 | qhull d Q14"
787rbox 50 C1,1E-13 t1447644703 | qhull d Q14
788echo "qhull -"
789qhull -
790echo "rbox"
791rbox
792
793echo "# end of q_test"
794