$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r58166 - in sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit: distributions/chi_squared distributions/exponential distributions/gamma distributions/location_scale distributions/normal distributions/students_t distributions/uniform test/detail
From: erwann.rogard_at_[hidden]
Date: 2009-12-05 20:12:28
Author: e_r
Date: 2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
New Revision: 58166
URL: http://svn.boost.org/trac/boost/changeset/58166
Log:
a
Added:
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/chi_squared/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/exponential/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/gamma/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/location_scale/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/normal/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/students_t/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/uniform/os.hpp   (contents, props changed)
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/test/detail/
   sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/test/detail/x_f.hpp   (contents, props changed)
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/chi_squared/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/chi_squared/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::chi_squared::os.hpp 				   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_CHI_SQUARED_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_CHI_SQUARED_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/chi_squared/description.hpp>
+
+namespace boost{
+namespace math{
+
+    template<typename T,typename P>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const boost::math::chi_squared_distribution<T,P>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// math
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/exponential/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/exponential/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::exponential::os.hpp 				   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_EXPONENTIAL_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_EXPONENTIAL_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/exponential/description.hpp>
+
+namespace boost{
+namespace math{
+
+    template<typename T,typename P>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const boost::math::exponential_distribution<T,P>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// math
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/gamma/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/gamma/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::gamma::os.hpp 				   		   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_GAMMA_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_GAMMA_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/gamma/description.hpp>
+
+namespace boost{
+namespace math{
+
+    template<typename T,typename P>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const boost::math::gamma_distribution<T,P>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// math
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/location_scale/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/location_scale/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,35 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::location_scale::os.hpp 			   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_LOCATION_SCALE_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_LOCATION_SCALE_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/location_scale/description.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace toolkit{
+
+    template<typename D>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const location_scale_distribution<D>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// toolkit
+}// distribution
+}// detail
+}// statistics
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/normal/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/normal/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::normal::os.hpp 				   	   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_NORMAL_DISTRIBUTION_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_NORMAL_DISTRIBUTION_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/normal/description.hpp>
+
+namespace boost{
+namespace math{
+
+    template<typename T,typename P>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const boost::math::normal_distribution<T,P>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// math
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/students_t/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/students_t/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::students_t::os.hpp 				   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_STUDENTS_T_DISTRIBUTION_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_STUDENTS_T_DISTRIBUTION_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/students_t/description.hpp>
+
+namespace boost{
+namespace math{
+
+    template<typename T,typename P>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const boost::math::students_t_distribution<T,P>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// math
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/uniform/os.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/distributions/uniform/os.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,29 @@
+/////////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::distributions::uniform::os.hpp 				   	   //
+//                                                                             //
+//  (C) Copyright 2009 Erwann Rogard                                           //
+//  Use, modification and distribution are subject to 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)           //
+/////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_UNIFORM_DISTRIBUTION_OS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_UNIFORM_DISTRIBUTION_OS_HPP_ER_2009
+#include <boost/statistics/detail/distribution_toolkit/distributions/uniform/description.hpp>
+
+namespace boost{
+namespace math{
+
+    template<typename T,typename P>
+	std::ostream&
+    operator<<(
+    	std::ostream& os,
+        const boost::math::uniform_distribution<T,P>& dist
+    )
+    {
+        return (os << description(dist));
+    }
+
+}// math
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/test/detail/x_f.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_toolkit/boost/statistics/detail/distribution_toolkit/test/detail/x_f.hpp	2009-12-05 20:12:27 EST (Sat, 05 Dec 2009)
@@ -0,0 +1,101 @@
+///////////////////////////////////////////////////////////////////////////////
+// distribution::toolkit::test::x_f.hpp                               	 	 //
+//                                                                           //
+//  Copyright 2009 Erwann Rogard. 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)         //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_TEST_DETAIL_X_F_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_TOOLKIT_TEST_DETAIL_X_F_HPP_ER_2009
+#include <boost/lambda/lambda.hpp>
+#include <boost/lambda/bind.hpp>
+#include <boost/typeof/typeof.hpp>
+#include <boost/function.hpp>
+#include <boost/ref.hpp>
+#include <boost/fusion/include/map.hpp>
+#include <boost/fusion/include/at_key.hpp>
+#include <boost/statistics/detail/distribution_common/functor/cdf.hpp>
+#include <boost/statistics/detail/distribution_common/distributions/reference/include.hpp>
+#include <boost/statistics/detail/distribution_common/meta/value.hpp>
+#include <boost/statistics/detail/distribution_common/meta/random/generator.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace toolkit{
+namespace test{
+namespace detail{
+
+	template<typename T>
+	class x_f{
+
+		public:
+		struct input;
+		struct output1;
+        typedef boost::fusion::map<
+            boost::fusion::pair<input,T>,
+            boost::fusion::pair<output1,T>
+        > data_type;
+
+		template<typename D,template<typename> class F = functor::cdf_>
+		class functor{
+			typedef distribution::functor::cdf_<D> funct_;				
+			public:
+
+			typedef data_type result_type;
+
+			functor(const D& dist) : f(dist){}
+        	functor(const functor& that) : f(that.f){}
+
+			typedef typename distribution::meta::value<D>::type value_type;
+        
+			template<typename X>
+        	result_type operator()(const X& x)const
+        	{
+        		return result_type(
+            		boost::fusion::make_pair<input>(x),
+            		boost::fusion::make_pair<output1>(
+                    	this->f(x)
+                	)
+            	);
+        	}
+
+			private:
+        	funct_ f;
+        };
+
+        typedef boost::function<data_type()> generator_type;
+
+        template<typename D,template<typename> class F = functor::cdf_>
+        struct meta_generator{
+        	typedef functor<D,F> functor_;
+            typedef typename functor_::result_type res_;
+        	typedef generator_type type;
+
+			template<typename G>            
+    		static type call(const D& dist,G& random_generator)
+            {
+        		return type(
+                    boost::lambda::bind<res_>(
+            			functor_(dist),
+            			boost::lambda::bind(
+                        	boost::ref(
+                            	random_generator
+                            )
+                        )
+                    )
+                );
+			}
+		};        
+	};
+
+}// detail
+}// test
+}// toolkit
+}// distribution
+}// detail
+}// statistics
+}// boost
+
+#endif
\ No newline at end of file