Beispiel #1
0
bool DoTestGauss(double m, double s) {
    std::map<std::string, std::string> params;
    params["type"] = "gauss";
    params["m"] = FtoA(m);
    params["s"] = FtoA(s);
    std::unique_ptr<TRandomNumberGenerator> rand(TRandomFactory::Instance().MakeGenerator(params));
    if (!rand) {
        std::cout << "gauss generator didn't created" << std::endl;
        return false;
    }
    double me, se;
    CalculateMeanSigma(*rand, me, se);
    std::cout << "gauss, m=" << m << ", s=" << s << ", me=" << me << ", se=" << se << std::endl;
    return true;
}
Beispiel #2
0
bool DoTestLogistic(double m, double s) {
    std::map<std::string, std::string> params;
    params["type"] = "logistic";
    params["m"] = FtoA(m);
    params["s"] = FtoA(s);
    std::unique_ptr<TRandomNumberGenerator> rand(TRandomFactory::Instance().MakeGenerator(params));
    if (!rand) {
        std::cout << "logistic generator didn't created" << std::endl;
        return false;
    }
    double me, se;
    CalculateMeanSigma(*rand, me, se);
    static constexpr double pi3 = M_PI / sqrt(3.0);
    std::cout << "logistic, m=" << m << ", s*pi/3^0.5=" << s * pi3 << ", me=" << me << ", se=" << se << std::endl;
    return true;
}
Beispiel #3
0
bool DoTestBernoulli(double p) {
    std::map<std::string, std::string> params;
    params["type"] = "bernoulli";
    params["p"] = FtoA(p);
    std::unique_ptr<TRandomNumberGenerator> rand(TRandomFactory::Instance().MakeGenerator(params));
    if (!rand) {
        std::cout << "bernoulli generator didn't created" << std::endl;
        return false;
    }
    double me, se;
    CalculateMeanSigma(*rand, me, se);
    std::cout << "bernoulli, p=" << p << ", pq=" << p * (1 - p) << ", me=" << me << ", se=" << se * se << std::endl;
    return true;
}
Beispiel #4
0
	virtual Pint GtoA(const Pint& _gpos,const dxO& _dxo)const{return FtoA(GtoF(_gpos,_dxo),_dxo);}