diff options
Diffstat (limited to 'numpy/random/setup.py')
-rw-r--r-- | numpy/random/setup.py | 42 |
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 |