Skip to content

Commit 49949a0

Browse files
authored
rename CHANGES.rst to CHANGELOG.md (#167)
* rename CHANGES.rst to CHANGELOG.md * address comments * add code spell and pygrep-hooks
1 parent caceac7 commit 49949a0

File tree

9 files changed

+210
-220
lines changed

9 files changed

+210
-220
lines changed

.github/workflows/conda-package-cf.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -301,8 +301,8 @@ jobs:
301301
- name: Report content of test environment
302302
shell: cmd /C CALL {0}
303303
run: |
304-
echo "Value of CONDA enviroment variable was: " %CONDA%
305-
echo "Value of CONDA_PREFIX enviroment variable was: " %CONDA_PREFIX%
304+
echo "Value of CONDA environment variable was: " %CONDA%
305+
echo "Value of CONDA_PREFIX environment variable was: " %CONDA_PREFIX%
306306
conda info && conda list -n ${{ env.TEST_ENV_NAME }}
307307
308308
- name: Run tests

.github/workflows/conda-package.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -301,8 +301,8 @@ jobs:
301301
- name: Report content of test environment
302302
shell: cmd /C CALL {0}
303303
run: |
304-
echo "Value of CONDA enviroment variable was: " %CONDA%
305-
echo "Value of CONDA_PREFIX enviroment variable was: " %CONDA_PREFIX%
304+
echo "Value of CONDA environment variable was: " %CONDA%
305+
echo "Value of CONDA_PREFIX environment variable was: " %CONDA_PREFIX%
306306
conda info && conda list -n ${{ env.TEST_ENV_NAME }}
307307
- name: Run tests
308308
shell: cmd /C CALL {0}

.github/workflows/pre-commit.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@ jobs:
2020
with:
2121
python-version: '3.12'
2222

23-
- uses: BSFishy/pip-action@v1
23+
- name: Set up pip packages
24+
uses: BSFishy/pip-action@v1
2425
with:
2526
packages: |
27+
codespell
2628
pylint
2729
28-
- name: Version of clang-format
30+
- name: Set up clang-format
2931
run: |
32+
sudo apt-get install -y clang-format-14
33+
sudo unlink /usr/bin/clang-format
34+
sudo ln -s /usr/bin/clang-format-14 /usr/bin/clang-format
3035
clang-format --version
3136
3237
- name: Run pre-commit checks

.pre-commit-config.yaml

+22
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,28 @@ repos:
1515
- id: mixed-line-ending
1616
- id: trailing-whitespace
1717

18+
- repo: https://github.com/pre-commit/pygrep-hooks
19+
rev: v1.10.0
20+
hooks:
21+
- id: python-check-blanket-noqa
22+
- id: python-check-blanket-type-ignore
23+
- id: python-check-mock-methods
24+
- id: python-no-eval
25+
- id: python-no-log-warn
26+
- id: python-use-type-annotations
27+
- id: rst-backticks
28+
- id: rst-directive-colons
29+
- id: rst-inline-touching-normal
30+
- id: text-unicode-replacement-char
31+
32+
- repo: https://github.com/codespell-project/codespell
33+
rev: v2.4.1
34+
hooks:
35+
- id: codespell
36+
args: ["-L", "nd"] # ignore "nd" used for n-dimensional
37+
additional_dependencies:
38+
- tomli
39+
1840
- repo: https://github.com/psf/black
1941
rev: 25.1.0
2042
hooks:

CHANGELOG.md

+174
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# changelog
2+
All notable changes to this project will be documented in this file.
3+
4+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [dev] (MM/DD/YY)
8+
9+
### Added
10+
* SciPy interface `mkl_fft.interfaces.scipy_fft` now includes Hermitian FFT functions: `hfft`, `ihfft`, `hfftn`, `ihfftn`, `hfft2`, and `ihfft2` [gh-161](https://github.com/IntelPython/mkl_fft/pull/161)
11+
12+
## [1.3.14] (04/10/2025)
13+
14+
resolves gh-152 by adding an explicit `mkl-service` dependency to `mkl-fft` when building the wheel
15+
to ensure the `mkl` Python module is always available at runtime
16+
17+
resolves gh-115, gh-116, gh-119, gh-135
18+
19+
## [1.3.13] (03/25/2025)
20+
21+
Supported python versions are 3.9, 3.10, 3.11, 3.12
22+
23+
migrate from `setup.py` to `pyproject.toml`
24+
25+
includes support in virtual environment out of the box
26+
27+
the original `mkl_fft.rfft` and `mkl_fft.irfft` are renamed to `mkl_fft.rfftpack` and `mkl_fft.irfftpack`,
28+
since they replicate the behavior from the deprecated `scipy.fftpack` module.
29+
30+
`mkl_fft.rfft_numpy`, `mkl_fft.irfft_numpy`, `mkl_fft.rfft2_numpy`, `mkl_fft.irfft2_numpy`,
31+
`mkl_fft.rfftn_numpy`, and `mkl_fft.irfftn_numpy` are renamed to `mkl_fft.rfft`, `mkl_fft.irfft`,
32+
`mkl_fft.rfft2`, `mkl_fft.irfft2`, `mkl_fft.rfftn`, and `mkl_fft.irfftn`, respectively.
33+
(consistent with `numpy.fft` and `scipy.fft` modules)
34+
35+
file `_scipy_fft_backend.py` is renamed to `_scipy_fft.py` since it replicates `scipy.fft` module
36+
(similar to file `_numpy_fft.py` which replicates `numpy.fft` module)
37+
38+
## [1.3.11]
39+
40+
Bugfix release, resolving gh-109 and updating installation instructions
41+
42+
## [1.3.10]
43+
44+
Bugfix release, resolving leftover uses of NumPy attributes removed in NumPy 2.0 that break
45+
test suite run on Windows.
46+
47+
## [1.3.9]
48+
49+
Updated code and build system to support NumPy 2.0
50+
51+
## [1.3.8]
52+
53+
Added vendored `conv_template.py` from NumPy's distutils submodule to enable building of `mkl_fft` with
54+
NumPy >=1.25 and Python 3.12
55+
56+
## [1.3.7]
57+
58+
Updated build system away from removed in NumPy 1.25 numpy.distutils module.
59+
60+
Transitioned to Cython 3.0.
61+
62+
## [1.3.0]
63+
64+
Updated numpy interface to support new in NumPy 1.20 supported values of norm keyword, such as "forward" and "backward".
65+
To enable this, `mkl_fft` functions now support `forward_scale` parameter that defaults to 1.
66+
67+
Fixed issue #48.
68+
69+
## [1.2.1]
70+
71+
Includes bug fix #54
72+
73+
## [1.2.0]
74+
75+
Due to removal of deprecated real-to-real FFT with `DFTI_CONJUGATE_EVEN_STORAGE=DFTI_COMPLEX_REAL` and
76+
`DFTI_PACKED_FORMAT=DFTI_PACK` from Intel(R) Math Kernel Library, reimplemented `mkl_fft.rfft` and
77+
`mkl_fft.irfft` to use real-to-complex functionality with subsequent copying to rearange the transform as expected
78+
of `mkl_fft.rfft`, with the associated performance penalty. The use of the real-to-complex
79+
transform improves multi-core utilization which may offset the performance loss incurred due to copying.
80+
81+
## [1.1.0]
82+
83+
Added `scipy.fft` backend, see #42. Fixed #46.
84+
85+
86+
```python
87+
>>> import numpy as np, mkl_fft, mkl_fft._scipy_fft as mkl_be, scipy, scipy.fft, mkl
88+
89+
>>> mkl.verbose(1)
90+
# True
91+
92+
>>> x = np.random.randn(8*7).reshape((7, 8))
93+
>>> with scipy.fft.set_backend(mkl_be, only=True):
94+
>>> ff = scipy.fft.fft2(x, workers=4)
95+
>>> ff2 = scipy.fft.fft2(x)
96+
# MKL_VERBOSE Intel(R) MKL 2020.0 Product build 20191102 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 2 (Intel(R) AVX2) enabled processors, Lnx 2.40GHz intel_thread
97+
# MKL_VERBOSE FFT(drfo7:8:8x8:1:1,bScale:0.0178571,tLim:1,desc:0x5629ad31b800) 24.85ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:16,FFT:4
98+
99+
>>> np.allclose(ff, ff2)
100+
# True
101+
```
102+
103+
## [1.0.15]
104+
105+
Changed tests to not compare against numpy fft, as this broke due to renaming of `np.fft.pocketfft` to
106+
`np.fft._pocketfft`. Instead compare against naive realization of 1D FFT as a sum.
107+
108+
Setup script is now aware of `MKLROOT` environment variable. If unset, NumPy's mkl_info will be queried.
109+
110+
## [1.0.14]
111+
112+
Fixed unreferenced bug in `irfftn_numpy`, and adjusted NumPy interfaces to change to pocketfft in NumPy 1.17
113+
114+
## [1.0.13]
115+
116+
Issue #39 fixed (memory leak with complex FFT on real arrays)
117+
118+
## [1.0.12]
119+
120+
Issue #37 fixed.
121+
122+
Inhibited vectorization of short loops computing pointer to memory referenced by a multi-iterator by Intel (R) C Compiler,
123+
improving performance of ND `fft` and `ifft` on real input arrays.
124+
125+
## [1.0.11]
126+
127+
Improvement for performance of ND `fft` on real input arrays by inlining multi-iterators.
128+
This particularly benefits performance of mkl_fft built with Intel (R) C Compiler.
129+
130+
## [1.0.10]
131+
132+
Fix for issue #29.
133+
134+
## [1.0.7]
135+
136+
Improved exception message raised if MKL is signalling an error. The message now includes MKL's own description of the exception.
137+
This partially improves #24.
138+
139+
Improved argument validation for ND transforms aligning with scipy 1.2.0
140+
141+
## [1.0.6]
142+
143+
Fixed issues #21, and addressed NumPy 1.15 deprecation warnings from using lists instead of tuples to specify multiple slices.
144+
145+
## [1.0.5]
146+
147+
Fixed issues #7, #17, #18.
148+
Consolidated version specification into a single file `mkl_fft/_version.py`.
149+
150+
## [1.0.4]
151+
152+
Added CHANGES.rst. Fixed issue #11 by using lock around calls to 1D FFT routines.
153+
154+
## [1.0.3]
155+
156+
This is a bug fix release.
157+
158+
It fixes issues #9, and #13.
159+
160+
As part of fixing issue #13, out-of-place 1D FFT calls such as `fft`, `ifft`, `rfft_numpy`
161+
and `irfftn_numpy` will allocate Fortran layout array for the output is the input is a Fotran array.
162+
163+
## [1.0.2]
164+
165+
Minor update of `mkl_fft`, reflecting renaming of `numpy.core.multiarray_tests` module to
166+
`numpy.core._multiarray_tests` as well as fixing #4.
167+
168+
## [1.0.1]
169+
170+
Bug fix release.
171+
172+
## [1.0.0]
173+
174+
Initial release of `mkl_fft`.

0 commit comments

Comments
 (0)