ffi_float2.py 682 B

12345678910111213141516171819202122232425262728293031
  1. # test ffi float support
  2. try:
  3. import ffi
  4. except ImportError:
  5. print("SKIP")
  6. raise SystemExit
  7. def ffi_open(names):
  8. err = None
  9. for n in names:
  10. try:
  11. mod = ffi.open(n)
  12. return mod
  13. except OSError as e:
  14. err = e
  15. raise err
  16. libm = ffi_open(('libm.so', 'libm.so.6', 'libc.so.0', 'libc.so.6', 'libc.dylib'))
  17. # Some libc's implement tgammaf as header macro with tgamma(), so don't assume
  18. # it'll be in library.
  19. try:
  20. tgammaf = libm.func('f', 'tgammaf', 'f')
  21. except OSError:
  22. print("SKIP")
  23. raise SystemExit
  24. for fun in (tgammaf,):
  25. for val in (0.5, 1, 1.0, 1.5, 4, 4.0):
  26. print('%.6f' % fun(val))