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