File indexing completed on 2026-04-09 07:48:52
0001
0002 usage(){ cat << EOU
0003 csg_intersect_leaf_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_leaf_test.sh
0011 MODE=2 ~/o/CSG/tests/csg_intersect_leaf_test.sh ana
0012 MODE=2 ~/o/CSG/tests/csg_intersect_leaf_test.sh ana
0013
0014 EOU
0015 }
0016
0017 name=csg_intersect_leaf_test
0018 SDIR=$(dirname $(realpath $BASH_SOURCE))
0019
0020 TMP=${TMP:-/tmp/$USER/opticks}
0021 export FOLD=$TMP/$name
0022 mkdir -p $FOLD
0023 bin=$FOLD/$name
0024 script=$SDIR/$name.py
0025
0026 cuda_prefix=/usr/local/cuda
0027 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0028
0029 defarg="info_build_run_ana"
0030 arg=${1:-$defarg}
0031
0032 vars="BASH_SOURCE name TMP FOLD bin CUDA_PREFIX arg script"
0033
0034 if [ "${arg/info}" != "$arg" ]; then
0035 for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0036 fi
0037
0038 if [ "${arg/build}" != "$arg" ]; then
0039 gcc \
0040 $SDIR/$name.cc \
0041 $SDIR/../CSGNode.cc \
0042 -std=c++17 -lstdc++ -lm \
0043 -I$SDIR/.. \
0044 -I${OPTICKS_PREFIX}/externals/plog/include \
0045 -I${OPTICKS_PREFIX}/include/OKConf \
0046 -I${OPTICKS_PREFIX}/include/SysRap \
0047 -L${OPTICKS_PREFIX}/lib64 \
0048 -lOKConf -lSysRap \
0049 -L${CUDA_PREFIX}/lib64 \
0050 -lcudart \
0051 -I${CUDA_PREFIX}/include \
0052 -o $bin
0053
0054 [ $? -ne 0 ] && echo $BASH_SOURCE : build error && exit 1
0055 fi
0056
0057 if [ "${arg/run}" != "$arg" ]; then
0058 $bin
0059 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 2
0060 fi
0061
0062 if [ "${arg/pdb}" != "$arg" ]; then
0063 ${IPYTHON:-ipython} --pdb -i $script
0064 [ $? -ne 0 ] && echo $BASH_SOURCE : pdb error && exit 3
0065 fi
0066
0067 if [ "${arg/ana}" != "$arg" ]; then
0068 ${PYTHON:-python} $script
0069 [ $? -ne 0 ] && echo $BASH_SOURCE : ana error && exit 4
0070 fi
0071
0072 exit 0
0073