Program Listing for File Common.h

Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/unit_tests/shared/Common.h)

#ifndef __UNITTEST_COMMON_H
#define __UNITTEST_COMMON_H

#include "../Evolve/StopInformation.h"
#include "../Core/AstronomicalConstants.h"

#include <cpptest.h>
#include <valarray>
#include <sstream>
#include <cstdlib>
#include <string>

bool check_diff(double x, double y, double frac_tolerance,
        double abs_tolerance);

bool check_diff(std::valarray<double> x, std::valarray<double> y,
        std::valarray<double> frac_tolerance,
        std::valarray<double> abs_tolerance);

bool isEqual(double a, double b);

double getError(double predicted, double actual);

bool approxEqual(double predicted, double actual, double thres=0.02);

double orbital_angmom_from_freq(double m1, double m2, double freq, double e);

const double MIN_STELLAR_MASS = 0.4,

      MAX_LOW_MASS = 1.075,

      MAX_STELLAR_MASS = 1.3,

      MIN_AGE = 1e-7,

      MAX_AGE = 10.0,

      MIN_PLANET_MASS = 10,

      MAX_PLANET_MASS = 80,

      MIN_PLANET_RADIUS = 5,

      MAX_PLANET_RADIUS = 15;

double uniform_rand(double min, double max);

//std::string stop_info_to_str(const Evolve::StopInformation &stop);

std::ostream &operator<<(
    std::ostream &os,
    const std::valarray< std::valarray<double> > &poly_coef
);

double rand_value(double min, double max);

int rand_value(int min, int max);

void rand_poly_coef(std::valarray< std::valarray<double> > &poly_coef,
                    double max_mass=-1);

std::valarray< std::valarray<double> > rand_poly_coef(double max_mass=-1);

std::valarray< std::valarray<double> > offset_age(
        const std::valarray< std::valarray<double> > &poly_coef,
        double age_offset);

std::valarray< std::valarray<double> > offset_age(
        const std::valarray< std::valarray<double> > &poly_coef,
        double age_offset);

unsigned next_binom_coef(unsigned n, unsigned m, unsigned nCm);

double lag_from_lgQ(double lgQ);

double lag_from_lgQ(
    double lgQ,

    double mass_ratio
);

#endif