#!/bin/sh # # NOTE: all tests duplicated in q_test.bat set -v echo === errors if 'user_eg' and 'user_eg2' not found === echo === check user_eg ${d:-`date`} ===================== user_eg "QR1 p n Qt" "v p" Fp user_eg2 "QR1 p" "v p" Fp echo === check front ends ${d:-`date`} ================== qconvex - qconvex . qconvex rbox c D3 | qconvex s n Qt rbox c D2 | qconvex s i rbox c D2 | qconvex o rbox 1000 s | qconvex s Tv FA rbox c d D2 | qconvex s Qc Fx rbox y 1000 W0 | qconvex s n rbox y 1000 W0 | qconvex s QJ rbox d G1 D12 | qconvex QR0 FA rbox c D6 | qconvex FA TF500 rbox c P0 d D2 | qconvex p Fa Fc FP FI Fn FN FS Fv Fx rbox c d D2 | qconvex s i QV0 rbox c | qconvex Q0 qvoronoi - qvoronoi . qvoronoi rbox c P0 D2 | qvoronoi s o rbox c P0 D2 | qvoronoi Fi Tv rbox c P0 D2 | qvoronoi Fo rbox c P0 D2 | qvoronoi Fv rbox c P0 D2 | qvoronoi s Qu Qt Fv rbox c P0 D2 | qvoronoi Qu Fo rbox c G1 d D2 | qvoronoi s p rbox c G1 d D2 | qvoronoi QJ p rbox c P-0.1 P+0.1 P+0.1 D2 | qvoronoi s Fc FP FQ Fn FN rbox P0 c D2 | qvoronoi s Fv QV0 qdelaunay - qdelaunay . qdelaunay rbox c P0 D2 | qdelaunay s o rbox c P0 D2 | qdelaunay i rbox c P0 D2 | qdelaunay Fv rbox c P0 D2 | qdelaunay s Qu Qt Fv rbox c G1 d D2 | qdelaunay s i rbox c G1 d D2 | qhull d Qbb Ft rbox c G1 d D2 | qhull d Qbb QJ s Ft rbox M3,4 z 100 D2 | qdelaunay s rbox c P-0.1 P+0.1 P+0.1 D2 | qdelaunay s Fx Fa Fc FP FQ Fn FN rbox P0 P0 c D2 | qdelaunay s FP QV0 qhalf - qhalf . qhalf rbox d | qhull FQ n | qhalf s Qt H0,0,0 Fp rbox c | qhull FQ FV n | qhalf s i rbox c | qhull FQ FV n | qhalf o rbox d D2 | qhull FQ n | qhalf s H0 Fc FP Fn FN FQ Fv Fx echo === check quality of Qhull for ${d:-`hostname`} ${d:-`date`} rbox 1000 W0 | qhull QR2 QJ s Fs Tv rbox 1000 W0 | qhull QR2 s Fs Tv rbox 1000 s | qhull C0.02 Qc Tv rbox 500 s D4 | qhull C0.01 Qc Tv rbox 1000 s | qhull C-0.02 Qc Tv rbox 1000 s | qhull C-0.02 Qc Tv rbox 1000 s D4 | qhull C-0.01 Qc Tv rbox 200 s D5 | qhull C-0.01 Qx Qc Tv rbox 100 s D6 | qhull C-0.001 Qx Qc Tv rbox 1000 W1e-4 | qhull C-1e-6 Qc Tv rbox 1000 W5e-4 D4 | qhull C-1e-5 Qc Tv rbox 400 W1e-3 D5 | qhull C-1e-5 Qx Qc Tv echo === check input format etc. ${d:-`date`} qhull <<EOF 2 4 #;laskdjf 1 0 1 1 1 2 0 0 EOF qhull <<EOF 2 4 #;laskdjf 1 0 1 1 1 2 0 0 0 EOF qhull <<EOF 2 4 #;laskdjf 1 0 1 1 1 2 0 EOF qhull <<EOF 2 4 #;laskdjf 1 #kjdfasdf 0 1 1 1 2 0 EOF qhull <<EOF 2 4 1 0 1 1 1 2 0 0 EOF qhull d Qz <<EOF 2 5 1 0 1 1 0 1 0 0 0 EOF qhull d Q8 Qz <<EOF 2 5 1 0 1 1 0 1 0 0 0 EOF rbox d h | qhull Fd FV n FD Tcv | qhull Fd H Fp Tcv rbox 10 h | qhull Fd FD p Tcv | qhull Fd d Tcv echo === check rbox ${d:-`date`} rbox 3 n D2 rbox 3 D2 rbox 3 h D2 rbox 3 z D2 rbox 3 z h D2 rbox 3 B10 D2 rbox 3 z B10 D2 rbox 4 L2 r D2 rbox 8 L2 D2 rbox 4 L4 r D3 rbox 4 L4 s D5 W1e-3 rbox y rbox 10 M3,4 rbox 10 L2 s D3 | qhull Tcv rbox 10 L4 s W1e-3 D3 | qhull Tcv rbox 10 L6 D3 | qhull Tcv rbox 10 L1.1 s D4 | qhull Tcv rbox y r 100 W0 O0.5 | qhull s p Tcv rbox x r 100 W0 O0.5 | qhull s Tcv rbox 12 D8 | qhull Tcv rbox 12 D9 | qhull Tcv rbox 1000 D4 | qhull s i A-0.97 C0.2 A0.7 Tcv rbox 3 D2 | qhull Qb0B1:-2 p rbox 100 r D2 | qhull Pd0:0.7 PD0:0.8 n Tcv rbox 1000 s | qhull C0.05 Tcv rbox 1000 s t | qhull Qm C0.05 Tcv rbox 500 D2 | qhull n A-0.95 C0.1 Tcv rbox 500 s P1,1,1 | qhull QgG0 Pp Tcv rbox d | qhull m rbox d | qhull FM rbox c D2 | qhull Tcv Q0 rbox d D2 | qhull Tcv rbox c D3 | qhull Tcv Q0 rbox d D3 | qhull Tcv rbox c D4 | qhull Tcv Q0 rbox d D4 | qhull Tcv rbox c D5 | qhull Tcv Q0 rbox d D5 | qhull Tcv rbox c D6 | qhull Tcv Q0 rbox d D6 | qhull Tcv rbox d D7 | qhull Tcv rbox c D2 | qhull Tcv C-0 rbox c D3 | qhull Tcv C-0 rbox c D4 | qhull Tcv C-0 rbox c D5 | qhull Tcv C-0 rbox c D6 | qhull Tcv C-0 rbox c D7 | qhull Tv C-0 rbox 20 l D3 | qhull Tcv rbox 100 s D2 | qhull Tcv rbox 100 s D3 | qhull Tcv rbox 100 s D4 | qhull Tcv rbox 100 s c D4 | qhull Tcv rbox 100 s d G1.5 D4 | qhull Tcv rbox 100 s W1e-2 | qhull Tcv rbox 100 | qhull Tcv rbox 100 W1e-3 | qhull Tcv rbox 100 r D2 | qhull Tcv rbox 100 r s Z1 | qhull Tcv rbox 100 r s Z1 G0.1 | qhull Tcv C-0 rbox 100 s Z1 G0.1 | qhull Tcv rbox 100 s Z1e-5 G0.1 | qhull Tc Pp echo === check qhull output formats ${d:-`date`} rbox 5 r s D2 | qhull Tcv rbox 5 r s D2 | qhull s rbox 5 r s D2 | qhull s o rbox 5 r s D2 | qhull f rbox 5 r s D2 | qhull i rbox 5 r s D2 | qhull m rbox 5 r s D2 | qhull FM rbox 5 r s D2 | qhull n rbox 5 r s D2 | qhull p rbox 5 r s D2 | qhull o rbox 5 r s D2 | qhull Ft rbox 5 r s D2 | qhull Fx rbox 5 r s D2 | qhull p n i p p rbox 10 D3 | qhull f Tcv rbox 10 D3 | qhull i rbox 10 D3 | qhull p rbox 10 D3 | qhull o rbox 10 D3 | qhull Fx rbox 27 M1,0,1 | qhull Qc rbox 50 D3 s | qhull C0.1 Qc Pd0d1d2 s p Tcv rbox 10 D2 P0 P1e-15 | qhull d Qc FP s Tcv rbox 100 s | qhull C-0.003 Qc FP s rbox 100 s D2 | qhull C0.1 i Fx Tcv rbox 4 s D3 | qhull Qc Ghipv Tcv rbox 6 D4 | qhull f Tcv rbox 6 D4 | qhull i rbox 6 D4 | qhull p rbox 6 D4 | qhull o rbox 1000 s D2 | qhull FA Tcv rbox 1000 s | qhull FA Tcv rbox c D4 | qhull FA Tcv rbox c D5 | qhull FA Tcv rbox c D5 | qhull FA Qt Tcv rbox 10 D2 | qhull d FA Tcv rbox 10 D2 | qhull d Qu FA Tcv rbox 10 D2 | qhull FA Tcv rbox 10 c D2 | qhull Fx Tcv rbox 1000 s | qhull FS Tcv rbox 10 W0 D2 | qhull p Qc FcC Tcv rbox 4 z h s D2 | qhull Fd s n FD Tcv 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 rbox P0.5,0.5 P0.5,0.5 W0 5 D2 | qhull d FN Qc rbox 10 D3 | qhull Fa PA5 rbox 10 D3 | qhull Fa PF0.4 echo === test Qt ${d:-`date`} rbox c | qhull Qt s o Tcv rbox c | qhull Qt f i rbox c | qhull Qt m FM n rbox c | qhull Qt p o rbox c | qhull Qt Fx rbox c | qhull Qt FA s Fa rbox 6 r s c G0.1 D2 | qhull Qt d FA Tcv rbox 6 r s c G0.1 D2 | qhull d FA Tcv rbox 6 r s c G0.1 D2 | qhull Qt v p Tcv 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 rbox 6 r s c G0.1 D2 P0.1,0.1 | qhull s FP d FO Qt rbox 100 W0 | qhull Tv Q11 echo === test unbounded intersection ${d:-`date`} rbox c | qhull PD0:0.5 n | qhull H0 Fp Tcv rbox 1000 W1e-3 D3 | qhull PA8 Fa FS s n Tcv rbox 1000 W1e-3 D3 | qhull C-0.01 PM10 Fm n Tcv Qc rbox 1000 W1e-3 D3 | qhull C-0.01 PA8 PG n Tcv Qc rbox 10 | qhull FO Tz TO q_test.log.1 cat q_test.log.1 echo === check Delaunay/Voronoi ${d:-`date`} rbox 10 D2 | qhull d Tcv rbox 10 D2 | qhull d Tcv Qz rbox 10 D3 | qhull d Tcv rbox c | qhull d Qz Ft Tcv rbox 10 s D2 c | qhull d Tcv rbox 10 s D2 | qhull d Tcv Q8 Qz rbox 10 D2 | qhull d Tcv p rbox 10 D2 | qhull d Tcv i rbox 10 D2 | qhull d Tcv o rbox 10 D2 | qhull v Tcv o rbox 10 D2 | qhull v Tcv p rbox 10 D2 | qhull v Tcv G rbox 10 D2 | qhull v Tcv Fv rbox 10 D2 | qhull v Tcv Fi rbox 10 D2 | qhull v Tcv Fo rbox 10 D2 | qhull v Qu o Fv Fi Fo Tcv rbox 10 D3 | qhull v Fv Tcv rbox 10 D3 | qhull v Fi Tcv rbox 10 D3 | qhull v Fo Tcv rbox 10 D3 | qhull v Qu o Fv Fi Fo Tcv rbox 5 D2 | qhull v f FnN o echo === check Halfspace ${d:-`date`} rbox 100 s D4 | qhull FA FV n s Tcv | qhull H Fp Tcv | qhull FA Tcv rbox d D3 | qhull FQ n s FD Tcv | qhull Fd H0.1,0.1 Fp FQ Tcv rbox 5 r D2 | qhull s n Tcv | qhull H0 Fp Tcv echo === check qhull ${d:-`date`} rbox 10 s D3 | qhull Tcv rbox 10 s D3 | qhull f Pd0:0.5 Pd2 Tcv rbox 10 s D3 | qhull f Tcv PD2:-0.5 rbox 10 s D3 | qhull QR-1 rbox 10 s D3 | qhull QR-40 rbox 1000 D3 | qhull Tcvs rbox 100 D3 | qhull T8 Tz TO q_test.log.1 tail -10 q_test.log.1 rm q_test.log.1 rbox 100 s D3 | qhull TcvV-2 rbox 100 s D3 | qhull TcvC2 rbox 100 s D3 | qhull TcvV2 rbox 100 s D3 | qhull T1cvV2P2 rbox 100 s D3 | qhull TcvF100 rbox 100 s D3 | qhull Qf Tcv rbox 100 D3 | qhull Tcv rbox 100 D3 | qhull Qs Tcv rbox 100 D5 | qhull Qs Tcv rbox 100 D3 | qhull Qr Tcv rbox 100 D3 | qhull Qxv Tcv rbox 100 D3 | qhull Qi f Pd0 Pd1 Pd2 Tcv rbox c d | qhull Qc f Tcv rbox c d | qhull Qc p Tcv rbox 100 D3 | qhull QbB FO Tcv rbox 1000 D2 B1e6 | qhull d Qbb FO Tcv rbox 10 D3 | qhull QbB p Tcv rbox 10 D3 | qhull Qbb p Tcv rbox 10 D3 | qhull Qb0:-10B2:20 p Tcv rbox 10 D3 | qhull Qb0:-10B2:20 p Tcv | qhull QbB p Tcv rbox 10 D3 | qhull Qb1:0B1:0 d Tcv Q8 rbox 10 D3 | qhull Qb1:0B1:0B2:0 d Tcv Q8 rbox 10 D3 | qhull Qb1:0 d Tcv rbox 10 D3 | qhull Qb1:0B1:0 Tcv echo "== next command will error ${d:-`date`} ==" rbox 10 D2 | qhull Qb1:1B1:1 Tcv rbox 200 L20 D2 t | qhull FO Tcv C-0 rbox 1000 L20 t | qhull FO Tcv C-0 rbox 200 L20 D4 t | qhull FO Tcv C-0 rbox 200 L20 D5 t | qhull FO Tcv Qx rbox 1000 W1e-3 s D2 t | qhull d FO Tcv Qu Q0 rbox 1000 W1e-3 s D2 t | qhull d FO Tcv Qu C-0 echo === check joggle and TRn ${d:-`date`} rbox 100 W0 | qhull QJ1e-14 Qc TR100 Tv rbox 100 W0 | qhull QJ1e-13 Qc TR100 Tv rbox 100 W0 | qhull QJ1e-12 Qc TR100 Tv rbox 100 W0 | qhull QJ1e-11 Qc TR100 Tv rbox 100 W0 | qhull QJ1e-10 Qc TR100 Tv rbox 100 | qhull d QJ Qb0:1e4 QB0:1e5 Qb1:1e4 QB1:1e6 Qb2:1e5 QB2:1e7 FO Tv echo === check precision options ${d:-`date`} rbox 100 D3 s | qhull E0.01 Qx Tcv FO rbox 100 D3 W1e-1 | qhull W1e-3 Tcv rbox 100 D3 W1e-1 | qhull W1e-2 Tcv Q0 rbox 100 D3 W1e-1 | qhull W1e-2 Tcv rbox 100 D3 W1e-1 | qhull W1e-1 Tcv rbox 15 D2 P0 P1e-14,1e-14 | qhull d Quc Tcv rbox 15 D3 P0 P1e-12,1e-14,1e-14 | qhull d Qcu Tcv rbox 1000 s D3 | qhull C-0.01 Tcv Qc rbox 1000 s D3 | qhull C-0.01 V0 Qc Tcv rbox 1000 s D3 | qhull C-0.01 U0 Qc Tcv rbox 1000 s D3 | qhull C-0.01 V0 Qcm Tcv rbox 1000 s D3 | qhull C-0.01 Qcm Tcv rbox 1000 s D3 | qhull C-0.01 Q1 FO Tcv Qc rbox 1000 s D3 | qhull C-0.01 Q2 FO Tcv Qc rbox 1000 s D3 | qhull C-0.01 Q3 FO Tcv Qc rbox 1000 s D3 | qhull C-0.01 Q4 FO Tcv Qc echo === this may generate an error ${d:-`date`} rbox 1000 s D3 | qhull C-0.01 Q5 FO Tcv echo === this should generate an error ${d:-`date`} rbox 1000 s D3 | qhull C-0.01 Q6 FO Po Tcv Qc rbox 1000 s D3 | qhull C-0.01 Q7 FO Tcv Qc rbox 1000 s D3 | qhull C-0.01 Qx Tcv Qc rbox 100 s D3 t | qhull R1e-3 Tcv Qc rbox 100 s D3 t | qhull R1e-2 Tcv Qc rbox 500 s D3 t | qhull R0.05 A-1 Tcv Qc rbox 100 W0 D3 t | qhull R1e-3 Tcv Qc rbox 100 W0 D3 t | qhull R1e-3 Qx Tcv Qc rbox 100 W0 D3 t | qhull R1e-2 Tcv Qc rbox 100 W0 D3 t | qhull R1e-2 Qx Tcv Qc rbox 500 W0 D3 t | qhull R0.05 A-1 Tcv Qc rbox 500 W0 D3 t | qhull R0.05 Qx Tcv Qc rbox 1000 W1e-20 t | qhull Tcv Qc rbox 1000 W1e-20 D4 t | qhull Tcv Qc rbox 500 W1e-20 D5 t | qhull Tv Qc rbox 100 W1e-20 D6 t | qhull Tv Qc rbox 50 W1e-20 D6 t | qhull Qv Tv Qc rbox 10000 D4 t | qhull QR0 Qc C-0.01 A0.3 Tv rbox 1000 D2 t | qhull d QR0 Qc C-1e-8 Qu Tv rbox 300 D5 t |qhull A-0.999 Qx Qc Tcv rbox 100 D6 t |qhull A-0.9999 Qx Qc Tcv rbox 50 D7 t |qhull A-0.99999 Qx Qc Tcv W0.1 echo === check bad cases for Qhull. May cause errors ${d:-`date`} rbox 1000 L100000 s G1e-6 t | qhull Tv rbox 1000 L100000 s G1e-6 t | qhull Tv Q10 rbox 1000 s Z1 G1e-13 t | qhull Tv rbox 1000 s W1e-13 P0 t | qhull d Qbb Qc Tv rbox 1000 s W1e-13 t | qhull d Tv rbox 1000 s W1e-13 t D2 | qhull d Tv echo ======================================================= echo ======================================================= echo === The following commands may cause errors ${d:-`date`} echo ======================================================= echo ======================================================= rbox c D7 | qhull Q0 Tcv rbox 100 s D3 | qhull Q0 E1e-3 Tc Po rbox 100 s D3 | qhull Q0 E1e-2 Tc Po rbox 100 s D3 | qhull Q0 E1e-1 Tc Po rbox 100 s D3 | qhull Q0 R1e-3 Tc Po rbox 100 s D3 | qhull Q0 R1e-2 Tc Po rbox 100 s D3 | qhull Q0 R0.05 Tc rbox 100 s D3 | qhull Q0 R0.05 Tc Po rbox 1000 W1e-7 | qhull Q0 Tc Po rbox 50 s | qhull Q0 V0.05 W0.01 Tc Po rbox 100 s D5 | qhull Q0 R1e-2 Tc Po qhull qhull . qhull - rbox cat html/qhull.txt html/rbox.txt # end of q_test