Cortenn
Namespaces | Typedefs | Functions
operator.hpp File Reference
#include <cstring>
#include <cmath>
#include <functional>
#include <random>
#include "llo/data.hpp"
Include dependency graph for operator.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llo
 

Typedefs

using llo::EngineT = std::default_random_engine
 RNG engine used. More...
 

Functions

EngineT & llo::get_engine (void)
 Return global random generator. More...
 
template<typename T >
void llo::unary (T *out, ade::Shape &outshape, VecRef< T > in, std::function< T(const T &)> f)
 Generic unary operation assuming identity mapping. More...
 
template<typename T >
void llo::abs (T *out, VecRef< T > in)
 
template<>
void llo::abs< uint8_t > (uint8_t *out, VecRef< uint8_t > in)
 
template<>
void llo::abs< uint16_t > (uint16_t *out, VecRef< uint16_t > in)
 
template<>
void llo::abs< uint32_t > (uint32_t *out, VecRef< uint32_t > in)
 
template<>
void llo::abs< uint64_t > (uint64_t *out, VecRef< uint64_t > in)
 
template<typename T >
void llo::neg (T *out, VecRef< T > in)
 
template<>
void llo::neg< uint8_t > (uint8_t *out, VecRef< uint8_t > in)
 
template<>
void llo::neg< uint16_t > (uint16_t *out, VecRef< uint16_t > in)
 
template<>
void llo::neg< uint32_t > (uint32_t *out, VecRef< uint32_t > in)
 
template<>
void llo::neg< uint64_t > (uint64_t *out, VecRef< uint64_t > in)
 
template<typename T >
void llo::bit_not (T *out, VecRef< T > in)
 
template<typename T >
void llo::sin (T *out, VecRef< T > in)
 
template<typename T >
void llo::cos (T *out, VecRef< T > in)
 
template<typename T >
void llo::tan (T *out, VecRef< T > in)
 
template<typename T >
void llo::exp (T *out, VecRef< T > in)
 
template<typename T >
void llo::log (T *out, VecRef< T > in)
 
template<typename T >
void llo::sqrt (T *out, VecRef< T > in)
 
template<typename T >
void llo::round (T *out, VecRef< T > in)
 
template<typename OUT , typename ATYPE , typename BTYPE >
void llo::binary (OUT *out, ade::Shape &outshape, VecRef< ATYPE > a, VecRef< BTYPE > b, std::function< OUT(const ATYPE &, const BTYPE &)> f)
 Generic binary operation assuming identity mapping. More...
 
template<typename T >
void llo::pow (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::sub (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::div (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::eq (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::neq (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::lt (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::gt (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<typename T >
void llo::rand_binom (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< double > b)
 
template<>
void llo::rand_binom< double > (double *out, ade::Shape &outshape, VecRef< double > a, VecRef< double > b)
 
template<>
void llo::rand_binom< float > (float *out, ade::Shape &outshape, VecRef< float > a, VecRef< double > b)
 
template<typename T >
void llo::rand_uniform (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<>
void llo::rand_uniform< double > (double *out, ade::Shape &outshape, VecRef< double > a, VecRef< double > b)
 
template<>
void llo::rand_uniform< float > (float *out, ade::Shape &outshape, VecRef< float > a, VecRef< float > b)
 
template<typename T >
void llo::rand_normal (T *out, ade::Shape &outshape, VecRef< T > a, VecRef< T > b)
 
template<>
void llo::rand_normal< double > (double *out, ade::Shape &outshape, VecRef< double > a, VecRef< double > b)
 
template<>
void llo::rand_normal< float > (float *out, ade::Shape &outshape, VecRef< float > a, VecRef< float > b)
 
template<typename T >
void llo::nnary (T *out, ade::Shape &outshape, std::vector< VecRef< T >> args, std::function< void(T &, const T &)> acc)
 Generic n-nary operation. More...
 
template<typename T >
void llo::add (T *out, ade::Shape &outshape, std::vector< VecRef< T >> args)
 
template<typename T >
void llo::mul (T *out, ade::Shape &outshape, std::vector< VecRef< T >> args)
 
template<typename T >
void llo::min (T *out, ade::Shape &outshape, std::vector< VecRef< T >> args)
 
template<typename T >
void llo::max (T *out, ade::Shape &outshape, std::vector< VecRef< T >> args)