1# Jamfile.v2
2#
3# Copyright (c) 2009
4# Steven Watanabe
5#
6# Distributed under the Boost Software License, Version 1.0. (See
7# accompanying file LICENSE_1_0.txt or copy at
8# http://www.boost.org/LICENSE_1_0.txt)
9
10using quickbook ;
11using doxygen ;
12using boostbook ;
13import regex ;
14import os ;
15import path ;
16
17path-constant here : . ;
18
19doxygen_files =
20    additive_combine
21    bernoulli_distribution
22    beta_distribution
23    binomial_distribution
24    cauchy_distribution
25    chi_squared_distribution
26    discard_block
27    discrete_distribution
28    exponential_distribution
29    extreme_value_distribution
30    fisher_f_distribution
31    gamma_distribution
32    geometric_distribution
33    independent_bits
34    inversive_congruential
35    lagged_fibonacci
36    laplace_distribution
37    linear_congruential
38    linear_feedback_shift
39    lognormal_distribution
40    mersenne_twister
41    negative_binomial_distribution
42    non_central_chi_squared_distribution
43    normal_distribution
44    piecewise_constant_distribution
45    piecewise_linear_distribution
46    poisson_distribution
47    random_device
48    random_number_generator
49    ranlux
50    seed_seq
51    shuffle_order
52    # shuffle_output
53    student_t_distribution
54    subtract_with_carry
55    taus88
56    triangle_distribution
57    uniform_01
58    uniform_int_distribution
59    uniform_on_sphere
60    uniform_real_distribution
61    uniform_smallint
62    variate_generator
63    weibull_distribution
64    xor_combine
65;
66
67path-constant here : . ;
68path-constant boost-root : ../../.. ;
69
70# Figure out where the root of the boost tree is relative
71# to the html directory.
72local BOOST_ROOT = [ path.relative-to
73                       [ path.join [ path.pwd ] html ]
74                       [ path.root
75                           [ path.make $(boost-root) ]
76                           [ path.pwd ] ] ] ;
77
78doxygen reference :
79    $(here)/../../../boost/random/$(doxygen_files).hpp
80    $(here)/../../../boost/random.hpp
81  :
82    <doxygen:param>EXPAND_ONLY_PREDEF=YES
83    <doxygen:param>"ALIASES= \\
84        xmlnote=\"@xmlonly <note><para> @endxmlonly\" \\
85        endxmlnote=\"@xmlonly </para></note> @endxmlonly\" \\
86        xmlwarning=\"@xmlonly <warning><para> @endxmlonly\" \\
87        endxmlwarning=\"@xmlonly </para></warning> @endxmlonly\" \\
88        blockquote=\"@xmlonly <blockquote><para> @endxmlonly\" \\
89        endblockquote=\"@xmlonly </para></blockquote> @endxmlonly\" \\
90        boost=\"$(BOOST_ROOT)\" \\
91        random_distribution=\"@xmlonly <link linkend=\\\"boost_random.reference.concepts.random_distribution\\\">random distribution</link> @endxmlonly\" \\
92        pseudo_random_number_generator=\"@xmlonly <link linkend=\\\"boost_random.reference.concepts.pseudo_random_number_generator\\\">pseudo-random number generator</link> @endxmlonly\" \\
93        uniform_random_number_generator=\"@xmlonly <link linkend=\\\"boost_random.reference.concepts.uniform_random_number_generator\\\">uniform random number generator</link> @endxmlonly\" \\
94        nondeterministic_random_number_generator=\"@xmlonly <link linkend=\\\"boost_random.reference.concepts.non_deterministic_uniform_random_number_generator\\\">non-deterministic random number generator</link> @endxmlonly\" \\
95        generators=\"@xmlonly <link linkend=\\\"boost_random.reference.generators\\\">generators</link> @endxmlonly\" \\
96        distributions=\"@xmlonly <link linkend=\\\"boost_random.reference.distributions\\\">distributions</link> @endxmlonly\" \\
97        additive_combine_engine=\"@xmlonly <classname alt=\\\"boost::random::additive_combine_engine\\\">additive_combine_engine</classname> @endxmlonly\" \\
98        discard_block_engine=\"@xmlonly <classname alt=\\\"boost::random::discard_block_engine\\\">discard_block_engine</classname> @endxmlonly\" \\
99        lagged_fibonacci_engine=\"@xmlonly<classname alt=\\\"boost::random::lagged_fibonacci_engine\\\">lagged_fibonacci_engine</classname>@endxmlonly\" \\
100        subtract_with_carry_01_engine=\"@xmlonly<classname alt=\\\"boost::random::subtract_with_carry_01_engine\\\">subtract_with_carry_01_engine</classname>@endxmlonly\" \\
101        linear_congruential_engine=\"@xmlonly<classname alt=\\\"boost::random::linear_congruential_engine\\\">linear_congruential_engine</classname>@endxmlonly\" \\
102        minstd_rand=\"@xmlonly <classname alt=\\\"boost::random::minstd_rand\\\">minstd_rand</classname> @endxmlonly\" \\
103        minstd_rand0=\"@xmlonly <classname alt=\\\"boost::random::minstd_rand0\\\">minstd_rand0</classname> @endxmlonly\" \\
104        rand48=\"@xmlonly <classname alt=\\\"boost::random::rand48\\\">rand48</classname> @endxmlonly\" \\
105        mt11213b=\"@xmlonly <classname alt=\\\"boost::random::mt11213b\\\">mt11213b</classname> @endxmlonly\" \\
106        mt19937=\"@xmlonly <classname alt=\\\"boost::random::mt19937\\\">mt19937</classname> @endxmlonly\" \\
107        ecuyer1988=\"@xmlonly <classname alt=\\\"boost::random::ecuyer1988\\\">ecuyer1988</classname> @endxmlonly\" \\
108        lagged_fibonacci607=\"@xmlonly <classname alt=\\\"boost::random::lagged_fibonacci607\\\">lagged_fibonacci607</classname> @endxmlonly\" \\
109        lagged_fibonacci44497=\"@xmlonly <classname alt=\\\"boost::random::lagged_fibonacci44497\\\">lagged_fibonacci44497</classname> @endxmlonly\" \\
110        bernoulli_distribution=\"@xmlonly <classname alt=\\\"boost::random::bernoulli_distribution\\\">bernoulli_distribution</classname> @endxmlonly\" \\
111        cauchy_distribution=\"@xmlonly <classname alt=\\\"boost::random::cauchy_distribution\\\">cauchy_distribution</classname> @endxmlonly\" \\
112        uniform_01=\"@xmlonly<classname alt=\\\"boost::random::uniform_01\\\">uniform_01</classname>@endxmlonly\" \\
113        random_device=\"@xmlonly<classname alt=\\\"boost::random::random_device\\\">random_device</classname>@endxmlonly\""
114    <doxygen:param>HIDE_UNDOC_MEMBERS=NO
115    <doxygen:param>QUIET=YES
116    <doxygen:param>WARN_IF_UNDOCUMENTED=NO
117    <doxygen:param>EXTRACT_PRIVATE=NO
118    <doxygen:param>ENABLE_PREPROCESSING=YES
119    <doxygen:param>MACRO_EXPANSION=YES
120    <doxygen:param>SEARCH_INCLUDES=NO
121    # Expand macros and clean up a bunch of ugly names
122    <doxygen:param>"PREDEFINED= \\
123        \"BOOST_RANDOM_DOXYGEN=1\" \\
124        \"BOOST_PREVENT_MACRO_SUBSTITUTION=\" \\
125        \"BOOST_STATIC_ASSERT(x)=\" \\
126        \"BOOST_STATIC_CONSTANT(type,value)=static const type value\" \\
127        \"UINT64_C(value)=value ## ull\" \\
128        \"BOOST_RANDOM_DECL=\" \\
129        \"RealType(x)=x\" \\
130        \"result_type(x)=x\" \\
131        \"p_arg=p\" \\
132        \"median_arg=median\" \\
133        \"mean_arg=mean\" \\
134        \"sigma_arg=sigma\" \\
135        \"lambda_arg=lambda\" \\
136        \"alpha_arg=alpha\" \\
137        \"beta_arg=beta\" \\
138        \"a_arg=a\" \\
139        \"b_arg=b\" \\
140        \"c_arg=c\" \\
141        \"t_arg=t\" \\
142        \"m_arg=m\" \\
143        \"n_arg=n\" \\
144        \"s_arg=s\" \\
145        \"k_arg=k\" \\
146        \"min_arg=min\" \\
147        \"max_arg=max\" \\
148        \"dim_arg=dim\" \\
149        \"parm=param\" \\
150        \"aseed=seed\" \\
151        \"seed_arg=seed\" \\
152        \"BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os,T,t)=template<class CharT, class Traits> friend std::basic_ostream<CharT,Traits>& operator<<(std::basic_ostream<CharT,Traits>& os, const T& t)\" \\
153        \"BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is,T,t)=template<class CharT, class Traits> friend std::basic_istream<CharT,Traits>& operator>>(std::basic_istream<CharT,Traits>& is, const T& t)\" \\
154        \"BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T,lhs,rhs)=friend bool operator==(const T& lhs, const T& rhs)\" \\
155        \"BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T)=friend bool operator!=(const T& lhs, const T& rhs) { return !(lhs == rhs); }\" \\
156        \"BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self,T,t)=explicit Self(T t)\" \\
157        \"BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self,T,t)=template<class T> explicit Self(T& t)\" \\
158        \"BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(Self,T,t)=template<class T> explicit Self(T& t)\" \\
159        \"BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self,T,t)=void seed(T t)\" \\
160        \"BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self,T,t)=template<class T> void seed(T& t)\" \\
161        \"BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(Self,T,t)=template<class T> void seed(T& t)\""
162    <reftitle>"Headers"
163    <doxygen:xml-imagedir>images/random
164;
165
166xml random : random.qbk : <dependency>reference ;
167
168boostbook standalone :
169    random
170  :
171    <implicit-dependency>reference
172    <xsl:param>boost.root=../../../..
173    <xsl:param>chunk.section.depth=2
174    <format>pdf:<xsl:param>img.src.path=$(here)/html/
175;
176