Skip to content

Commit 6eebea1

Browse files
Corrections to dtype of new allocation to account for default int type on Windows.
1 parent c7fe11b commit 6eebea1

File tree

1 file changed

+19
-41
lines changed

1 file changed

+19
-41
lines changed

mkl_random/mklrand.pyx

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -450,25 +450,6 @@ cdef object vec_cont3_array(irk_state *state, irk_cont3_vec func, object size,
450450

451451
return arr_obj
452452

453-
cdef object vec_disc0_array(irk_state *state, irk_disc0_vec func, object size,
454-
object lock):
455-
cdef int *array_data
456-
cdef int res
457-
cdef cnp.ndarray array "arrayObject"
458-
cdef cnp.npy_intp length
459-
cdef cnp.npy_intp i
460-
461-
if size is None:
462-
func(state, 1, &res)
463-
return res
464-
else:
465-
array = <cnp.ndarray>np.empty(size, np.int32)
466-
length = cnp.PyArray_SIZE(array)
467-
array_data = <int *>cnp.PyArray_DATA(array)
468-
with lock, nogil:
469-
func(state, length, array_data)
470-
471-
return array
472453

473454
cdef object vec_long_disc0_array(
474455
irk_state *state, irk_disc0_vec_long func,
@@ -483,14 +464,13 @@ cdef object vec_long_disc0_array(
483464
if size is None:
484465
func(state, 1, &res)
485466
return res
486-
else:
487-
array = <cnp.ndarray>np.empty(size, np.uint)
488-
length = cnp.PyArray_SIZE(array)
489-
array_data = <long *>cnp.PyArray_DATA(array)
490-
with lock, nogil:
491-
func(state, length, array_data)
467+
array = <cnp.ndarray>np.empty(size, np.dtype("long"))
468+
length = cnp.PyArray_SIZE(array)
469+
array_data = <long *>cnp.PyArray_DATA(array)
470+
with lock, nogil:
471+
func(state, length, array_data)
492472

493-
return array
473+
return array
494474

495475

496476
cdef object vec_discnp_array_sc(
@@ -507,7 +487,7 @@ cdef object vec_discnp_array_sc(
507487
func(state, 1, &res, n, p)
508488
return res
509489
else:
510-
array = <cnp.ndarray>np.empty(size, np.int32)
490+
array = <cnp.ndarray>np.empty(size, np.intc)
511491
length = cnp.PyArray_SIZE(array)
512492
array_data = <int *>cnp.PyArray_DATA(array)
513493
with lock, nogil:
@@ -544,7 +524,7 @@ cdef object vec_discnp_array(irk_state *state, irk_discnp_vec func, object size,
544524
cnp.PyArray_MultiIter_NEXT(multi)
545525
arr_obj = <object>array
546526
else:
547-
array = <cnp.ndarray>np.empty(size, np.int32)
527+
array = <cnp.ndarray>np.empty(size, np.intc)
548528
array_data = <int *>cnp.PyArray_DATA(array)
549529
multi = <cnp.broadcast>cnp.PyArray_MultiIterNew(3, <void*>array, <void *>on, <void *>op)
550530
res_size = cnp.PyArray_SIZE(array)
@@ -585,7 +565,7 @@ cdef object vec_discdd_array_sc(irk_state *state, irk_discdd_vec func, object si
585565
func(state, 1, &res, n, p)
586566
return res
587567
else:
588-
array = <cnp.ndarray>np.empty(size, np.int32)
568+
array = <cnp.ndarray>np.empty(size, np.intc)
589569
length = cnp.PyArray_SIZE(array)
590570
array_data = <int *>cnp.PyArray_DATA(array)
591571
with lock, nogil:
@@ -619,7 +599,7 @@ cdef object vec_discdd_array(irk_state *state, irk_discdd_vec func, object size,
619599
cnp.PyArray_MultiIter_NEXT(multi)
620600
arr_obj = <object>array
621601
else:
622-
array = <cnp.ndarray>np.empty(size, np.int32)
602+
array = <cnp.ndarray>np.empty(size, np.intc)
623603
array_data = <int *>cnp.PyArray_DATA(array)
624604
res_size = cnp.PyArray_SIZE(array)
625605
multi = <cnp.broadcast>cnp.PyArray_MultiIterNew(3, <void*>array, <void *>on, <void *>op)
@@ -660,7 +640,7 @@ cdef object vec_discnmN_array_sc(irk_state *state, irk_discnmN_vec func, object
660640
func(state, 1, &res, n, m, N)
661641
return res
662642
else:
663-
array = <cnp.ndarray>np.empty(size, np.int32)
643+
array = <cnp.ndarray>np.empty(size, np.intc)
664644
length = cnp.PyArray_SIZE(array)
665645
array_data = <int *>cnp.PyArray_DATA(array)
666646
with lock, nogil:
@@ -696,7 +676,7 @@ cdef object vec_discnmN_array(irk_state *state, irk_discnmN_vec func, object siz
696676
cnp.PyArray_MultiIter_NEXT(multi)
697677
arr_obj = <object>array
698678
else:
699-
array = <cnp.ndarray>np.empty(size, np.int32)
679+
array = <cnp.ndarray>np.empty(size, np.intc)
700680
array_data = <int *>cnp.PyArray_DATA(array)
701681
multi = <cnp.broadcast>cnp.PyArray_MultiIterNew(4, <void*>array, <void *>on, <void *>om,
702682
<void *>oN)
@@ -738,7 +718,7 @@ cdef object vec_discd_array_sc(irk_state *state, irk_discd_vec func, object size
738718
func(state, 1, &res, a)
739719
return res
740720
else:
741-
array = <cnp.ndarray>np.empty(size, np.int32)
721+
array = <cnp.ndarray>np.empty(size, np.intc)
742722
length = cnp.PyArray_SIZE(array)
743723
array_data = <int *>cnp.PyArray_DATA(array)
744724
with lock, nogil:
@@ -758,7 +738,7 @@ cdef object vec_long_discd_array_sc(irk_state *state, irk_discd_long_vec func, o
758738
func(state, 1, &res, a)
759739
return res
760740
else:
761-
array = <cnp.ndarray>np.empty(size, int)
741+
array = <cnp.ndarray>np.empty(size, np.dtype("long"))
762742
length = cnp.PyArray_SIZE(array)
763743
array_data = <long *>cnp.PyArray_DATA(array)
764744
with lock, nogil:
@@ -779,7 +759,7 @@ cdef object vec_discd_array(irk_state *state, irk_discd_vec func, object size, c
779759

780760
if size is None:
781761
array = <cnp.ndarray>cnp.PyArray_SimpleNew(cnp.PyArray_NDIM(oa),
782-
cnp.PyArray_DIMS(oa), cnp.NPY_INT)
762+
cnp.PyArray_DIMS(oa), cnp.NPY_INT32)
783763
length = cnp.PyArray_SIZE(array)
784764
array_data = <int *>cnp.PyArray_DATA(array)
785765
itera = <cnp.flatiter>cnp.PyArray_IterNew(<object>oa)
@@ -789,7 +769,7 @@ cdef object vec_discd_array(irk_state *state, irk_discd_vec func, object size, c
789769
cnp.PyArray_ITER_NEXT(itera)
790770
arr_obj = <object>array
791771
else:
792-
array = <cnp.ndarray>np.empty(size, np.int32)
772+
array = <cnp.ndarray>np.empty(size, np.intc)
793773
array_data = <int *>cnp.PyArray_DATA(array)
794774
multi = <cnp.broadcast>cnp.PyArray_MultiIterNew(2, <void *>array, <void *>oa)
795775
res_size = cnp.PyArray_SIZE(array)
@@ -832,7 +812,7 @@ cdef object vec_long_discd_array(irk_state *state, irk_discd_long_vec func, obje
832812
cnp.PyArray_ITER_NEXT(itera)
833813
arr_obj = <object>array
834814
else:
835-
array = <cnp.ndarray>np.empty(size, int)
815+
array = <cnp.ndarray>np.empty(size, np.dtype("long"))
836816
array_data = <long *>cnp.PyArray_DATA(array)
837817
multi = <cnp.broadcast>cnp.PyArray_MultiIterNew(2, <void *>array, <void *>oa)
838818
res_size = cnp.PyArray_SIZE(array)
@@ -873,7 +853,7 @@ cdef object vec_Poisson_array(irk_state *state, irk_discdptr_vec func1, irk_disc
873853
func1(state, length, array_data, oa_data)
874854
arr_obj = <object>array
875855
else:
876-
array = <cnp.ndarray>np.empty(size, np.int32)
856+
array = <cnp.ndarray>np.empty(size, np.intc)
877857
array_data = <int *>cnp.PyArray_DATA(array)
878858
multi = <cnp.broadcast>cnp.PyArray_MultiIterNew(2, <void *>array, <void *>olambda)
879859
res_size = cnp.PyArray_SIZE(array)
@@ -1396,10 +1376,8 @@ cdef class RandomState:
13961376
"""
13971377
tomaxint(size=None)
13981378
1399-
Random integers between 0 and ``sys.maxint``, inclusive.
1400-
14011379
Return a sample of uniformly distributed random integers in the interval
1402-
[0, ``sys.maxint``].
1380+
[0, ``np.iinfo("long").max``].
14031381
14041382
Parameters
14051383
----------

0 commit comments

Comments
 (0)