Skip to content

Commit 3619f24

Browse files
authored
Merge pull request #78 from FastNFT/release-0.5
Release 0.5
2 parents db8d068 + 74be828 commit 3619f24

File tree

284 files changed

+23958
-6031
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

284 files changed

+23958
-6031
lines changed

.gitignore

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
!Doxyfile
77

88
# Unignore subdirectories
9-
#!/examples/
9+
!/examples/
1010
!/include/
1111
!/include/private/
1212
!/include/3rd_party/eiscor/
@@ -16,7 +16,24 @@
1616
!/src/private/
1717
!/src/3rd_party/eiscor/
1818
!/src/3rd_party/kiss_fft/
19-
#!/test/
19+
!/test/
20+
!/test/fnft__akns_fscatter/
21+
!/test/fnft__fft_wrapper/
22+
!/test/fnft__kdv_finvscatter/
23+
!/test/fnft__kdv_scatter/
24+
!/test/fnft_kdvv/
25+
!/test/fnft__manakov_fscatter/
26+
!/test/fnft__manakov_scatter/
27+
!/test/fnft_manakovv/
28+
!/test/fnft__misc/
29+
!/test/fnft__nse_finvscatter/
30+
!/test/fnft_nsep/
31+
!/test/fnft__nse_scatter/
32+
!/test/fnft_nsev/
33+
!/test/fnft_nsev_inverse/
34+
!/test/fnft__poly/
35+
!/test/fnft_version_test/
36+
!/test/fnft_version_test.c/
2037

2138
# Ignore MacOS hidden files in subdirectories
2239
/**/*.DS_Store
@@ -36,6 +53,7 @@
3653
!/**/*.h
3754
!/**/*.h.in
3855
!/**/*.m
56+
!/**/*.inc
3957

4058
# Explicitly reignore fnft_config.h, which is generated by cmake
4159
/include/fnft_config.h

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,6 @@ before_script:
4343
- cd build
4444

4545
script:
46-
- if dpkg -s libfftw3-dev; then cmake .. -DENABLE_FFTW=ON; else cmake ..; fi
46+
- if dpkg -s libfftw3-dev; then cmake .. -DENABLE_FFTW=ON -DDEBUG=ON; else cmake .. -DDEBUG=ON; fi
4747
- make
4848
- make test CTEST_OUTPUT_ON_FAILURE=1

CHANGELOG.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,39 @@
11
# Changelog
22

3+
## [0.5.0]
4+
5+
### Added
6+
7+
- The routine fnft_kdvv now can now also compute the discrete spectrum. To locate the bound states, either Newton's method or a grid search with additional Newton refinements are available.
8+
- A NFT routine fnft_manakovv for the Manakov equation with vanishing boundaries was added (continuous spectrum only).
9+
- The slow scattering methods for AKNS-type systems now include a normalization procedure to deal with numerical overflow (enabled by default).
10+
- The periodic NFT routine fnft_nsep now also supports pure Newton refinement.
11+
- The vanishing NFT routine fnft_nsev now also supports manual filtering.
12+
- The routine fnft__kdv_finvscatter has been added. The plan is to later use it for a fast inverse KdV NFT.
13+
14+
### Changed
15+
16+
- New criteria for stopping Newton iterations in fnft_nsep and fnft_nsev.
17+
- The tolerance for the Newton refinements in fnft_nsev can now be set by the user.
18+
- The default number of iterations for the Newton refinements in fnft_nsev is now 100, and the user is warned if the number was too small.
19+
- Reduced some tests to reduce run times.
20+
- The code for AKNS scattering has been overhauled.
21+
22+
### Fixed
23+
24+
- Several memory leaks have been fixed.
25+
326
## [0.4.1] -- 2020-07-13
427

528
### Changed
629

730
- Number of samples for fnft_nsep again has to be a power of two.
31+
- misc_resample no longer issues a warning when the signal appears to be undersampled. This gave the wrong impression that CFx_y discrizations suffer more in such scenarios than the other ones, which do not use this routine.
832

933
### Fixed
1034

11-
- misc_downsample could return incorrect values for first_last_index[1]
35+
- misc_downsample could return incorrect values for first_last_index[1].
36+
- Some errors in fnft_nsev become meaningless when bound_states==NULL and should not be risen in that case.
1237

1338
## [0.4.0] -- 2020-07-08
1439

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ cmake_minimum_required(VERSION 3.17.3)
2020
project(fnft C)
2121

2222
set(FNFT_VERSION_MAJOR 0)
23-
set(FNFT_VERSION_MINOR 4)
24-
set(FNFT_VERSION_PATCH 1)
23+
set(FNFT_VERSION_MINOR 5)
24+
set(FNFT_VERSION_PATCH 0)
2525
set(FNFT_VERSION_SUFFIX "") # should not be longer than FNFT_SUFFIX_MAXLEN
2626
set(FNFT_VERSION ${FNFT_VERSION_MAJOR}.${FNFT_VERSION_MINOR}.${FNFT_VERSION_PATCH}${FNFT_VERSION_SUFFIX})
2727

@@ -94,6 +94,7 @@ include_directories(include/3rd_party/eiscor)
9494
include(CheckCCompilerFlag)
9595

9696
# configure C compiler
97+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -pedantic -Werror=implicit-function-declaration -Wsign-conversion")
9798
if (CMAKE_COMPILER_IS_GNUCC) # gcc
9899
if (DEBUG)
99100
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
@@ -112,6 +113,8 @@ if (CMAKE_COMPILER_IS_GNUCC) # gcc
112113
check_c_source_compiles("#pragma GCC optimize(\"Ofast\") \n int main() { int g = 1; return g; }" HAVE_PRAGMA_GCC_OPTIMIZE_OFAST)
113114
else()
114115
message(WARNING "++ Compiler is not gcc. Will try to set flags anyway.")
116+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion")
117+
message("++ Enabled -Wconversion flag in the C compiler")
115118
if (DEBUG)
116119
check_c_compiler_flag("-g" HAS_C_G_FLAG)
117120
if (HAS_C_G_FLAG)

0 commit comments

Comments
 (0)