x
Yes
No
Do you want to visit DriveHQ English website?
Inicio
Características
Precios
Prueba gratuita
Software cliente
Acerca de nosotros
Servidor de archivos
|
Solución de copias de seguridad
|
Servidor FTP
|
Servidor de correo electrónico
|
Alojamiento web
|
Software cliente
Servidor de archivos
Solución de copia de seguridad
Servidor FTP
Servidor de correo electrónico
Alojamiento web
Software cliente
distributions.hpp - Hosted on DriveHQ Cloud IT Platform
Arriba
Subir
Descargar
Compartir
Publicar
Nueva carpeta
Nuevo archivo
Copiar
Cortar
Eliminar
Pegar
Clasificación
Actualizar
Ruta de la carpeta: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\math\concepts\distributions.hpp
Girar
Efecto
Propiedad
Historial
// Copyright John Maddock 2006. // 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) // distributions.hpp provides definitions of the concept of a distribution // and non-member accessor functions that must be implemented by all distributions. // This is used to verify that // all the features of a distributions have been fully implemented. #ifndef BOOST_MATH_DISTRIBUTION_CONCEPT_HPP #define BOOST_MATH_DISTRIBUTION_CONCEPT_HPP #include
#ifdef BOOST_MSVC #pragma warning(push) #pragma warning(disable: 4100) #pragma warning(disable: 4510) #pragma warning(disable: 4610) #endif #include
#ifdef BOOST_MSVC #pragma warning(pop) #endif #include
namespace boost{ namespace math{ namespace concepts { // Begin by defining a concept archetype // for a distribution class: // template
class distribution_archetype { public: typedef RealType value_type; distribution_archetype(const distribution_archetype&); // Copy constructible. distribution_archetype& operator=(const distribution_archetype&); // Assignable. // There is no default constructor, // but we need a way to instantiate the archetype: static distribution_archetype& get_object() { // will never get caled: return *reinterpret_cast
(0); } }; // template
class distribution_archetype // Non-member accessor functions: // (This list defines the functions that must be implemented by all distributions). template
RealType pdf(const distribution_archetype
& dist, const RealType& x); template
RealType cdf(const distribution_archetype
& dist, const RealType& x); template
RealType quantile(const distribution_archetype
& dist, const RealType& p); template
RealType cdf(const complemented2_type
, RealType>& c); template
RealType quantile(const complemented2_type
, RealType>& c); template
RealType mean(const distribution_archetype
& dist); template
RealType standard_deviation(const distribution_archetype
& dist); template
RealType variance(const distribution_archetype
& dist); template
RealType hazard(const distribution_archetype
& dist); template
RealType chf(const distribution_archetype
& dist); // http://en.wikipedia.org/wiki/Characteristic_function_%28probability_theory%29 template
RealType coefficient_of_variation(const distribution_archetype
& dist); template
RealType mode(const distribution_archetype
& dist); template
RealType skewness(const distribution_archetype
& dist); template
RealType kurtosis_excess(const distribution_archetype
& dist); template
RealType kurtosis(const distribution_archetype
& dist); template
RealType median(const distribution_archetype
& dist); template
std::pair
range(const distribution_archetype
& dist); template
std::pair
support(const distribution_archetype
& dist); // // Next comes the concept checks for verifying that a class // fullfils the requirements of a Distribution: // template
struct DistributionConcept { void constraints() { function_requires
>(); function_requires
>(); typedef typename Distribution::value_type value_type; const Distribution& dist = DistributionConcept
::get_object(); value_type x = 0; // The result values are ignored in all these checks. value_type v = cdf(dist, x); v = cdf(complement(dist, x)); v = pdf(dist, x); v = quantile(dist, x); v = quantile(complement(dist, x)); v = mean(dist); v = mode(dist); v = standard_deviation(dist); v = variance(dist); v = hazard(dist, x); v = chf(dist, x); v = coefficient_of_variation(dist); v = skewness(dist); v = kurtosis(dist); v = kurtosis_excess(dist); v = median(dist); std::pair
pv; pv = range(dist); pv = support(dist); float f = 1; v = cdf(dist, f); v = cdf(complement(dist, f)); v = pdf(dist, f); v = quantile(dist, f); v = quantile(complement(dist, f)); v = hazard(dist, f); v = chf(dist, f); double d = 1; v = cdf(dist, d); v = cdf(complement(dist, d)); v = pdf(dist, d); v = quantile(dist, d); v = quantile(complement(dist, d)); v = hazard(dist, d); v = chf(dist, d); long double ld = 1; v = cdf(dist, ld); v = cdf(complement(dist, ld)); v = pdf(dist, ld); v = quantile(dist, ld); v = quantile(complement(dist, ld)); v = hazard(dist, ld); v = chf(dist, ld); int i = 1; v = cdf(dist, i); v = cdf(complement(dist, i)); v = pdf(dist, i); v = quantile(dist, i); v = quantile(complement(dist, i)); v = hazard(dist, i); v = chf(dist, i); unsigned long li = 1; v = cdf(dist, li); v = cdf(complement(dist, li)); v = pdf(dist, li); v = quantile(dist, li); v = quantile(complement(dist, li)); v = hazard(dist, li); v = chf(dist, li); } private: static Distribution& get_object() { // will never get called: static char buf[sizeof(Distribution)]; return * reinterpret_cast
(buf); } }; // struct DistributionConcept } // namespace concepts } // namespace math } // namespace boost #endif // BOOST_MATH_DISTRIBUTION_CONCEPT_HPP
distributions.hpp
Dirección de la página
Dirección del archivo
Anterior 1/3
Siguiente
Descargar
( 6 KB )
Comments
Total ratings:
0
Average rating:
No clasificado
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.