ooura_fft 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,56 @@
1
+ /*******************************************************************************
2
+ ooura_fft.c - EntryPoint
3
+
4
+ $author$
5
+ *******************************************************************************/
6
+ #include <ruby.h>
7
+ #define USE_GLOBAL_VARIABLE
8
+ #include "ooura_fft/globals.h"
9
+ #include "missing/missing.h"
10
+ #include "internal/setting/ooura_fft.h"
11
+ #include "abi/fftsg/fftsg.h"
12
+
13
+ #ifndef HAVE_ISPOW2L
14
+ # include "missing/ispow2l.c"
15
+ #endif
16
+
17
+ // ABI of OouraFFT
18
+ #include "abi/fftsg/fftsg.c"
19
+
20
+ #define RDOC_PARSE_DUMMY 0
21
+
22
+ void
23
+ Init_ooura_fft(void)
24
+ {
25
+ /*
26
+ * Document-class: OouraFFT
27
+ *
28
+ * We provide Professor Ooura's FFT as a front end.
29
+ *
30
+ * There are six FFT routines available, each with the following:
31
+ * cdft: Complex Discrete Fourier Transform
32
+ * rdft: Real Discrete Fourier Transform
33
+ * ddct: Discrete Cosine Transform
34
+ * ddst: Discrete Sine Transform
35
+ * dfct: Cosine Transform of RDFT (Real Symmetric DFT)
36
+ * dfst: Sine Transform of RDFT (Real Anti-symmetric DFT)
37
+ *
38
+ *
39
+ * Copyright:
40
+ * :: (C) 1996-2001 Takuya OOURA
41
+ */
42
+ rb_mOouraFFT = rb_define_module("OouraFFT");
43
+
44
+ #if RDOC_PARSE_DUMMY
45
+ rb_define_module_function(rb_mOouraFFT, "cdft", fft_cdft, -1); // in fft.c
46
+ rb_define_module_function(rb_mOouraFFT, "rdft", fft_rdft, -1); // in fft.c
47
+ rb_define_module_function(rb_mOouraFFT, "ddct", fft_ddct, -1); // in fft.c
48
+ rb_define_module_function(rb_mOouraFFT, "ddst", fft_ddst, -1); // in fft.c
49
+ rb_define_module_function(rb_mOouraFFT, "dfct", fft_dfct, -1); // in fft.c
50
+ rb_define_module_function(rb_mOouraFFT, "dfst", fft_dfst, -1); // in fft.c
51
+ /* The using thread model name. Supports in Windows and POSIX. */
52
+ rb_define_const(rb_mOouraFFT, "USING_THREAD", rb_str_new_cstr((const char *)USING_THREAD));
53
+ #else
54
+ InitVM(FFT);
55
+ #endif
56
+ }
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OouraFFT
4
+ # Module version.
5
+ VERSION = "0.1.0"
6
+ end
data/lib/ooura_fft.rb ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "ooura_fft/version"
4
+ require "ooura_fft/ooura_fft"
5
+
6
+ module OouraFFT; end
data/sig/ooura_fft.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module OouraFFT
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ooura_fft
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - tribusonz
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-10-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake-compiler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Front-end of OouraFFT for Ruby.
56
+ email:
57
+ - xwisepp62543@gmail.com
58
+ executables: []
59
+ extensions:
60
+ - ext/ooura_fft/extconf.rb
61
+ extra_rdoc_files: []
62
+ files:
63
+ - CHANGELOG.md
64
+ - CODE_OF_CONDUCT.md
65
+ - LICENSE
66
+ - LICENSE.txt
67
+ - README.md
68
+ - Rakefile
69
+ - ext/ooura_fft/abi/fftsg/fftsg.c
70
+ - ext/ooura_fft/abi/fftsg/fftsg.h
71
+ - ext/ooura_fft/abi/fftsg/readme.txt
72
+ - ext/ooura_fft/extconf.rb
73
+ - ext/ooura_fft/fft.c
74
+ - ext/ooura_fft/internal/setting/ooura_fft.h
75
+ - ext/ooura_fft/internal/solver/ooura_fft/cdft.h
76
+ - ext/ooura_fft/internal/solver/ooura_fft/ddct.h
77
+ - ext/ooura_fft/internal/solver/ooura_fft/ddst.h
78
+ - ext/ooura_fft/internal/solver/ooura_fft/dfct.h
79
+ - ext/ooura_fft/internal/solver/ooura_fft/dfst.h
80
+ - ext/ooura_fft/internal/solver/ooura_fft/rdft.h
81
+ - ext/ooura_fft/missing/ispow2l.c
82
+ - ext/ooura_fft/missing/missing.h
83
+ - ext/ooura_fft/ooura_fft.c
84
+ - ext/ooura_fft/ooura_fft/api.h
85
+ - ext/ooura_fft/ooura_fft/ext_extern.h
86
+ - ext/ooura_fft/ooura_fft/globals.h
87
+ - lib/ooura_fft.rb
88
+ - lib/ooura_fft/version.rb
89
+ - sig/ooura_fft.rbs
90
+ homepage: https://github.com/tribusonz-2/ruby-ooura_fft
91
+ licenses:
92
+ - MIT
93
+ metadata:
94
+ homepage_uri: https://github.com/tribusonz-2/ruby-ooura_fft
95
+ source_code_uri: https://github.com/tribusonz-2/ruby-ooura_fft
96
+ changelog_uri: https://github.com/tribusonz-2/ruby-ooura_fft/changelog.md
97
+ post_install_message:
98
+ rdoc_options: []
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: 3.0.0
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ requirements: []
112
+ rubygems_version: 3.5.22
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: Front-end of OouraFFT for Ruby
116
+ test_files: []