Skip to content

Commit 2acfd65

Browse files
committed
Version 5.1.
Changed alignment in the `CFixedBuffer` class to 64 bytes. This improves AVX performance of the `PFFFT DOUBLE` implementation by a few percent. Removed redundant files from the `pffft_double` folder, integrated the `pffft_common.c` file into the `pffft_double.c` file.
1 parent b183d17 commit 2acfd65

10 files changed

+84
-431
lines changed

README.md

+14-6
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,9 @@ This SRC library also implements a much faster "power of 2" resampling (e.g.
160160
which is engaged automatically if the resampling parameters permit.
161161

162162
This library was tested for compatibility with [GNU C++](https://gcc.gnu.org/),
163-
[Microsoft Visual C++](https://visualstudio.microsoft.com/) and
164-
[Intel C++](https://software.intel.com/en-us/c-compilers) compilers, on 32-
165-
and 64-bit Windows, macOS, and CentOS Linux.
163+
[Microsoft Visual C++](https://visualstudio.microsoft.com/),
164+
[LLVM](https://llvm.org/) and [Intel C++](https://software.intel.com/en-us/c-compilers)
165+
compilers, on 32- and 64-bit Windows, macOS, and CentOS Linux.
166166

167167
Most code is "inline", without the need to compile many source files. The
168168
memory footprint is quite modest.
@@ -194,9 +194,10 @@ This library is used by:
194194
* [TensorVox](https://github.com/ZDisket/TensorVox)
195195
* [Curvessor](https://github.com/unevens/Curvessor)
196196

197-
Please drop me a note at [email protected] and I will include a link to
198-
your software product to the list of users. This list is important at
199-
maintaining confidence in this library among the interested parties.
197+
Please send me a note via [email protected] and I will include a link
198+
to your software product to this list of users. This list is important in
199+
maintaining confidence in this library among the interested parties. The
200+
inclusion into this list is not mandatory.
200201

201202
## Other ##
202203

@@ -206,6 +207,13 @@ maintaining confidence in this library among the interested parties.
206207

207208
## Change Log ##
208209

210+
Version 5.1:
211+
212+
* Changed alignment in the `CFixedBuffer` class to 64 bytes. This improves AVX
213+
performance of the `PFFFT DOUBLE` implementation by a few percent.
214+
* Removed redundant files from the `pffft_double` folder, integrated the
215+
`pffft_common.c` file into the `pffft_double.c` file.
216+
209217
Version 5.0:
210218

211219
* Removed a long-outdated macros from the `r8bconf.h` file.

bench/zerotest.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ VOXMAIN
4343
CWaveFile inf;
4444
VOXCHECK( inf.loadFile( *Args.getArgValue( "in-file" ).ValueStr ));
4545

46-
const int InBufSize = (int) min( 50000, inf.SampleCount );
46+
const int InBufSize = (int) min( (int64_t) 50000, inf.SampleCount );
4747

4848
CInitArray< CFixedBuffer< double > > InBufs( inf.ChannelCount );
4949
int i;

pffft.h

+6-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
#define PFFFT_H
7979

8080
#include <stddef.h> // for size_t
81-
#include <stdint.h> // Addition by AV.
81+
#include <stdint.h>
8282

8383
#ifdef __cplusplus
8484
extern "C" {
@@ -90,12 +90,17 @@ extern "C" {
9090
*/
9191
typedef struct PFFFT_Setup PFFFT_Setup;
9292

93+
#ifndef PFFFT_COMMON_ENUMS
94+
#define PFFFT_COMMON_ENUMS
95+
9396
/* direction of the transform */
9497
typedef enum { PFFFT_FORWARD, PFFFT_BACKWARD } pffft_direction_t;
9598

9699
/* type of transform */
97100
typedef enum { PFFFT_REAL, PFFFT_COMPLEX } pffft_transform_t;
98101

102+
#endif
103+
99104
/*
100105
prepare for performing transforms of size N -- the returned
101106
PFFFT_Setup structure is read-only so it can safely be shared by

pffft_double/pffft.c

-131
This file was deleted.

0 commit comments

Comments
 (0)