Doxygen 1.9.1
Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN: Tasmanian v8.2 (development)
tsgUtils.hpp File Reference

Miscellaneous utility templates used thoughout the code. More...

#include "tsgMathUtils.hpp"
Include dependency graph for tsgUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TasGrid::Utils::Wrapper2D< T >
 Wraps around a C-style of an array and mimics 2D data-structure. More...
 

Namespaces

 TasGrid
 Encapsulates the Tasmanian Sparse Grid module.
 
 TasGrid::Utils
 Miscellaneous utility templates (internal use).
 

Typedefs

template<bool condition>
using TasGrid::Utils::use_if = typename std::enable_if< condition, void >::type
 Equivalent to C++14 enable_if_t<condition, void>
 

Functions

template<typename scalar_type >
void TasGrid::Utils::transpose (long long M, long long N, scalar_type const A[], scalar_type B[])
 Constructs the transpose of an M by N matrix A in column major format, result is stored in B (implemented in linear solvers).
 
template<typename scalar_type >
std::vector< scalar_type > TasGrid::Utils::transpose (long long M, long long N, scalar_type const A[])
 Constructs the transpose of an M by N matrix A in column major format, result is returned in a vector.
 
template<typename IntA , typename IntB >
size_t TasGrid::Utils::size_mult (IntA a, IntB b)
 Converts two integer-like variables to size_t and returns the product.. More...
 
template<typename T , typename I >
std::vector< typename std::remove_const< T >::type > TasGrid::Utils::copyArray (T *x, I size)
 Copies an array into a vector, returns empty vector if the input is nullpntr. More...
 
template<typename T >
std::vector< T > TasGrid::Utils::mergeVectors (std::vector< std::vector< T >> const &vec)
 Takes a vector of vectors and returns a single contiguous vector. More...
 
template<typename T , typename U >
TasGrid::Utils::exchange (T &x, U new_x)
 Equivalent to C++14 exchange, but works with simpler types (int, double, float*).
 
template<typename T , typename... Args>
std::unique_ptr< T > TasGrid::Utils::make_unique (Args &&... args)
 Equivalent to C++14 make_unique.
 

Detailed Description

Miscellaneous utility templates used thoughout the code.

Author
Miroslav Stoyanov

Templates uses throughout the internal algorithms of Tasmanian. The header will be kept private.