Penning Trap Simulation
Simulate particle behavior inside a Penning Trap
Loading...
Searching...
No Matches
utils.cpp File Reference

Implementation of the utils. More...

#include <sys/stat.h>
#include "utils.hpp"

Go to the source code of this file.

Functions

std::string scientific_format (double d, int width, int prec)
 Turns a double into a string written in scientific format.
 
std::string scientific_format (const std::vector< double > &v, int width, int prec)
 Turns a vector of doubles 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.
 
bool arma_vector_close_to (arma::vec &a, arma::vec &b, double tol)
 Test if two armadillo vectors are close to each other.
 
bool mkpath (std::string path, int mode)
 Make path given.
 

Detailed Description

Implementation of the utils.

Author
Cory Alexander Balaton (coryab)
Janita Ovidie Sandtrøen Willumsen (janitaws)
Version
1.0
Bug:
No known bugs

Definition in file utils.cpp.

Function Documentation

◆ arma_vector_close_to()

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
aVector a
bVector b
tolThe tolerance
Returns
bool

Definition at line 62 of file utils.cpp.

◆ m_assert()

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
exprThe expression to be evaluated
expr_strThe stringified version of the expression
funcThe function name of the caller
fileThe file of the caller
lineThe line number where this function is called from
msgThe message to be displayed

Definition at line 43 of file utils.cpp.

◆ mkpath()

bool mkpath ( std::string  path,
int  mode = 0777 
)

Make path given.

This tries to be the equivalent to "mkdir -p" and creates a new directory whenever it needs to.

Parameters
pathThe path to be created
modeThe mode/permissions for all the new directories
Returns
bool

Definition at line 76 of file utils.cpp.

◆ scientific_format() [1/2]

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.

The code is stolen from https://github.com/anderkve/FYS3150.

Parameters
vThe vector to stringify
widthThe reserved width of the string
precThe precision of the stringified number
Returns
std::string

Definition at line 24 of file utils.cpp.

◆ scientific_format() [2/2]

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

Turns a double into a string written in scientific format.

The code is stolen from https://github.com/anderkve/FYS3150.

Parameters
dThe number to stringify
widthThe reserved width of the string
precThe precision of the stringified number
Returns
std::string

Definition at line 17 of file utils.cpp.