Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow-up to the big reorg PR #581

Closed
wants to merge 44 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
1cf0dbd
rearrange functions to avoid forward declarations
mreineck Sep 24, 2024
7de00c8
simplify simple interfaces code
mreineck Sep 24, 2024
7b4d8e6
templatize spreadinterp
mreineck Sep 24, 2024
dab8745
templatize utils.cpp
mreineck Sep 24, 2024
f6fab70
adjust makefile
mreineck Sep 24, 2024
3b120a7
fix inconsistent prototype
mreineck Sep 24, 2024
0faa049
another attempt
mreineck Sep 24, 2024
d136d81
another attempt
mreineck Sep 24, 2024
efc3592
another attempt
mreineck Sep 24, 2024
bbdaa70
more templatizing
mreineck Sep 25, 2024
9074322
more templatizing
mreineck Sep 25, 2024
aca3e5b
fixes
mreineck Sep 25, 2024
f6da37f
more templatizing
mreineck Sep 25, 2024
22baa47
no more precision-dependent sources in library
mreineck Sep 25, 2024
47a284a
update makefile
mreineck Sep 25, 2024
654da01
fix typo
mreineck Sep 25, 2024
f83b7d6
get rid od utils_precindep
mreineck Sep 25, 2024
79b9080
start migrating to std::vector
mreineck Sep 26, 2024
ff8da04
NULL -> nullptr, more vectors
mreineck Sep 26, 2024
f411b15
more OOP and some warning fixes
mreineck Sep 26, 2024
ba2bccb
cleanup
mreineck Sep 26, 2024
2dbb447
templatize more
mreineck Sep 26, 2024
f596cf6
more OOP and simplification
mreineck Sep 26, 2024
3d102df
Merge remote-tracking branch 'origin/master' into simplify_sources
mreineck Oct 14, 2024
9374600
remove finufft.cpp; remove blanket use of namspace std
mreineck Oct 18, 2024
622855c
add explanation for explicit template instantiations
mreineck Oct 18, 2024
8238568
shorten simpleinterfaces
mreineck Oct 18, 2024
ca14063
pass options by reference
mreineck Oct 18, 2024
74ef403
address review comments
mreineck Oct 19, 2024
60611eb
revert BIGINT->UBIGINT change, seems to have bigger ramifications
mreineck Oct 19, 2024
feca94a
merge changes from #567
mreineck Oct 19, 2024
3f82215
finufft_core.cpp -> finufft.cpp
mreineck Oct 19, 2024
589ec90
more compact Fortran interface
mreineck Oct 19, 2024
51b722e
start fixing comments
mreineck Oct 19, 2024
7cfeeb0
remove superfluous foldrescale function
mreineck Oct 20, 2024
d448e4e
simplifications
mreineck Oct 20, 2024
ac5713c
compactification
mreineck Oct 20, 2024
8f27480
simpleinterfaces -> c_interface
mreineck Oct 20, 2024
29817e9
fix compiler warnings; update comments; switch to ducc 0.35
mreineck Oct 21, 2024
3581633
work around MSVC boneheadedness
mreineck Oct 21, 2024
ae4f75a
remove local changes (again)
mreineck Oct 21, 2024
2b2dbc2
more fixes suggested by Marco
mreineck Oct 22, 2024
5340e0b
Templatize spreadinterp and more cleanups (#567)
mreineck Oct 22, 2024
a4e0dba
merge master
mreineck Oct 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 20 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,7 @@ endif()

# This set of sources is compiled twice, once in single precision and once in
# double precision The single precision compilation is done with -DSINGLE
set(FINUFFT_PRECISION_DEPENDENT_SOURCES
src/finufft.cpp src/fft.cpp src/simpleinterfaces.cpp src/spreadinterp.cpp
src/utils.cpp)
set(FINUFFT_PRECISION_DEPENDENT_SOURCES)

# If we're building for Fortran, make sure we also include the translation
# layer.
Expand Down Expand Up @@ -171,7 +169,7 @@ if(FINUFFT_USE_CPU)
set(XTL_VERSION 0.7.7)
set(XSIMD_VERSION 13.0.0)
# using latest ducc0 version for now as it fixes MacOS GCC build
set(DUCC0_VERSION b0beb85e03982344a31ebb119758d7aa3ef5d362)
set(DUCC0_VERSION ducc0_0_35_0)
set(FINUFFT_FFTW_LIBRARIES)
include(cmake/setupXSIMD.cmake)
if(FINUFFT_USE_DUCC0)
Expand Down Expand Up @@ -252,25 +250,30 @@ endfunction()

if(FINUFFT_USE_CPU)
# Main finufft libraries
add_library(finufft_f32 OBJECT ${FINUFFT_PRECISION_DEPENDENT_SOURCES})
target_compile_definitions(finufft_f32 PRIVATE SINGLE)
set_finufft_options(finufft_f32)

add_library(finufft_f64 OBJECT ${FINUFFT_PRECISION_DEPENDENT_SOURCES})
set_finufft_options(finufft_f64)
if(NOT FINUFFT_STATIC_LINKING)
add_library(finufft SHARED src/utils_precindep.cpp
contrib/legendre_rule_fast.cpp)
add_library(
finufft SHARED
src/spreadinterp.cpp
src/utils.cpp
contrib/legendre_rule_fast.cpp
src/fft.cpp
src/finufft.cpp
src/c_interface.cpp
fortran/finufftfort.cpp)
else()
add_library(finufft STATIC src/utils_precindep.cpp
contrib/legendre_rule_fast.cpp)
add_library(
finufft STATIC
src/spreadinterp.cpp
src/utils.cpp
contrib/legendre_rule_fast.cpp
src/fft.cpp
src/finufft.cpp
src/c_interface.cpp
fortran/finufftfort.cpp)
endif()
target_link_libraries(finufft PRIVATE finufft_f32 finufft_f64)
set_finufft_options(finufft)

if(WIN32 AND FINUFFT_SHARED_LINKING)
target_compile_definitions(finufft_f32 PRIVATE dll_EXPORTS FINUFFT_DLL)
target_compile_definitions(finufft_f64 PRIVATE dll_EXPORTS FINUFFT_DLL)
target_compile_definitions(finufft PRIVATE dll_EXPORTS FINUFFT_DLL)
endif()
find_library(MATH_LIBRARY m)
Expand Down
315 changes: 218 additions & 97 deletions fortran/finufftfort.cpp

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions include/finufft.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

// This contains both single and double precision user-facing commands.
// "macro-safe" rewrite, including the plan object, Barnett 5/21/22-6/7/22.
// They will clobber any prior macros starting FINUFFT*, so in the lib/test
// sources finufft.h must be included before defs.h
// They will clobber any prior macros starting FINUFFT*.

/* Devnotes.
A) Two precisions done by including the "either precision" headers twice.
Expand Down
288 changes: 0 additions & 288 deletions include/finufft/defs.h

This file was deleted.

Loading
Loading