File indexing completed on 2026-04-09 07:48:52
0001
0002 usage(){ cat << EOU
0003 csg_intersect_prim_test.sh
0004 =============================
0005
0006 Purely CPU side testing of headers used with CUDA GPU side.
0007
0008 ::
0009
0010 ~/o/CSG/tests/csg_intersect_prim_test.sh
0011
0012 MODE=3 CIRCLE=0,0,50,100 NCIRCLE=0,0,1 ~/o/CSG/tests/csg_intersect_prim_test.sh pdb
0013
0014
0015 EOU
0016 }
0017
0018 name=csg_intersect_prim_test
0019 cd $(dirname $(realpath $BASH_SOURCE))
0020
0021
0022
0023 test=HalfCylinderXY
0024
0025 export TEST=${TEST:-$test}
0026
0027 TMP=${TMP:-/tmp/$USER/opticks}
0028 export FOLD=$TMP/$name
0029 mkdir -p $FOLD
0030 bin=$FOLD/$name
0031 script=$name.py
0032
0033 cuda_prefix=/usr/local/cuda
0034 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0035
0036 defarg="info_build_run_pdb"
0037 arg=${1:-$defarg}
0038
0039 vars="BASH_SOURCE PWD TEST name TMP FOLD bin CUDA_PREFIX arg script"
0040
0041 if [ "${arg/info}" != "$arg" ]; then
0042 for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0043 fi
0044
0045 if [ "${arg/build}" != "$arg" ]; then
0046 gcc \
0047 $name.cc \
0048 ../CSGNode.cc \
0049 -std=c++17 -lstdc++ -lm \
0050 -I.. \
0051 -I${OPTICKS_PREFIX}/externals/plog/include \
0052 -I${OPTICKS_PREFIX}/include/OKConf \
0053 -I${OPTICKS_PREFIX}/include/SysRap \
0054 -L${OPTICKS_PREFIX}/lib64 \
0055 -lOKConf -lSysRap \
0056 -L${CUDA_PREFIX}/lib64 \
0057 -lcudart \
0058 -I${CUDA_PREFIX}/include \
0059 -DDEBUG_HALFSPACE \
0060 -o $bin
0061
0062 [ $? -ne 0 ] && echo $BASH_SOURCE : build error && exit 1
0063 fi
0064
0065 if [ "${arg/run}" != "$arg" ]; then
0066 $bin
0067 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 2
0068 fi
0069
0070 if [ "${arg/pdb}" != "$arg" ]; then
0071 ${IPYTHON:-ipython} --pdb -i $script
0072 [ $? -ne 0 ] && echo $BASH_SOURCE : pdb error && exit 3
0073 fi
0074
0075 if [ "${arg/ana}" != "$arg" ]; then
0076 ${PYTHON:-python} $script
0077 [ $? -ne 0 ] && echo $BASH_SOURCE : ana error && exit 4
0078 fi
0079
0080 exit 0
0081