include/utils.hpp(3)

NAME
include/utils.hpp - Function prototypes and macros that are useful.

SYNOPSIS

#include <armadillo>
#include <iomanip>
#include <sstream>
#include <string>
#include <vector>

  Macros
#define DEBUG(msg)
Writes a debug message.
#define ASSERT(expr, msg)
A prettier assertion function.
#define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__)

  Functions
std::string scientific_format (double d, int width=20, int prec=10)
Turns a double into a string written in scientific format.
std::string scientific_format (const std::vector< double > &v, int width=20, int prec=10)
Turns a vector of doubles into a string written in scientific format.
void m_assert (bool expr, std::string expr_str, std::string func, std::string file, int line, std::string msg)
Test an expression, confirm that test is ok, or abort execution.
bool arma_vector_close_to (arma::vec &a, arma::vec &b, double tol=1e-8)
Test if two armadillo vectors are close to each other.

Detailed Description

Function prototypes and macros that are useful.

Author
    Cory Alexander Balaton (coryab)

    Janita Ovidie Sandtrøen Willumsen (janitaws)

Version
    1.0

These utility function are mainly for convenience and aren't directly related to the project.

Bug
    No known bugs

Definition in file utils.hpp.

Macro Definition Documentation

  #define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__)

Definition at line 48 of file utils.hpp.

  #define ASSERT(expr, msg)
Value:.PP
                                   m_assert(expr, #expr, __METHOD_NAME__, __FILE__, \
                                   __LINE__, msg)

A prettier assertion function. This macro calls the m_assert function which is a more informative assertion function than the regular assert function from cassert.

Definition at line 45 of file utils.hpp.

  #define DEBUG(msg)

Writes a debug message. This macro writes a debug message that includes the filename, line number, and a custom message. The function is wrapped in an ifdef that checks if DBG is defined, so one can choose to display the debug messages by adding the -DDBG flag when compiling.

Definition at line 36 of file utils.hpp.

Function Documentation

  bool arma_vector_close_to (arma::vec & a, arma::vec & b, double tol = 1e-8)

Test if two armadillo vectors are close to each other. This function takes in 2 vectors and checks if they are approximately equal to each other given a tolerance.

Parameters
    a Vector a
    b Vector b
    tol The tolerance

Returns
    Boolean

Definition at line 59 of file utils.cpp.

  void m_assert (bool expr, std::string expr_str, std::string func, std::string file, int line, std::string msg)

Test an expression, confirm that test is ok, or abort execution. This function takes in an expression and prints an OK message if it's true, or it prints a fail message and aborts execution if it fails.

Parameters
    expr The expression to be evaluated
    expr_str The stringified version of the expression
    func The function name of the caller
    file The file of the caller
    line The line number where this function is called from
    msg The message to be displayed

Definition at line 40 of file utils.cpp.

  std::string scientific_format (const std::vector< double > & v, int width = 20, int prec = 10)

Turns a vector of doubles into a string written in scientific format.

Parameters
    v The vector to stringify
    width The reserved width of the string
    prec The precision of the stringified number

Returns
    String

Definition at line 21 of file utils.cpp.

  std::string scientific_format (double d, int width = 20, int prec = 10)

Turns a double into a string written in scientific format. Code stolen from https://github.com/anderkve/FYS3150 Header: https://github.com/anderkve/FYS3150/blob/master/code_examples/compilation_linking/example_1/include/utils.hpp Source: https://github.com/anderkve/FYS3150/blob/master/code_examples/compilation_linking/example_1/src/utils.cpp

Parameters
    d The number to stringify
    width The reserved width of the string
    prec The precision of the stringified number

Returns
    String

Definition at line 14 of file utils.cpp.

Author

Generated automatically by Doxygen for Penning Trap Simulation from the source code.