diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-08-29 17:24:29 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-08-29 17:24:29 +0300 |
commit | 5cb524673eff51be4b3abdf04548ac854dd32ef1 (patch) | |
tree | e4aa508e7a06c6137f31343913a35dd2e4f1881c /tests/unix/ffi_float2.py | |
parent | a66a99bfd8c87e79682bddc0a08bfeeabe978c2a (diff) | |
download | micropython-5cb524673eff51be4b3abdf04548ac854dd32ef1.tar.gz micropython-5cb524673eff51be4b3abdf04548ac854dd32ef1.zip |
tests/ffi_float: Split tgammaf() testcase to a separate test.
Some libc's may implement tgammaf as a header macro using tgamma(), so
don't assume it'll be in the library.
Diffstat (limited to 'tests/unix/ffi_float2.py')
-rw-r--r-- | tests/unix/ffi_float2.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/unix/ffi_float2.py b/tests/unix/ffi_float2.py new file mode 100644 index 0000000000..d635a27140 --- /dev/null +++ b/tests/unix/ffi_float2.py @@ -0,0 +1,32 @@ +# test ffi float support +import sys +try: + import ffi +except ImportError: + print("SKIP") + sys.exit() + + +def ffi_open(names): + err = None + for n in names: + try: + mod = ffi.open(n) + return mod + except OSError as e: + err = e + raise err + +libm = ffi_open(('libm.so', 'libm.so.6', 'libc.so.0', 'libc.so.6', 'libc.dylib')) + +# Some libc's implement tgammaf as header macro with tgamma(), so don't assume +# it'll be in library. +try: + tgammaf = libm.func('f', 'tgammaf', 'f') +except OSError: + print("SKIP") + sys.exit() + +for fun in (tgammaf,): + for val in (0.5, 1, 1.0, 1.5, 4, 4.0): + print('%.6f' % fun(val)) |