You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| xtensor-fftw/basic_long_double.hpp | long double | -DXTENSOR_FFTW_USE_LONG_DOUBLE=ON | -DENABLE_LONGDOUBLE=ON |
70
+
| xtensor-fftw/basic_option.hpp | depends by compile options | subset of above options | subset of above options |
71
+
| xtensor-fftw/basic.hpp | all types | no option | all above options |
72
+
73
+
Specify only the required precision type to reduce the dependencies size of your application (for example for a Mobile App it matters), in fact FFTW needs to compile a specific library for each precision thus creating:
74
+
*`libfftw3f` for float precision
75
+
*`libfftw3` for double precision
76
+
*`libfftw3l` for long double precision
77
+
78
+
>__*Notes*__: FFTW allow SIMD instructions (SSE,SSE2,AVX,AVX2), OpenMP and Threads optimizations. Take a look to the availables options before compile it.
79
+
61
80
The functions in `xtensor-fftw/basic.hpp` mimic the behavior of `numpy.fft` as much as possible.
62
81
In most cases transforms on identical input data should produce identical results within reasonable machine precision error bounds.
63
82
However, there are a few differences that one should keep in mind:
@@ -126,11 +145,10 @@ What follows are instructions for compiling and running the _xtensor-fftw_ tests
126
145
These also serve as an example of how to do build your own code using _xtensor-fftw_ (excluding the GoogleTest specific parts).
127
146
128
147
### Dependencies for building tests
148
+
129
149
The main dependency is a version of FFTW 3.
130
-
For the tests, we need the floating point version which is enabled in the FFTW configuration step using:
131
-
```bash
132
-
./configure --enable-float
133
-
```
150
+
To enable all the precision types, FFTW must be compiled with the related flags:
CMake and _xtensor_ must also be installed in order to compile the _xtensor-fftw_ tests.
136
154
Both can either be installed through Conda or built/installed manually.
@@ -179,6 +197,64 @@ cd test
179
197
./test_xtensor-fftw
180
198
```
181
199
200
+
## Advanced Setting
201
+
202
+
This section shows how to configure `cmake` in order to exploit advanced settings.
203
+
204
+
### Use only Double precision
205
+
206
+
After a standard installation of FFTW library without specify a particular options, this command allow to run Test and Benchmarks using only `double` precision:
>__*Note*__: Before running test or benchmark remember to export the intel library path, e.g. on OS X: `export DYLD_LIBRARY_PATH=/opt/intel/oneapi/mkl/2021.2.0/lib/:/opt/intel/oneapi/compiler/2021.2.0/mac/compiler/lib/`
257
+
182
258
## License
183
259
184
260
We use a shared copyright model that enables all contributors to maintain the
0 commit comments