aboutsummaryrefslogtreecommitdiff
# 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