Skip to content

Commit b4df905

Browse files
committed
BUG: Add loc to scalar complex normal
Ensure loc is added to complex normal
1 parent ebb47ad commit b4df905

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

randomstate/randomstate.pyx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1782,7 +1782,6 @@ cdef class RandomState:
17821782
17831783
>>> s = np.random.complex_normal(size=1000)
17841784
"""
1785-
# TODO: What about loc??
17861785
cdef np.ndarray ogamma, orelation, oloc, randoms
17871786
cdef double *randoms_data
17881787
cdef double fgamma_r, fgamma_i, frelation_r, frelation_i, frho, f_v_real , f_v_imag, \
@@ -1823,7 +1822,7 @@ cdef class RandomState:
18231822
f_real *= sqrt(0.5 * f_v_real)
18241823
f_imag *= sqrt(0.5 * f_v_imag)
18251824

1826-
return PyComplex_FromDoubles(f_real, f_imag)
1825+
return PyComplex_FromDoubles(floc_r + f_real, floc_i + f_imag)
18271826

18281827
randoms = <np.ndarray>np.empty(size, np.complex128)
18291828
randoms_data = <double *>np.PyArray_DATA(randoms)
@@ -1837,8 +1836,8 @@ cdef class RandomState:
18371836
for i in range(n):
18381837
random_gauss_zig_double_fill(&self.rng_state, 1, &f_real)
18391838
random_gauss_zig_double_fill(&self.rng_state, 1, &f_imag)
1840-
randoms_data[j+1] = i_scale * (f_rho * f_real + i_r_scale * f_imag)
1841-
randoms_data[j] = r_scale * f_real
1839+
randoms_data[j+1] = floc_i + i_scale * (f_rho * f_real + i_r_scale * f_imag)
1840+
randoms_data[j] = floc_r + r_scale * f_real
18421841
j += 2
18431842

18441843
return randoms

0 commit comments

Comments
 (0)