Skip to content

Commit 40b6316

Browse files
committed
Merge remote-tracking branch 'upstream/master' into cuda
2 parents 0686512 + ab6bec3 commit 40b6316

File tree

4 files changed

+59
-2
lines changed

4 files changed

+59
-2
lines changed

docs/devnotes.rst

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Developer notes
99

1010
- ``docs/conf.py`` for sphinx
1111
- ``python/setup.py`` for the python pkg version
12+
- ``python/finufft/__init__.py``
1213
- ``include/finufft/defs.h``
1314
- ``matlab/Contents.m``
1415
- ``CHANGELOG``: don't forget to describe the new features and changes, folding lines at 80 chars.

include/finufft_opts.h

+11-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,16 @@ typedef struct finufft_opts{ // defaults see finufft.cpp:finufft_default_opts()
3535

3636
// Those of the above of the form spread_* indicate pass through to finufft_spread_opts
3737

38-
// Backwards-compatibility, with a warning in C (officially C23) or C++14...
39-
[[deprecated ("as of v2.1.0, nufft_opts is obsolete and renamed finufft_opts; please use this instead.")]] typedef finufft_opts nufft_opts;
38+
// define deprecated opts macro
39+
#if defined(__cplusplus) && (__cplusplus >= 201402L)
40+
#define DEPRECATED_OPTS [[deprecated ("as of v2.1.0, nufft_opts is obsolete and renamed finufft_opts; please use this instead.")]]
41+
#elif defined(_MSC_VER)
42+
#define DEPRECATED_OPTS __declspec(deprecated("as of v2.1.0, nufft_opts is obsolete and renamed finufft_opts; please use this instead."))
43+
#else
44+
#define DEPRECATED_OPTS __attribute__((deprecated("as of v2.1.0, nufft_opts is obsolete and renamed finufft_opts; please use this instead.")))
45+
#endif
46+
47+
// Backwards-compatibility
48+
DEPRECATED_OPTS typedef finufft_opts nufft_opts;
4049

4150
#endif // FINUFFT_OPTS_H

make.inc.macosx_arm64

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Makefile variable overrides for Mac OSX compilation with CLANG.
2+
#
3+
# Note that we have not been able to link against gfortran, so if you need
4+
# fortran interfaces, use make.inc.macosx_gcc-* instead.
5+
#
6+
# Copy this file to make.inc, and if needed edit for your setup.
7+
# Barnett 10/27/18. Input from Yu-Hsuan Shih, Amit Moskovich.
8+
9+
# (note that /usr/bin/g++,gcc are aliased to clang/LLVM, so CXX,CC unchanged)
10+
11+
# compile flags for use with clang: (note absence of -march, etc)
12+
CFLAGS = -O3 -arch arm64
13+
14+
# If you're getting warning messages of the form:
15+
# ld: warning: object file (lib-static/libfinufft.a(finufft1d.o)) was built for
16+
# newer OSX version (10.13) than being linked (10.9)
17+
# Then you can uncomment the following two lines with the older version number
18+
# (in this example -mmacosx-version-min=10.9)
19+
#
20+
#CFLAGS += "-mmacosx-version-min=<OLDER OSX VERSION NUMBER>"
21+
22+
CXX=clang++
23+
CC=clang
24+
25+
# taken from makefile...
26+
CFLAGS += -I include -I/usr/local/include -I/opt/homebrew/include
27+
FFLAGS = $(CFLAGS)
28+
CXXFLAGS = $(CFLAGS)
29+
LIBS += -L/usr/local/lib
30+
31+
# OpenMP with clang needs following...
32+
OMPFLAGS = -Xpreprocessor -fopenmp
33+
OMPLIBS = -L/usr/local/lib -L/opt/homebrew/lib -lomp
34+
# since fftw3_omp doesn't work in OSX, we need...
35+
FFTWOMPSUFFIX=threads
36+
37+
38+
# MATLAB interface: this will probably segfault. Instead we suggest you use
39+
# make.inc.macosx_clang_matlab
40+
41+
# Some of these will depend on your FFTW library location...
42+
MFLAGS += -I/usr/local/include -L/usr/local/lib -lm
43+
# may need to edit for your MATLAB version location...
44+
MEX = $(shell ls -d /Applications/MATLAB_R20**.app)/bin/mex
45+
# Also see docs/install.rst for possible edits to MATLAB's MEX XML file.

python/finufft/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@
1616
from finufft._interfaces import nufft1d1,nufft1d2,nufft1d3
1717
from finufft._interfaces import nufft2d1,nufft2d2,nufft2d3
1818
from finufft._interfaces import nufft3d1,nufft3d2,nufft3d3
19+
20+
__version__ = '2.1.0'

0 commit comments

Comments
 (0)