Revision: 107
Author: roman_yakovenko
Date: 2006-05-16 23:12:19 -0700 (Tue, 16 May 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=107&view=rev
Log Message:
-----------
rename random to brandom
Added Paths:
-----------
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generated/
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_export.hpp
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_settings.py
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconscript
Removed Paths:
-------------
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generated/
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconstruct
pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/settings.py
Copied: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom (from rev 63, pyplusplus_dev/examples/pyboost_dev/pyboost/random)
Deleted: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/random/generate_code.py 2006-05-04 05:21:37 UTC (rev 63)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py 2006-05-17 06:12:19 UTC (rev 107)
@@ -1,97 +0,0 @@
-#! /usr/bin/python
-# Copyright 2004 Roman Yakovenko.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-
-import os
-import sys
-import time
-import shutil
-import settings
-from pygccxml import parser
-from pygccxml import declarations
-from pyplusplus import code_creators
-from pyplusplus import module_builder
-
-LICENSE = """// Copyright 2004 Roman Yakovenko.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-"""
-
-class code_generator_t(object):
- def __init__(self):
- self.__file = os.path.join( settings.boost.include
- , 'libs', 'random', 'random_test.cpp' )
- self.__mb = module_builder.module_builder_t(
- [ parser.create_cached_source_fc(
- self.__file
- , os.path.join( settings.generated_files_dir, 'random_test.xml' ) ) ]
- , gccxml_path=settings.gccxml.executable
- , include_paths=[settings.boost.include]
- , undefine_symbols=settings.undefined_symbols)
-
- def filter_declarations(self ):
- self.__mb.global_ns.exclude()
- boost_ns = self.__mb.global_ns.namespace( 'boost', recursive=False )
- boost_ns.namespace( 'random' ).include()
- boost_ns.namespaces( 'detail' ).exclude()
- for cls in boost_ns.namespace( 'random' ).classes():
- if cls.ignore:
- continue
- else:
- aliases = set([ t.name for t in cls.typedefs ])
- for alias in [ 'engine_value_type', 'value_type', 'base_type', 'engine_type' ]:
- if alias in aliases:
- aliases.remove( alias )
- if len( aliases ) == 1:
- cls.alias = list( aliases )[0]
- else:
- print cls.name
- for t in aliases:
- print ' ', t
-
- boost_ns.free_functions( "lessthan_signed_unsigned" ).exclude()
- boost_ns.free_functions( "equal_signed_unsigned" ).exclude()
-
- def beautify_code( self ):
- extmodule = self.__mb.code_creator
- position = extmodule.last_include_index() + 1
- extmodule.adopt_creator( code_creators.namespace_using_t( 'boost' )
- , position )
-
- def customize_extmodule( self ):
- global LICENSE
- extmodule = self.__mb.code_creator
- #beautifying include code generation
- extmodule.license = LICENSE
- extmodule.user_defined_directories.append( settings.boost.include )
- extmodule.user_defined_directories.append( settings.working_dir )
- extmodule.user_defined_directories.append( settings.generated_files_dir )
- extmodule.precompiled_header = 'boost/python.hpp'
- self.beautify_code( )
-
- def write_files( self ):
- self.__mb.write_module( os.path.join( settings.generated_files_dir, 'random.pypp.cpp' ) )
-
- def create(self):
- start_time = time.clock()
- self.filter_declarations()
-
- self.__mb.build_code_creator( settings.module_name )
-
- self.customize_extmodule()
- self.write_files( )
- print 'time taken : ', time.clock() - start_time, ' seconds'
-
-def export():
- cg = code_generator_t()
- cg.create()
-
-if __name__ == '__main__':
- export()
- print 'done'
-
-
Copied: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py (from rev 106, pyplusplus_dev/examples/pyboost_dev/pyboost/random/generate_code.py)
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generate_code.py 2006-05-17 06:12:19 UTC (rev 107)
@@ -0,0 +1,169 @@
+#! /usr/bin/python
+# Copyright 2004 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+
+import os
+import sys
+import time
+import shutil
+import logging
+import random_settings
+from pygccxml import parser
+from pygccxml import declarations
+from pyplusplus import module_builder
+from pyplusplus.module_builder import call_policies
+
+
+LICENSE = """// Copyright 2004 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+"""
+
+class code_generator_t(object):
+ def __init__(self):
+ module_builder.set_logger_level( logging.INFO )
+ self.__file = os.path.join( random_settings.working_dir, 'random_export.hpp' )
+ self.__mb = module_builder.module_builder_t(
+ [ parser.create_cached_source_fc(
+ self.__file
+ , os.path.join( random_settings.generated_files_dir, 'random.xml' ) ) ]
+ , gccxml_path=random_settings.gccxml.executable
+ , include_paths=[random_settings.boost.include]
+ , define_symbols=random_settings.defined_symbols
+ , undefine_symbols=random_settings.undefined_symbols)
+ self.generators = [ "ecuyer1988"
+ , "hellekalek1995"
+ , "kreutzer1986"
+ , "lagged_fibonacci1279"
+ , "lagged_fibonacci19937"
+ , "lagged_fibonacci2281"
+ , "lagged_fibonacci23209"
+ , "lagged_fibonacci3217"
+ , "lagged_fibonacci4423"
+ , "lagged_fibonacci44497"
+ , "lagged_fibonacci607"
+ , "lagged_fibonacci9689"
+ , "minstd_rand"
+ , "minstd_rand0"
+ , "mt11213b"
+ , "mt19937"
+ , "ranlux3"
+ , "ranlux3_01"
+ , "ranlux4"
+ , "ranlux4_01"
+ , "ranlux64_3_01"
+ , "ranlux64_4_01"
+ , "taus88" ]
+
+ self.no_min_max = [ 'py_cauchy_distribution'
+ , 'py_bernoulli_distribution'
+ , 'py_binomial_distribution'
+ , 'py_poisson_distribution'
+ , 'py_normal_distribution'
+ , 'py_gamma_distribution'
+ , 'py_triangle_distribution'
+ , 'py_uniform_on_sphere'
+ , 'py_exponential_distribution'
+ , 'py_geometric_distribution'
+ , 'py_lognormal_distribution'
+ ]
+
+ def typedef2class( self, scope, name ):
+ typedef = scope.typedef( name )
+ return typedef.type.declaration
+
+ def filter_declarations(self ):
+ self.__mb.global_ns.exclude()
+ boost_ns = self.__mb.global_ns.namespace( 'boost', recursive=False )
+ for name in self.generators:
+ gen_cls = self.typedef2class( boost_ns, name )
+ gen_cls.include()
+ #TODO: find out why compiler complains
+ gen_cls.member_functions( 'seed' ).create_with_signature = True
+
+ pyimpl_ns = boost_ns.namespace( 'pyimpl' )
+ helpers = pyimpl_ns.classes( lambda decl: decl.name.startswith( 'py_') )
+ helpers.include()
+ for helper in helpers:
+ distrib_cls = self.typedef2class( helper, "distribution" )
+ distrib_cls.include()
+ var_gen_typedefs = helper.typedefs( lambda decl: decl.name.startswith( 'variate_generator_' ) )
+ for var_gen_typedef in var_gen_typedefs:
+ var_gen_cls = var_gen_typedef.type.declaration
+ var_gen_cls.include()
+ var_gen_cls.member_operators( symbol='()' ).create_with_signature = True
+ if helper.name in self.no_min_max:
+ var_gen_cls.member_function( 'max' ).exclude()
+ var_gen_cls.member_function( 'min' ).exclude()
+
+ ecuyer1988 = self.typedef2class( boost_ns, 'ecuyer1988' )
+ ecuyer1988.member_function( 'seed', arg_types=[None, None] ).exclude()
+
+ def prepare_declarations( self ):
+ boost_ns = self.__mb.namespace( 'boost' )
+ for name in self.generators:
+ gen_cls = self.typedef2class( boost_ns, name )
+ gen_cls.alias = name
+
+ pyimpl_ns = boost_ns.namespace( 'pyimpl' )
+ helpers = pyimpl_ns.classes( lambda decl: decl.name.startswith( 'py_') )
+ for helper in helpers:
+ distrib_cls = self.typedef2class( helper, "distribution" )
+ distrib_cls.alias = helper.name[3:] #py_
+ var_gen_typedefs = helper.typedefs( lambda decl: decl.name.startswith( 'variate_generator_' ) )
+ for var_gen_typedef in var_gen_typedefs:
+ var_gen_cls = var_gen_typedef.type.declaration
+ var_gen_cls.alias = var_gen_typedef.name + '__' + distrib_cls.alias
+
+ self.set_call_policies()
+
+ def set_call_policies( self ):
+ boost_ns = self.__mb.namespace( 'boost' )
+ engine_funcs = boost_ns.member_functions( name="engine"
+ , function=lambda decl: not decl.has_const )
+ engine_funcs.call_policies = call_policies.return_internal_reference()
+
+ distribution_funcs = boost_ns.member_functions( name="distribution"
+ , function=lambda decl: not decl.has_const )
+ distribution_funcs.call_policies = call_policies.return_internal_reference()
+
+
+
+ def customize_extmodule( self ):
+ global LICENSE
+ extmodule = self.__mb.code_creator
+ #beautifying include code generation
+ extmodule.license = LICENSE
+ extmodule.user_defined_directories.append( random_settings.boost.include )
+ extmodule.user_defined_directories.append( random_settings.working_dir )
+ extmodule.user_defined_directories.append( random_settings.generated_files_dir )
+ extmodule.precompiled_header = 'boost/python.hpp'
+ extmodule.replace_included_headers( ['boost/random.hpp', 'boost/nondet_random.hpp', 'random_export.hpp' ] )
+
+ def write_files( self ):
+ #self.__mb.write_module( os.path.join( random_settings.generated_files_dir, 'random.pypp.cpp' ) )
+ self.__mb.split_module( random_settings.generated_files_dir )
+
+ def create(self):
+ start_time = time.clock()
+ self.filter_declarations()
+ self.prepare_declarations()
+ self.__mb.build_code_creator( random_settings.module_name )
+
+ self.customize_extmodule()
+ self.write_files( )
+ print 'time taken : ', time.clock() - start_time, ' seconds'
+
+def export():
+ cg = code_generator_t()
+ cg.create()
+
+if __name__ == '__main__':
+ export()
+ print 'done'
+
+
Copied: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/generated (from rev 106, pyplusplus_dev/examples/pyboost_dev/pyboost/random/generated)
Added: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_export.hpp
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_export.hpp (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_export.hpp 2006-05-17 06:12:19 UTC (rev 107)
@@ -0,0 +1,472 @@
+#include <boost/random.hpp>
+
+namespace boost{ namespace random{ namespace pyimpl{
+
+struct generators{
+ static void instantiate(){
+ sizeof( ecuyer1988 );
+ sizeof( hellekalek1995 );
+ sizeof( kreutzer1986 );
+ sizeof( lagged_fibonacci1279 );
+ sizeof( lagged_fibonacci19937 );
+ sizeof( lagged_fibonacci2281 );
+ sizeof( lagged_fibonacci23209 );
+ sizeof( lagged_fibonacci3217 );
+ sizeof( lagged_fibonacci4423 );
+ sizeof( lagged_fibonacci44497 );
+ sizeof( lagged_fibonacci607 );
+ sizeof( lagged_fibonacci9689 );
+ sizeof( minstd_rand );
+ sizeof( minstd_rand0 );
+ sizeof( mt11213b );
+ sizeof( mt19937 );
+ sizeof( ranlux3 );
+ sizeof( ranlux3_01 );
+ sizeof( ranlux4 );
+ sizeof( ranlux4_01 );
+ sizeof( ranlux64_3_01 );
+ sizeof( ranlux64_4_01 );
+ sizeof( taus88 );
+ }
+};
+
+#define CREATE_INSTANTIATION( GENERATOR_TYPE ) \
+ static result_type \
+ inline call( distribution& dist, GENERATOR_TYPE& gen ){ \
+ return dist( gen ); \
+ } \
+ \
+ typedef variate_generator< GENERATOR_TYPE, distribution > variate_generator_##GENERATOR_TYPE; \
+ \
+ variate_generator< GENERATOR_TYPE, distribution > \
+ create_vg(distribution dist, GENERATOR_TYPE gen ){ \
+ return variate_generator< GENERATOR_TYPE, distribution >(gen, dist); \
+ }
+
+struct py_uniform_smallint{
+
+ typedef uniform_smallint<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ //CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ //CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ //CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ //CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ //CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ //CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ //CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ //CREATE_INSTANTIATION( lagged_fibonacci607 );
+ //CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ //CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ //CREATE_INSTANTIATION( ranlux4_01 );
+ //CREATE_INSTANTIATION( ranlux64_3_01 );
+ //CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_uniform_int{
+
+ typedef uniform_int<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ //CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ //CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ //CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ //CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ //CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ //CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ //CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ //CREATE_INSTANTIATION( lagged_fibonacci607 );
+ //CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ //CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ //CREATE_INSTANTIATION( ranlux4_01 );
+ //CREATE_INSTANTIATION( ranlux64_3_01 );
+ //CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+
+struct py_uniform_real{
+
+ typedef uniform_real<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_bernoulli_distribution{
+
+ typedef bernoulli_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+
+struct py_geometric_distribution{
+
+ typedef geometric_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_triangle_distribution{
+
+ typedef triangle_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+
+struct py_exponential_distribution{
+
+ typedef exponential_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+
+struct py_normal_distribution{
+
+ typedef normal_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_uniform_on_sphere{
+
+ typedef uniform_on_sphere<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_lognormal_distribution{
+
+ typedef lognormal_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_gamma_distribution{
+
+ typedef gamma_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_binomial_distribution{
+
+ typedef binomial_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_poisson_distribution{
+
+ typedef poisson_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+struct py_cauchy_distribution{
+
+ typedef cauchy_distribution<> distribution;
+ typedef distribution::result_type result_type;
+
+ CREATE_INSTANTIATION( ecuyer1988 );
+ CREATE_INSTANTIATION( hellekalek1995 );
+ CREATE_INSTANTIATION( kreutzer1986 );
+ CREATE_INSTANTIATION( lagged_fibonacci1279 );
+ CREATE_INSTANTIATION( lagged_fibonacci19937 );
+ CREATE_INSTANTIATION( lagged_fibonacci2281 );
+ CREATE_INSTANTIATION( lagged_fibonacci23209 );
+ CREATE_INSTANTIATION( lagged_fibonacci3217 );
+ CREATE_INSTANTIATION( lagged_fibonacci4423 );
+ CREATE_INSTANTIATION( lagged_fibonacci44497 );
+ CREATE_INSTANTIATION( lagged_fibonacci607 );
+ CREATE_INSTANTIATION( lagged_fibonacci9689 );
+ CREATE_INSTANTIATION( minstd_rand );
+ CREATE_INSTANTIATION( minstd_rand0 );
+ CREATE_INSTANTIATION( mt11213b );
+ CREATE_INSTANTIATION( mt19937 );
+ CREATE_INSTANTIATION( ranlux3 );
+ CREATE_INSTANTIATION( ranlux3_01 );
+ CREATE_INSTANTIATION( ranlux4 );
+ CREATE_INSTANTIATION( ranlux4_01 );
+ CREATE_INSTANTIATION( ranlux64_3_01 );
+ CREATE_INSTANTIATION( ranlux64_4_01 );
+ CREATE_INSTANTIATION( taus88 );
+};
+
+} } }
+
+
Copied: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_settings.py (from rev 85, pyplusplus_dev/examples/pyboost_dev/pyboost/random/random_settings.py)
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_settings.py (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/random_settings.py 2006-05-17 06:12:19 UTC (rev 107)
@@ -0,0 +1,27 @@
+#! /usr/bin/python
+# Copyright 2004 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+
+_script_dir = os.path.abspath( os.getcwd() )
+environment_path = os.path.realpath( os.path.join( _script_dir, '..', '..', '..', '..' ) )
+sys.path.append( environment_path )
+
+from environment import boost, scons, gccxml, python
+
+module_name = '_random_'
+working_dir = _script_dir
+generated_files_dir = os.path.join( _script_dir, 'generated' )
+unittests_dir = os.path.join( _script_dir, '..', '..', 'unittests', 'random' )
+
+defined_symbols = [ 'BOOST_NO_INCLASS_MEMBER_INITIALIZATION', 'BOOST_NO_INT64_T' ]
+undefined_symbols = [ '__MINGW32__' ]
+#defined_symbols = ['BOOST_DATE_TIME_NO_MEMBER_INIT']
+#if sys.platform == 'win32':
+ #defined_symbols.extend( [ 'BOOST_DATE_TIME_DYN_LINK' ] )
+
+
\ No newline at end of file
Copied: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconscript (from rev 106, pyplusplus_dev/examples/pyboost_dev/pyboost/random/sconscript)
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconscript (rev 0)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconscript 2006-05-17 06:12:19 UTC (rev 107)
@@ -0,0 +1,35 @@
+#! /usr/bin/python
+# Copyright 2004 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+import os
+import sys
+import random_settings
+
+Import( 'env' )
+
+def get_ccflags():
+ if sys.platform == 'win32':
+ return random_settings.scons.ccflags \
+ + map( lambda ds: '/D%s' % ds, random_settings.defined_symbols )
+ else:
+ return map( lambda ds: '-D' + ds, random_settings.defined_symbols )
+
+def get_source_files():
+ source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(random_settings.generated_files_dir) )
+ return map( lambda fname: os.path.join( random_settings.generated_files_dir, fname ), source_files )
+
+def get_target():
+ return os.path.join( random_settings.generated_files_dir
+ , random_settings.module_name + random_settings.scons.suffix )
+
+local_env = env.Copy()
+local_env.Append( CPPPATH=[ random_settings.working_dir, random_settings.generated_files_dir ] )
+local_env.Append( CCFLAGS=get_ccflags() )
+
+_random_ = local_env.SharedLibrary( target=random_settings.module_name
+ , source=get_source_files() )
+
+local_env.Install( '#unittests/random', _random_ )
Deleted: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconstruct
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/random/sconstruct 2006-05-04 05:21:37 UTC (rev 63)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/sconstruct 2006-05-17 06:12:19 UTC (rev 107)
@@ -1,54 +0,0 @@
-#! /usr/bin/python
-# Copyright 2004 Roman Yakovenko.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import os
-import sys
-from environment import settings
-
-def get_shlibsuffix():
- if sys.platform == 'win32':
- return '.pyd'
- else:
- return '.so'
-
-def get_ccflags():
- if sys.platform == 'win32':
- return [ '/MD'
- , '/EHsc'
- , '/GR'
- , '/Zc:wchar_t'
- , '/Zc:forScope'
- , '/GR' ] \
- + map( lambda ds: '/D%s' % ds, settings.defined_symbols )
- else:
- return map( lambda ds: '-D' + ds, settings.defined_symbols )
-
-def get_py_date_time_files():
- source_files = filter( lambda s: s.endswith( '.cpp' ), os.listdir(settings.generated_files_dir) )
- return map( lambda fname: os.path.join( settings.generated_files_dir, fname ), source_files )
-
-def get_libs():
- if sys.platform == 'win32':
- return ['boost_python' ] #python24.lib
- else:
- return ['boost_python', 'libboost_date_time-gcc-1_34']
-
-def get_target():
- return os.path.join( settings.unittests_dir
- , settings.module_name + get_shlibsuffix() )
-
-SharedLibrary( target=get_target()
- , source=get_py_date_time_files()
- , LIBS=get_libs()
- , LIBPATH=[ settings.boost_libs_path, settings.python_libs_path ]
- , CPPPATH=[ settings.boost_path
- , settings.working_dir
- , settings.python_include_path
- , settings.generated_files_dir ]
- , CCFLAGS=get_ccflags()
- , SHLIBPREFIX=''
- , SHLIBSUFFIX=get_shlibsuffix()
-)
Deleted: pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/settings.py
===================================================================
--- pyplusplus_dev/examples/pyboost_dev/pyboost/random/settings.py 2006-05-04 05:21:37 UTC (rev 63)
+++ pyplusplus_dev/examples/pyboost_dev/pyboost/brandom/settings.py 2006-05-17 06:12:19 UTC (rev 107)
@@ -1,25 +0,0 @@
-#! /usr/bin/python
-# Copyright 2004 Roman Yakovenko.
-# Distributed under the Boost Software License, Version 1.0. (See
-# accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-import os
-import sys
-
-_script_dir = os.path.split( os.path.abspath( sys.argv[0] ) )[0]
-environment_path = os.path.normpath( os.path.join( _script_dir, '..', '..', '..', '..' ) )
-
-sys.path.append( environment_path )
-
-from environment import boost, scons, gccxml
-
-module_name = '_random_'
-working_dir = _script_dir
-generated_files_dir = os.path.join( _script_dir, 'generated' )
-unittests_dir = os.path.join( _script_dir, '..', '..', 'unittests', 'random' )
-
-undefined_symbols = [ '__MINGW32__' ]
-#defined_symbols = ['BOOST_DATE_TIME_NO_MEMBER_INIT']
-#if sys.platform == 'win32':
- #defined_symbols.extend( [ 'BOOST_DATE_TIME_DYN_LINK' ] )
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|