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