Skip to content

Commit 315e30b

Browse files
Fix bug with cross-power (#6)
1 parent 09809f3 commit 315e30b

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

CHANGELOG.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
Changelog
22
=========
33

4-
dev
5-
---
4+
0.6.1
5+
-----
6+
**Bugfixes**
7+
8+
- Fix error when doing cross-power [Issue #5].
9+
10+
0.6.0
11+
-----
612
**Features**
713

814
- New ``left_edge`` argument in fft/ifft which gives the ability to specify where

powerbox/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.6.0"
1+
__version__ = "0.6.1"
22

33
from .powerbox import PowerBox, LogNormalPowerBox
44
from .tools import get_power, angular_average, angular_average_nd

powerbox/tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ def get_power(deltax, boxlength, deltax2=None, N=None, a=1., b=1., remove_shotno
460460
if not np.iterable(boxlength):
461461
boxlength = [boxlength] * dim
462462

463-
if deltax2 is not None and deltax.shape != len(deltax2.shape):
463+
if deltax2 is not None and deltax.shape != deltax2.shape:
464464
raise ValueError("deltax and deltax2 must have the same shape!")
465465

466466
N = deltax.shape

tests/test_tools.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import numpy as np
2-
from powerbox.tools import angular_average_nd, angular_average
2+
from powerbox.tools import angular_average_nd, angular_average, get_power
3+
from powerbox.powerbox import PowerBox
34
import pytest
45

56
def test_angular_avg_nd_3():
@@ -109,6 +110,13 @@ def test_logbins():
109110
assert np.all(np.isclose(np.diff(coord[1:]/coord[:-1]), 0))
110111

111112

113+
def test_cross_power_identity():
114+
pb = PowerBox(200, dim=2, pk=lambda k: 1.0 * k ** -2., boxlength=1.0, b=1)
115+
dx = pb.delta_x()
116+
p, k = get_power(dx, pb.boxlength, b=1)
117+
p_cross, k = get_power(dx, pb.boxlength, b=1, deltax2=dx)
118+
assert np.all(np.isclose(p, p_cross))
119+
112120

113121
@pytest.mark.skip()
114122
def test_against_multirealisation():

0 commit comments

Comments
 (0)