Module: FFTW3::Wisdom
- Defined in:
- lib/fftw3/wisdom.rb
Class Method Summary collapse
- .export_to_file(filename, precision: :double) ⇒ Object
- .export_to_io(io, precision: :double) ⇒ Object
- .export_to_string(precision: :double) ⇒ Object
- .forget!(precision: :double) ⇒ Object
- .import_from_file(filename, precision: :double) ⇒ Object
- .import_from_io(io, precision: :double) ⇒ Object
- .import_from_string(str, precision: :double) ⇒ Object
- .import_system(precision: :double) ⇒ Object
Class Method Details
.export_to_file(filename, precision: :double) ⇒ Object
5 6 7 8 9 |
# File 'lib/fftw3/wisdom.rb', line 5 def self.export_to_file(filename, precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) ffi.send(:"#{pfx}export_wisdom_to_filename", filename) != 0 end |
.export_to_io(io, precision: :double) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/fftw3/wisdom.rb', line 22 def self.export_to_io(io, precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) writer = proc do |char, _data| io.write(callback_char_to_string(char)) end ffi.send(:"#{pfx}export_wisdom", writer, nil) io end |
.export_to_string(precision: :double) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/fftw3/wisdom.rb', line 11 def self.export_to_string(precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) ptr = ffi.send(:"#{pfx}export_wisdom_to_string") return nil if ptr.null? str = ptr.read_string ffi.send(:"#{pfx}free", ptr) str end |
.forget!(precision: :double) ⇒ Object
58 59 60 61 62 |
# File 'lib/fftw3/wisdom.rb', line 58 def self.forget!(precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) ffi.send(:"#{pfx}forget_wisdom") end |
.import_from_file(filename, precision: :double) ⇒ Object
33 34 35 36 37 |
# File 'lib/fftw3/wisdom.rb', line 33 def self.import_from_file(filename, precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) ffi.send(:"#{pfx}import_wisdom_from_filename", filename) != 0 end |
.import_from_io(io, precision: :double) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/fftw3/wisdom.rb', line 45 def self.import_from_io(io, precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) reader = build_reader(io) ffi.send(:"#{pfx}import_wisdom", reader, nil) != 0 end |
.import_from_string(str, precision: :double) ⇒ Object
39 40 41 42 43 |
# File 'lib/fftw3/wisdom.rb', line 39 def self.import_from_string(str, precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) ffi.send(:"#{pfx}import_wisdom_from_string", str) != 0 end |
.import_system(precision: :double) ⇒ Object
52 53 54 55 56 |
# File 'lib/fftw3/wisdom.rb', line 52 def self.import_system(precision: :double) ffi = FFTW3::FFI.module_for(precision) pfx = FFTW3::FFI.prefix_for(precision) ffi.send(:"#{pfx}import_system_wisdom") != 0 end |