From 08e409c2513e3ff2af40c813881fa0c21c9fbce3 Mon Sep 17 00:00:00 2001 From: Jeff Fessler Date: Sun, 28 Dec 2025 15:11:06 -0500 Subject: [PATCH 1/5] Make FFTW flags "public" --- src/FFTW.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/FFTW.jl b/src/FFTW.jl index 8884704..88173d9 100644 --- a/src/FFTW.jl +++ b/src/FFTW.jl @@ -14,6 +14,8 @@ import AbstractFFTs: Plan, ScaledPlan, export dct, idct, dct!, idct!, plan_dct, plan_idct, plan_dct!, plan_idct! +public ESTIMATE, MEASURE, PATIENT + include("providers.jl") function fftw_init_check() From 41335d8a0d8b8510eb760a1615b8574ad1a6468e Mon Sep 17 00:00:00 2001 From: Jeff Fessler Date: Sun, 28 Dec 2025 17:49:38 -0500 Subject: [PATCH 2/5] make all flags public --- src/FFTW.jl | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/FFTW.jl b/src/FFTW.jl index 88173d9..a81b332 100644 --- a/src/FFTW.jl +++ b/src/FFTW.jl @@ -14,7 +14,18 @@ import AbstractFFTs: Plan, ScaledPlan, export dct, idct, dct!, idct!, plan_dct, plan_idct, plan_dct!, plan_idct! -public ESTIMATE, MEASURE, PATIENT +# FFTW flags from fft.jl +public MEASURE +public DESTROY_INPUT +public UNALIGNED +public CONSERVE_MEMORY +public EXHAUSTIVE +public PRESERVE_INPUT +public PATIENT +public ESTIMATE +public WISDOM_ONLY +public NO_SIMD + include("providers.jl") From 3c6c1247772dab8442a3353c2111ed9a3067f6b8 Mon Sep 17 00:00:00 2001 From: Jeff Fessler Date: Sun, 28 Dec 2025 21:53:34 -0500 Subject: [PATCH 3/5] Limit public to v11 and beyond --- src/FFTW.jl | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/FFTW.jl b/src/FFTW.jl index a81b332..081d206 100644 --- a/src/FFTW.jl +++ b/src/FFTW.jl @@ -15,16 +15,18 @@ import AbstractFFTs: Plan, ScaledPlan, export dct, idct, dct!, idct!, plan_dct, plan_idct, plan_dct!, plan_idct! # FFTW flags from fft.jl -public MEASURE -public DESTROY_INPUT -public UNALIGNED -public CONSERVE_MEMORY -public EXHAUSTIVE -public PRESERVE_INPUT -public PATIENT -public ESTIMATE -public WISDOM_ONLY -public NO_SIMD +if VERSION ≥ v"1.11.0" + public MEASURE + public DESTROY_INPUT + public UNALIGNED + public CONSERVE_MEMORY + public EXHAUSTIVE + public PRESERVE_INPUT + public PATIENT + public ESTIMATE + public WISDOM_ONLY + public NO_SIMD +end include("providers.jl") From cbccaa1b49166baa6fa912d9b0aed6480afb6f04 Mon Sep 17 00:00:00 2001 From: Jeff Fessler Date: Sun, 28 Dec 2025 22:04:23 -0500 Subject: [PATCH 4/5] Isolate public assertions in public.jl --- src/FFTW.jl | 11 +---------- src/public.jl | 10 ++++++++++ 2 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 src/public.jl diff --git a/src/FFTW.jl b/src/FFTW.jl index 081d206..5955041 100644 --- a/src/FFTW.jl +++ b/src/FFTW.jl @@ -16,16 +16,7 @@ export dct, idct, dct!, idct!, plan_dct, plan_idct, plan_dct!, plan_idct! # FFTW flags from fft.jl if VERSION ≥ v"1.11.0" - public MEASURE - public DESTROY_INPUT - public UNALIGNED - public CONSERVE_MEMORY - public EXHAUSTIVE - public PRESERVE_INPUT - public PATIENT - public ESTIMATE - public WISDOM_ONLY - public NO_SIMD + include("public.jl") end diff --git a/src/public.jl b/src/public.jl new file mode 100644 index 0000000..b17a11f --- /dev/null +++ b/src/public.jl @@ -0,0 +1,10 @@ +public MEASURE +public DESTROY_INPUT +public UNALIGNED +public CONSERVE_MEMORY +public EXHAUSTIVE +public PRESERVE_INPUT +public PATIENT +public ESTIMATE +public WISDOM_ONLY +public NO_SIMD From b5133b85dd1d51b5a88bc8537bea33dbbbf89a1c Mon Sep 17 00:00:00 2001 From: Jeff Fessler Date: Mon, 29 Dec 2025 12:46:30 -0500 Subject: [PATCH 5/5] Use @static and eval --- src/FFTW.jl | 16 ++++++++++++++-- src/public.jl | 10 ---------- 2 files changed, 14 insertions(+), 12 deletions(-) delete mode 100644 src/public.jl diff --git a/src/FFTW.jl b/src/FFTW.jl index 5955041..353962f 100644 --- a/src/FFTW.jl +++ b/src/FFTW.jl @@ -15,8 +15,20 @@ import AbstractFFTs: Plan, ScaledPlan, export dct, idct, dct!, idct!, plan_dct, plan_idct, plan_dct!, plan_idct! # FFTW flags from fft.jl -if VERSION ≥ v"1.11.0" - include("public.jl") +@static if VERSION ≥ v"1.11.0" + eval(Expr( + :public, + :MEASURE, + :DESTROY_INPUT, + :UNALIGNED, + :CONSERVE_MEMORY, + :EXHAUSTIVE, + :PRESERVE_INPUT, + :PATIENT, + :ESTIMATE, + :WISDOM_ONLY, + :NO_SIMD, + )) end diff --git a/src/public.jl b/src/public.jl deleted file mode 100644 index b17a11f..0000000 --- a/src/public.jl +++ /dev/null @@ -1,10 +0,0 @@ -public MEASURE -public DESTROY_INPUT -public UNALIGNED -public CONSERVE_MEMORY -public EXHAUSTIVE -public PRESERVE_INPUT -public PATIENT -public ESTIMATE -public WISDOM_ONLY -public NO_SIMD