Module: FFTW3
- Defined in:
- lib/fftw3.rb,
lib/fftw3/plan.rb,
lib/fftw3/error.rb,
lib/fftw3/iodim.rb,
lib/fftw3/utils.rb,
lib/fftw3/wisdom.rb,
lib/fftw3/threads.rb,
lib/fftw3/version.rb,
lib/fftw3/ffi/quad.rb,
lib/fftw3/constants.rb,
lib/fftw3/ffi/float.rb,
lib/fftw3/ffi/types.rb,
lib/fftw3/ffi/double.rb,
lib/fftw3/aligned_memory.rb,
lib/fftw3/ffi/long_double.rb,
lib/fftw3/ffi/library_loader.rb,
lib/fftw3/ffi/binding_template.rb
Defined Under Namespace
Modules: Error, FFI, Threads, Utils, Wisdom
Classes: AlignedMemory, IODim, IODim64, Plan
Constant Summary
collapse
- VERSION =
"0.1.0"
- NO_TIMELIMIT =
-1.0
- MEASURE =
0
- DESTROY_INPUT =
1 << 0
- UNALIGNED =
1 << 1
- CONSERVE_MEMORY =
1 << 2
- EXHAUSTIVE =
1 << 3
- PRESERVE_INPUT =
1 << 4
- PATIENT =
1 << 5
- ESTIMATE =
1 << 6
- ESTIMATE_PATIENT =
1 << 7
- BELIEVE_PCOST =
1 << 8
- NO_DFT_R2HC =
1 << 9
- NO_NONTHREADED =
1 << 10
- NO_BUFFERING =
1 << 11
- NO_INDIRECT_OP =
1 << 12
- ALLOW_LARGE_GENERIC =
1 << 13
- NO_RANK_SPLITS =
1 << 14
- NO_VRANK_SPLITS =
1 << 15
- NO_VRECURSE =
1 << 16
- NO_SIMD =
1 << 17
- NO_SLOW =
1 << 18
- NO_FIXED_RADIX_LARGE_N =
1 << 19
- ALLOW_PRUNING =
1 << 20
- WISDOM_ONLY =
1 << 21
- FORWARD =
-1
- BACKWARD =
1
- R2HC =
0
- HC2R =
1
- DHT =
2
- REDFT00 =
3
- REDFT01 =
4
- REDFT10 =
5
- REDFT11 =
6
- RODFT00 =
7
- RODFT01 =
8
- RODFT10 =
9
- RODFT11 =
10
Class Method Summary
collapse
Class Method Details
.available_precisions ⇒ Object
37
38
39
40
41
42
43
44
|
# File 'lib/fftw3.rb', line 37
def available_precisions
precisions = []
precisions << :double if double_available?
precisions << :float if float_available?
precisions << :long_double if long_double_available?
precisions << :quad if quad_available?
precisions
end
|
.codelet_optimizations(precision: :double) ⇒ Object
54
55
56
|
# File 'lib/fftw3.rb', line 54
def codelet_optimizations(precision: :double)
FFTW3::FFI.string_constant(precision, :codelet_optim)
end
|
.compiler(precision: :double) ⇒ Object
50
51
52
|
# File 'lib/fftw3.rb', line 50
def compiler(precision: :double)
FFTW3::FFI.string_constant(precision, :cc)
end
|
.double_available? ⇒ Boolean
21
22
23
|
# File 'lib/fftw3.rb', line 21
def double_available?
FFI::Double.available?
end
|
.float_available? ⇒ Boolean
25
26
27
|
# File 'lib/fftw3.rb', line 25
def float_available?
FFI::Float.available?
end
|
.long_double_available? ⇒ Boolean
29
30
31
|
# File 'lib/fftw3.rb', line 29
def long_double_available?
FFI::LongDouble.available?
end
|
.quad_available? ⇒ Boolean
33
34
35
|
# File 'lib/fftw3.rb', line 33
def quad_available?
FFI::Quad.available?
end
|
.version(precision: :double) ⇒ Object
46
47
48
|
# File 'lib/fftw3.rb', line 46
def version(precision: :double)
FFTW3::FFI.string_constant(precision, :version)
end
|