- Package will be renamed to
corrfunc
fromCorrfunc
- conda installable package
- GPU version
Final release of the 2.5.x series and last Corrfunc version to support python2
- Updated minimum numpy to
1.20
[#324] - No longer testing on
python2
[#324]
- Simplified and faster
FALLBACK
kernels [#303]
- Fix
python_requires
in setup.py [#302] - Automatic uploads of new releases to PyPI [#305]
- Added @dependabot for automatic dependency updates in GitHub Actions [#306, #307, #308]
- Corrfunc now compiles and runs on Apple M1/M2 cpus (using the FALLBACK kernels) [#295]
- Python >= 3.7 and numpy >= 1.16 are required for python extensions [#291]
- Warn about loss of precision for float32 calculations involving small
theta
inDDtheta_mocks
and largemu
inDDsmu_mocks
[#299]
- Allow user to specify periodicity and box size per dimension [#276]
- Allow larger Rmax (up to half the boxsize) [#277]
- Add Corrfunc/tests.py to CI testing [#260]
- Migrate doctests to Python 3.8 [#261]
- Migrate Python tests to pytest [#265]
- Add additional check to tell if it's safe to redirect stdout/err [#270]
- Check and fix
z
vscz
inDDrppi_mocks
andDDsmu_mocks
only if comoving distance flag is not set [#275] - Update GNU assembler bug detection [#278]
- Fix installation instructions and update README.rst [#285]
- Remove mistaken references to "projected" correlation function in docs [#289]
This release adds the boxsize
parameter to the command line interfaces and
requires the user to specify the box size in the Python interfaces to the periodic
theory functions. It also contains a number of performance, code-quality, and
user-experience improvements.
- Require user to specify
boxsize
rather than automatically detect particle extent in periodic theory boxes. Applies to Python, command line, and C API. The order of some Python keyword args has also changed. [#199]
- In the theoretical VPF calculation (
theory.vpf
), the total volume of the random spheres can now exceed the volume of the sample [#238] - Gridlink (the binning of particles into cells) now uses a parallel algorithm for the theory module [#239]
- Add detection of known-bad Cray hugepages library at NERSC [#246]
- Replace
np.float
withnp.float64
to fix numpy 1.20 deprecation [#250] - Test Numpy versions as old as 1.14 and recent as 1.20 [#251]
- Add lscpu and preprocessor defs to CI output [#259]
- Fix Python reference leak to results struct [#229]
- Fix parsing error when
periodic=False
andboxsize
not given in the theory module [#257]
This is a bug-fix release and contains general code quality improvements.
- A new helper routine to find the combination of (RA, DEC) refinements that produces fastest runtime in
DDtheta_mocks
[#216] - Further testing via GitHub Actions [#220]
- Added Ubuntu-Xenial on Travis [#222]
- Fixing docs build failure on Travis [#215]
- Fixing compile failure on missing 'CC' in environment [#226]
This is a bug-fix release and contains general code quality improvements.
- Installation does not require python(3)-config anymore [#209, #211]
- Better handling of terminal colours for unknown terminals [#209]
- Prevent incorrect calculations with periodic boundaries for large ratios of (zmax, Rmax) to Lbox [#210]
This is a release for bug-fixes and general code quality improvements. Travis
now also tests for python3.7
.
- Improved code quality and adherence to PEP8 [#189]
- Documentation no longer shows duplicate entries [#205]
- Incorrect calculations for non-native endian data [#191]
- Large Rmax to Lbox ratio now supported for periodic boundaries [#192]
- Workaround for GNU Assembler bug causing incorrect calculations [#196]
- Only report runtime isa support if we also have compiler support [#200]
- Example code to illustrate how to code custom weights with AVX512F [#205]
- Reduce memory footprint of the cell pairs [#186]
- AVX512F kernels for all pair-counters, faster code from new optimizations using the minimum separation between pairs of cells, option to use the input particle arrays directly and not make a copy of the particle positions, internal code changes to (hopefully) achieve better OpenMP scaling [#167, #170, #173]
- Fix segmentation fault in vpf_mocks [#168]
- Fix automatic uniform weights array when only one set of weights (or a scalar) is passed [#180]
- Fix memory leak due to Python reference leak when using weights [#181]
- Drop Python 2.6 support
- Progress bar is displayed in Jupyter notebooks [#158]
- Fix virtualenv install issue [#159]
- Error messages are displayed in Jupyter notebooks instead of the unhelpful "TypeError: 'NoneType' object is not iterable". [#158]
- New pair counter DD(s, mu) for theory and mocks (contributed by @nickhand, in #130 and #132) [#166]
- GSL version now specified and tested by Travis [#164]
- Now possible to specify the number of Newton-Raphson steps to improve accuracy of approximate reciprocals. Available in DD(rp, pi) for mocks, and DD(s, mu) for both theory and mocks
- Library behaviour can now be controlled at runtime
- Calculates with
doubles
andfloats
transparently (passing arrays ofdoubles
ensures calculation in double precision) - Both the API and ABI should be future proof
- Extensive docs (first version with docs)
- Arbitrary cosmology can be accounted for in the mocks routines #71
- API has changed from previous version. Two additional inputs are now required for every statistic (#73)
- Ctrl-C now aborts even within python extensions (cleans up memory too!, see issue #12)
- Significantly improved installation for python
- compiler can now be specified within
python setup.py install CC=yourcompiler
(see issue #31) - python via an alias is now solved #52
- compiler can now be specified within
- Fixed bug in
DDrppi_mocks
where the minimum number of grid cells had to be 1 #70
- Conda package still is pending (#49)
- Recursive Makefile needs to be replaced with a more monolithic Makefile (#14)
- Parameter parsing in python extensions can be flaky (#79)
- SSE kernels for all statistics
- Incorrect normalization in
xi
. ALL previousxi
calculations were wrong.
- Improved installation process
- Detecting
AVX
capable CPU at compile time - Double-counting bug fixes in
wp
andxi
- Streamlined compilation on MACs
- PyPI version is not verbose by default
- First version on PyPI
AVX
enabled by default
- Python 2/3 compatible
- Initial release