summaryrefslogtreecommitdiff
path: root/numpy/random/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/random/setup.py')
-rw-r--r--numpy/random/setup.py42
1 files changed, 17 insertions, 25 deletions
diff --git a/numpy/random/setup.py b/numpy/random/setup.py
index 5f467a2f5..3bfeeaca1 100644
--- a/numpy/random/setup.py
+++ b/numpy/random/setup.py
@@ -34,6 +34,9 @@ def configuration(parent_package='', top_path=None):
defs.append(('NPY_NO_DEPRECATED_API', 0))
config.add_data_dir('tests')
+ config.add_data_files('common.pxd')
+ config.add_data_files('bit_generator.pxd')
+ config.add_data_files('src/bitgen.h')
EXTRA_LINK_ARGS = []
# Math lib
@@ -55,9 +58,6 @@ def configuration(parent_package='', top_path=None):
# Use legacy integer variable sizes
LEGACY_DEFS = [('NP_RANDOM_LEGACY', '1')]
- # Required defined for DSFMT size and to allow it to detect SSE2 using
- # config file information
- DSFMT_DEFS = [('DSFMT_MEXP', '19937'), ("HAVE_NPY_CONFIG_H", "1")]
PCG64_DEFS = []
if 1 or sys.maxsize < 2 ** 32 or os.name == 'nt':
# Force emulated mode here
@@ -75,19 +75,6 @@ def configuration(parent_package='', top_path=None):
],
define_macros=defs,
)
- config.add_extension('dsfmt',
- sources=['dsfmt.c', 'src/dsfmt/dSFMT.c',
- 'src/dsfmt/dSFMT-jump.c',
- 'src/aligned_malloc/aligned_malloc.c'],
- include_dirs=['.', 'src', join('src', 'dsfmt')],
- libraries=EXTRA_LIBRARIES,
- extra_compile_args=EXTRA_COMPILE_ARGS,
- extra_link_args=EXTRA_LINK_ARGS,
- depends=[join('src', 'dsfmt', 'dsfmt.h'),
- 'dsfmt.pyx',
- ],
- define_macros=defs + DSFMT_DEFS,
- )
for gen in ['mt19937']:
# gen.pyx, src/gen/gen.c, src/gen/gen-jump.c
config.add_extension(gen,
@@ -101,8 +88,7 @@ def configuration(parent_package='', top_path=None):
depends=['%s.pyx' % gen],
define_macros=defs,
)
- for gen in ['philox', 'threefry', 'xoshiro256', 'xoshiro512',
- 'pcg64', 'pcg32']:
+ for gen in ['philox', 'pcg64', 'sfc64']:
# gen.pyx, src/gen/gen.c
_defs = defs + PCG64_DEFS if gen == 'pcg64' else defs
config.add_extension(gen,
@@ -112,10 +98,11 @@ def configuration(parent_package='', top_path=None):
libraries=EXTRA_LIBRARIES,
extra_compile_args=EXTRA_COMPILE_ARGS,
extra_link_args=EXTRA_LINK_ARGS,
- depends=['%s.pyx' % gen],
+ depends=['%s.pyx' % gen, 'bit_generator.pyx',
+ 'bit_generator.pxd'],
define_macros=_defs,
)
- for gen in ['common']:
+ for gen in ['common', 'bit_generator']:
# gen.pyx
config.add_extension(gen,
sources=['{0}.c'.format(gen)],
@@ -123,15 +110,18 @@ def configuration(parent_package='', top_path=None):
extra_compile_args=EXTRA_COMPILE_ARGS,
extra_link_args=EXTRA_LINK_ARGS,
include_dirs=['.', 'src'],
- depends=['%s.pyx' % gen],
+ depends=['%s.pyx' % gen, '%s.pxd' % gen,],
define_macros=defs,
)
+ other_srcs = [
+ 'src/distributions/logfactorial.c',
+ 'src/distributions/distributions.c',
+ 'src/distributions/random_hypergeometric.c',
+ ]
for gen in ['generator', 'bounded_integers']:
# gen.pyx, src/distributions/distributions.c
config.add_extension(gen,
- sources=['{0}.c'.format(gen),
- join('src', 'distributions',
- 'distributions.c')],
+ sources=['{0}.c'.format(gen)] + other_srcs,
libraries=EXTRA_LIBRARIES,
extra_compile_args=EXTRA_COMPILE_ARGS,
include_dirs=['.', 'src'],
@@ -140,15 +130,17 @@ def configuration(parent_package='', top_path=None):
define_macros=defs,
)
config.add_extension('mtrand',
+ # mtrand does not depend on random_hypergeometric.c.
sources=['mtrand.c',
'src/legacy/legacy-distributions.c',
+ 'src/distributions/logfactorial.c',
'src/distributions/distributions.c'],
include_dirs=['.', 'src', 'src/legacy'],
libraries=EXTRA_LIBRARIES,
extra_compile_args=EXTRA_COMPILE_ARGS,
extra_link_args=EXTRA_LINK_ARGS,
depends=['mtrand.pyx'],
- define_macros=defs + DSFMT_DEFS + LEGACY_DEFS,
+ define_macros=defs + LEGACY_DEFS,
)
return config