Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F81417363
q_test
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Sep 5, 23:24
Size
12 KB
Mime Type
text/x-shellscript
Expires
Sat, Sep 7, 23:24 (1 d, 21 h)
Engine
blob
Format
Raw Data
Handle
20419841
Attached To
rCADDMESH CADD_mesher
q_test
View Options
#!/bin/sh
#
# NOTE: all tests duplicated in q_test.bat
if
! qconvex >/dev/null 2>&1;
then
if
[
! -d bin
]
;
then
echo
Run eg/q_test from the Qhull directory
exit
fi
if
[
! -e bin/qconvex -a ! -e bin/qconvex.exe
]
;
then
echo
'Build qhull first. qconvex is missing from bin/ directory and $PATH'
exit
fi
if
! qconvex >/dev/null 2>&1;
then
PATH
=
$PWD
/bin:
$PATH
fi
fi
if
! user_eg >/dev/null;
then
echo
user_eg failed to run. It uses the shared qhull library
echo
'On Linux, export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH'
fi
echo
==============================
echo
=========
eg/q_test
==========
echo
==
Check qhull
programs
======
echo
==============================
echo
echo
"qhull => $(qhull -V)"
echo
"qconvex => $(qconvex -V)"
echo
"qvoronoi => $(qconvex -V)"
echo
"qdelaunay => $(qdelaunay -V)"
echo
"qhalf => $(qhalf -V)"
echo
echo
==============================
echo
==
check user_eg, user_eg2, and user_eg3
echo
==
errors
if
'user_eg'
and
'user_eg2'
not found
echo
==============================
set
-v
user_eg
"QR1 p n Qt"
"v p"
Fp
user_eg2
"QR1 p"
"v p"
Fp
user_eg3 rbox
"10 D2"
"2 D2"
qhull
"p"
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 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 B10 D2 C2,1E-13,1
rbox 3 z B10 D2
rbox 4 L2 r D2
rbox 4 L2 r D2
rbox 8 L2 D2 C1,1E-13,2
rbox 4 L4 r D3
rbox 4 L4 s D5 W1e-3
rbox 4 L4 s D5 W1e-3 C1,1E-12
rbox y
rbox 10 M3,4
rbox 10 M3,4 C1,1E-14
rbox 27 M1,0,1
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 -n -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
echo
===
this may generate an error e.g., t1263080158
${
d
:-
`
date
`
}
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
rbox L100 10000 D4 s C1,1e-13 t2 | qhull
rbox L100 10000 D4 s C1,1e-13 t2 | qhull Q12
rbox 50 C1,1E-13 t1447644703 | qhull d
rbox 50 C1,1E-13 t1447644703 | qhull d Q12
qhull
qhull .
qhull -
rbox
cat html/qhull.txt html/rbox.txt
# end of q_test
Event Timeline
Log In to Comment