Sacado Package Browser (Single Doxygen Collection) Version of the Day
Classes | Namespaces | Defines | Functions
Sacado_ScalarFlopCounter.hpp File Reference
#include "Sacado_ScalarFlopCounterTraits.hpp"
#include <cmath>
#include <algorithm>
#include <ostream>
Include dependency graph for Sacado_ScalarFlopCounter.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Sacado::FlopCounterPack::FlopCounts
 Class storing flop counts and summary flop counts. More...
class  Sacado::FlopCounterPack::ScalarFlopCounter< T >
 Templated flop counter class. More...
struct  Sacado::FlopCounterPack::ScalarFlopCounter< T >::apply< U >
 Turn ScalarFlopCounter into a meta-function class usable with mpl::apply. More...

Namespaces

namespace  Sacado
 

Abstract class that provides access to a parameter value in a code for the parameter library. An object of this type is required to construct a ParameterRegistration object.


namespace  Sacado::FlopCounterPack

Defines

#define SCALAR_FLOP_COUNTER_BINARY_OP_ASSIGN(OP, OP_NAME)
#define SCALAR_FLOP_COUNTER_BINARY_OP(OP, OP_NAME)
#define SCALAR_FLOP_COUNTER_UNARY_OP(OP, OP_NAME)
#define SCALAR_FLOP_COUNTER_UNARY_FUNC(OP, OP_NAME)
#define SCALAR_FLOP_COUNTER_BINARY_FUNC(OP, OP_NAME)
#define SCALAR_FLOP_COUNTER_BINARY_COMPARISON_OP(OP, OP_NAME)

Functions

std::ostream & Sacado::FlopCounterPack::printCountersTable (const int n, const char *names[], const char *abbr[], const FlopCounts counts[], std::ostream &out)
 Print a list of flop counts into a single table.

Define Documentation

#define SCALAR_FLOP_COUNTER_BINARY_OP_ASSIGN (   OP,
  OP_NAME 
)
Value:
ScalarFlopCounter<T> operator OP ( const ScalarFlopCounter<T>& s )  \
    {                 \
      ScalarFlopCounter<T>::incrCounter(OP_NAME);     \
      val_ OP s.val();              \
      return *this;             \
    }

Definition at line 178 of file Sacado_ScalarFlopCounter.hpp.

#define SCALAR_FLOP_COUNTER_BINARY_OP (   OP,
  OP_NAME 
)

Definition at line 282 of file Sacado_ScalarFlopCounter.hpp.

#define SCALAR_FLOP_COUNTER_UNARY_OP (   OP,
  OP_NAME 
)
Value:
template<class T>             \
    ScalarFlopCounter<T> operator OP ( const ScalarFlopCounter<T>& a )  \
    {                 \
      ScalarFlopCounter<T>::incrCounter(OP_NAME);     \
      return ScalarFlopCounter<T>( OP a.val() );      \
    }

Definition at line 319 of file Sacado_ScalarFlopCounter.hpp.

#define SCALAR_FLOP_COUNTER_UNARY_FUNC (   OP,
  OP_NAME 
)
Value:
template<class T>             \
    ScalarFlopCounter<T> OP( const ScalarFlopCounter<T>& a )    \
    {                 \
      ScalarFlopCounter<T>::incrCounter(OP_NAME);     \
      return ScalarFlopCounter<T>( std::OP( a.val() ) );    \
    }

Definition at line 327 of file Sacado_ScalarFlopCounter.hpp.

#define SCALAR_FLOP_COUNTER_BINARY_FUNC (   OP,
  OP_NAME 
)

Definition at line 335 of file Sacado_ScalarFlopCounter.hpp.

#define SCALAR_FLOP_COUNTER_BINARY_COMPARISON_OP (   OP,
  OP_NAME 
)
Value:
template<class T>             \
    bool operator OP ( const ScalarFlopCounter<T>& a,     \
           const ScalarFlopCounter<T>& b )      \
    {                 \
      ScalarFlopCounter<T>::incrCounter(OP_NAME);     \
      return (a.val() OP b.val());          \
    }                 \
    template<class T>                   \
    bool operator OP ( const T& a, const ScalarFlopCounter<T>& b )  \
    {                 \
      ScalarFlopCounter<T>::incrCounter(OP_NAME);     \
      return (a OP b.val());            \
    }                 \
    template<class T>                   \
    bool operator OP ( const ScalarFlopCounter<T>& a, const T& b )  \
    {                 \
      ScalarFlopCounter<T>::incrCounter(OP_NAME);     \
      return (a.val() OP b);            \
    }

Definition at line 372 of file Sacado_ScalarFlopCounter.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines