Heidelberg Educational Numerics Library Version 0.27 (from 15 March 2021)
Classes | Functions
opcounter.hh File Reference

This file implements an operator counting class. More...

#include <type_traits>
#include <iostream>
#include <cmath>
#include <cstdlib>

Go to the source code of this file.

Classes

class  hdnum::oc::OpCounter< F >
 
struct  hdnum::oc::OpCounter< F >::Counters
 Struct storing the number of operations. More...
 

Functions

template<typename F >
OpCounter< F > hdnum::oc::operator- (const OpCounter< F > &a)
 
template<typename F >
OpCounter< F > hdnum::oc::operator+ (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator+ (const OpCounter< F > &a, const F &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator+ (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator+ (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator+ (const T &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator+= (OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator+= (OpCounter< F > &a, const F &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > & >::type hdnum::oc::operator+= (OpCounter< F > &a, const T &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator- (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator- (const OpCounter< F > &a, const F &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator- (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator- (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator- (const T &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator-= (OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator-= (OpCounter< F > &a, const F &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > & >::type hdnum::oc::operator-= (OpCounter< F > &a, const T &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator* (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator* (const OpCounter< F > &a, const F &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator* (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator* (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator* (const T &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator*= (OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator*= (OpCounter< F > &a, const F &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > & >::type hdnum::oc::operator*= (OpCounter< F > &a, const T &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator/ (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator/ (const OpCounter< F > &a, const F &b)
 
template<typename F >
OpCounter< F > hdnum::oc::operator/ (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator/ (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > >::type hdnum::oc::operator/ (const T &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator/= (OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > & hdnum::oc::operator/= (OpCounter< F > &a, const F &b)
 
template<typename F , typename T >
std::enable_if< std::is_arithmetic< T >::value, OpCounter< F > & >::type hdnum::oc::operator/= (OpCounter< F > &a, const T &b)
 
template<typename F >
bool hdnum::oc::operator< (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator< (const OpCounter< F > &a, const F &b)
 
template<typename F >
bool hdnum::oc::operator< (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
bool hdnum::oc::operator< (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
bool hdnum::oc::operator< (const T &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator<= (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator<= (const OpCounter< F > &a, const F &b)
 
template<typename F >
bool hdnum::oc::operator<= (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
bool hdnum::oc::operator<= (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
bool hdnum::oc::operator<= (const T &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator> (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator> (const OpCounter< F > &a, const F &b)
 
template<typename F >
bool hdnum::oc::operator> (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
bool hdnum::oc::operator> (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
bool hdnum::oc::operator> (const T &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator>= (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator>= (const OpCounter< F > &a, const F &b)
 
template<typename F >
bool hdnum::oc::operator>= (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
bool hdnum::oc::operator>= (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
bool hdnum::oc::operator>= (const T &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator!= (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator!= (const OpCounter< F > &a, const F &b)
 
template<typename F >
bool hdnum::oc::operator!= (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
bool hdnum::oc::operator!= (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
bool hdnum::oc::operator!= (const T &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator== (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
bool hdnum::oc::operator== (const OpCounter< F > &a, const F &b)
 
template<typename F >
bool hdnum::oc::operator== (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
bool hdnum::oc::operator== (const OpCounter< F > &a, const T &b)
 
template<typename F , typename T >
bool hdnum::oc::operator== (const T &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::exp (const OpCounter< F > &a)
 
template<typename F >
OpCounter< F > hdnum::oc::pow (const OpCounter< F > &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::pow (const OpCounter< F > &a, const F &b)
 
template<typename F , typename T >
OpCounter< F > hdnum::oc::pow (const OpCounter< F > &a, const T &b)
 
template<typename F >
OpCounter< F > hdnum::oc::pow (const F &a, const OpCounter< F > &b)
 
template<typename F , typename T >
OpCounter< F > hdnum::oc::pow (const T &a, const OpCounter< F > &b)
 
template<typename F >
OpCounter< F > hdnum::oc::sin (const OpCounter< F > &a)
 
template<typename F >
OpCounter< F > hdnum::oc::cos (const OpCounter< F > &a)
 
template<typename F >
OpCounter< F > hdnum::oc::sqrt (const OpCounter< F > &a)
 
template<typename F >
OpCounter< F > hdnum::oc::abs (const OpCounter< F > &a)
 

Detailed Description

This file implements an operator counting class.