hub namespace

Contents

Documentation for hub

Namespaces

namespace calc
namespace callback
namespace consts
namespace force
namespace integrator
namespace math
namespace multi_thread
namespace orbit
namespace random
namespace scattering
namespace tools
namespace unit

Classes

class Chain
Static class for chain coordinates transformation.
template<typename T>
struct Kahan
template<typename ParticleSys>
class RunArgs
template<typename ParticleSys, typename OdeIterator>
class Simulator
template<typename Real, template<typename> typename V = Vec3>
struct Types
template<typename T>
struct Vec3

Typedefs

using vec3ld = Vec3<long double>
using vec3d = Vec3<double>
using vec3f = Vec3<float>
using vec3i = Vec3<int>
using vec3c = Vec3<char>
using vec3b = Vec3<bool>

Functions

template<typename Ostream, typename... Args>
auto print(Ostream& os, Args && ... args) -> auto&
Print variables to an output stream.
template<typename Istream, typename... Args>
auto input(Istream& istream, Args && ... args) -> auto&
Input variables from an input stream.
template<typename... Args>
auto std_print(Args && ... args) -> auto&
Print variables to std::cout.
template<typename... Args>
auto std_input(Args && ... args) -> auto&
Input variables from std::cin.
template<typename Ostream, typename Arg, typename... Args>
auto print_csv(Ostream& out, Arg&& arg, Args && ... args) -> auto&
Print comma seperated value to an ostream.
template<typename Ostream, typename... Args>
void display(Ostream& out, Args && ... args)
Print hub separated value to an ostream.
template<typename T1, typename T2>
auto distance(const Vec3<T1>& v1, const Vec3<T2>& v2) -> T1
template<typename T1, typename T2>
auto dot(const Vec3<T1>& v1, const Vec3<T2>& v2) -> T1
template<typename T>
auto norm(const Vec3<T>& v) -> T
template<typename T>
auto re_norm(const Vec3<T>& v) -> T
template<typename T>
auto norm2(const Vec3<T>& v) -> T
template<typename T1, typename T2>
auto cross(const Vec3<T1>& v1, const Vec3<T2>& v2) -> Vec3<T1>

Typedef documentation

using hub::vec3ld = Vec3<long double>

Alias for long double 3-d vector

using hub::vec3d = Vec3<double>

Alias for double 3-d vector

using hub::vec3f = Vec3<float>

Alias for float 3-d vector

using hub::vec3i = Vec3<int>

Alias for int 3-d vector

using hub::vec3c = Vec3<char>

Alias for char 3-d vector

using hub::vec3b = Vec3<bool>

Alias for bool 3-d vector

Function documentation

#include <src/IO.hpp>
template<typename Ostream, typename... Args>
auto& hub::print(Ostream& os, Args && ... args)

Print variables to an output stream.

Template parameters
Ostream Output stream.
Args Variadic type(any).
Parameters
os in/out Output stream.
args in Variables.
Returns Output stream.

#include <src/IO.hpp>
template<typename Istream, typename... Args>
auto& hub::input(Istream& istream, Args && ... args)

Input variables from an input stream.

Template parameters
Istream Input stream.
Args Variadic type(any).
Parameters
istream in/out Input stream.
args out Variables.
Returns Input stream.

#include <src/IO.hpp>
template<typename... Args>
auto& hub::std_print(Args && ... args)

Print variables to std::cout.

Template parameters
Args Variadic type(any).
Parameters
args in Variables.
Returns std::cout.

#include <src/IO.hpp>
template<typename... Args>
auto& hub::std_input(Args && ... args)

Input variables from std::cin.

Template parameters
Args Variadic type(any).
Parameters
args out Variables.
Returns std::cin.

#include <src/IO.hpp>
template<typename Ostream, typename Arg, typename... Args>
auto& hub::print_csv(Ostream& out, Arg&& arg, Args && ... args)

Print comma seperated value to an ostream.

Template parameters
Ostream Type of ostream.
Arg Variadic type(any).
Args Variadic type(any).
Parameters
out out output stream.
arg in Variable.
args in Variables.
Returns auto& output stream.

#include <src/IO.hpp>
template<typename Ostream, typename... Args>
void hub::display(Ostream& out, Args && ... args)

Print hub separated value to an ostream.

Template parameters
Ostream Type of ostream.
Args Variadic type(any).
Parameters
out out Output stream
args in Variables.

template<typename T1, typename T2>
T1 hub::distance(const Vec3<T1>& v1, const Vec3<T2>& v2)

Calculate the Euclid distance of two vectors

template<typename T1, typename T2>
T1 hub::dot(const Vec3<T1>& v1, const Vec3<T2>& v2)

Calculate the inner product of two vectors

template<typename T>
T hub::norm(const Vec3<T>& v)

Calculate the length of a vector

template<typename T>
T hub::re_norm(const Vec3<T>& v)

Calculate the inverse length of a vector

template<typename T>
T hub::norm2(const Vec3<T>& v)

Calculate the length square of a vector

template<typename T1, typename T2>
Vec3<T1> hub::cross(const Vec3<T1>& v1, const Vec3<T2>& v2)

Calculate the cross product of two vectors