#!/bin/sh

source $testsuitedir/lib_test.sh

cat > PROGRAMME << EOP
	:new USR(real)*2/r, STR
	:real_pi -> r
	:real_to_str @r -> (r+2)
	:write :stdout ~s @(r+2)
	:write :stdout ~s "\n"
	:int_to_real 6 -> (r+1)
	:real_division @r @(r+1) -> r
	:real_to_str @r -> (r+2)
	:write :stdout ~s @(r+2)
	:write :stdout ~s "\n"
	:real_cosinus @r -> r
	:real_to_str @r -> (r+2)
	:write :stdout ~s @(r+2)
	:write :stdout ~s "\n"
	:real_square_root @r -> r
	:real_to_str @r -> (r+2)
	:write :stdout ~s @(r+2)
	:write :stdout ~s "\n"
	:real_negation @r -> r
	:real_to_str @r -> (r+2)
	:write :stdout ~s @(r+2)
	:write :stdout ~s "\n"
	:real_logarithm @r -> r
	:real_to_str @r -> (r+2)
	:write :stdout ~s @(r+2)
	:write :stdout ~s "\n"
EOP

cat > MEMOIRE_INITIALE << EOM
# Memory:
# Aliases:
# Free addresses:
# Free blocks:
# End of memory
EOM

cat > MEMOIRE_REF << EOM
# Memory:
# Aliases:
# Free addresses:
# Free blocks:
# End of memory
EOM

cat > STDOUT_REF << EOS
3.141593
0.523599
0.866025
0.930605
-0.930605
EOS

cat > STDERR_REF << EOS
+----------------------------------------------------------------------------------------+
| File PROGRAMME.setlggasm, line 23 > Runtime error (FPE): Invalid argument to logarithm |
+----------------------------------------------------------------------------------------+
EOS

cat > CODE_RETOUR_REF << EOC
129
EOC

test_basique -p ${builddir}/src/machine/plugin/officiels/.libs/setlggmachinepluginreal.so -p ${builddir}/src/machine/plugin/officiels/.libs/setlggmachinepluginmaths.so
