Mercurial > pub > dyncall > bindings
view ruby/rbdc/examples/unix_math.rb @ 28:edbbd467f50a
python binding:
- update to dyncall 1.1
- Python 3 support (supports both, Python 2 and 3)
- using the Capsule API over PyCObject, when available
- support for python unicode strings (for both, Python 2 and 3)
- doc cleanup
ruby binding:
- doc cleanup
author | Tassilo Philipp |
---|---|
date | Tue, 07 Apr 2020 21:16:37 +0200 |
parents | 5e159be89d73 |
children |
line wrap: on
line source
#////////////////////////////////////////////////////////////////////// # # unix_math.rb # Copyright 2015 Tassilo Philipp # # Dyncall sample loading libm and calling functions # #/////////////////////////////////////////////////////////////////////// require 'rbdc' l = Dyncall::ExtLib.new if l.load('/usr/lib/libm.so') != nil and l.syms_init('/usr/lib/libm.so') != nil puts 'Symbols in libm: '+l.syms_count.to_s puts 'All symbol names in libm:' l.syms_each { |s| puts s } puts 'libm has sqrtf()? ' + l.exists?(:sqrtf) .to_s puts 'libm has pow()? ' + l.exists?(:pow) .to_s puts 'libm has not_in_libm()? ' + l.exists?(:not_in_libm).to_s puts 'sqrtf(36.f) = ' + l.call(:sqrtf, 'f)f', 36.0) .to_s puts 'pow(2.0, 10.0) = ' + l.call(:pow, 'dd)d', 2.0, 10.0).to_s end