# Load guix shell first with # # . .guix-shell export prescheme=/home/wrk/iwrk/opensource/lisp/contrib/prescheme/bin/prescheme $prescheme < prescheme-compile.scm # return value is meaningless # gcc hello.c $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a # gcc -g vec.c $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a sed -i '/struct gsl_vector {$/{n;s/^};//;}' openblas.c sed -i 's/struct gsl_vector {//' openblas.c sed -i 's/struct //g' openblas.c sed -i '/struct m256d {$/{n;s/^};//;}' simde.c sed -i 's/struct m256d {//' simde.c sed -i 's/struct m256d \*/simde__m256d /' simde.c sed -i 's/struct //g' simde.c rm -f openblas-test rm -f simde-test gcc -g openblas.c $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a -lgsl -lgslcblas -oopenblas-test || exit 2 ./openblas-test # simde and avx512 gcc -Icontrib/simde -mavx -o avx-test avx.c && ./avx-test gcc -g -mavx simde.c -Icontrib/simde/ $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a -osimde-test || exit 2 ./openblas-test ./simde-test