packages feed

idris-0.9.14.2: test/primitives002/run

#!/usr/bin/env bash

HEAD="module Main

import Data.Floats

strtake : Nat -> String -> String
strtake n str = pack (take n (unpack str))

main : IO ()"

TESTS=("prim__floatToStr 0.0"
"prim__strToFloat \"0.0\""
"prim__addFloat 1.0 1.0"
"prim__subFloat 1.0 1.0"
"prim__mulFloat 1.0 1.0"
"prim__divFloat 1.0 1.0"
"prim__slteFloat 1.0 1.0"
"prim__sltFloat 1.0 1.0"
"prim__sgteFloat 1.0 1.0"
"prim__sgtFloat 1.0 1.0"
"prim__eqFloat 1.0 1.0"
"prim__floatACos 1.0"
"prim__floatATan 1.0"
"prim__floatCos 1.0"
"prim__floatFloor 1.0"
"prim__floatSin 1.0"
"prim__floatTan 1.0"
"prim__floatASin 1.0"
"prim__floatCeil 1.0"
"prim__floatExp 1.0"
"prim__floatLog 1.0"
"prim__floatSqrt 1.0"
)

generate_testfile()
{
cat <<EOF > $1
${HEAD}
main = putStrLn $ strtake 10 (show $ $2)
EOF
}

for T in "${TESTS[@]}"
do
    echo ${T}
    generate_testfile "tmptest.idr" "${T}"
    idris $@ --quiet tmptest.idr -o tmptest || echo "missing primitive in ${CG}"
    ./tmptest
    rm tmptest.idr tmptest.ibc tmptest
done