17 ss << std::setw(width) << std::setprecision(prec) << std::scientific << d;
24 for (
double elem : v) {
30static void print_message(std::string msg)
33 std::cout <<
"message: " << msg <<
"\n\n";
40void m_assert(
bool expr, std::string expr_str, std::string f, std::string file,
41 int line, std::string msg)
43 std::string new_assert(f.size() + (expr ? 4 : 6),
'-');
44 std::cout <<
"\x1B[36m" << new_assert <<
"\033[0m\n";
45 std::cout << f <<
": ";
47 std::cout <<
"\x1B[32mOK\033[0m\n";
51 std::cout <<
"\x1B[31mFAIL\033[0m\n";
53 std::cout << file <<
" " << line <<
": Assertion \"" << expr_str
61 if (a.n_elem != b.n_elem) {
65 for (
int i = 0; i < a.n_elem; i++) {
66 if (std::abs(a(i) - b(i)) >= tol) {
bool arma_vector_close_to(arma::vec &a, arma::vec &b, double tol)
Test if two armadillo vectors are close to each other.
std::string scientific_format(double d, int width, int prec)
Turns a double into a string written in scientific format.
void m_assert(bool expr, std::string expr_str, std::string f, std::string file, int line, std::string msg)
Test an expression, confirm that test is ok, or abort execution.
Function prototypes and macros that are useful.