Sacado Development
Public Types | Public Member Functions | Public Attributes | Static Public Attributes
Sacado::FlopCounterPack::FlopCounts Class Reference

Class storing flop counts and summary flop counts. More...

#include <Sacado_ScalarFlopCounter.hpp>

List of all members.

Public Types

enum  { NUM_OPS = 34 }
 Number of total operation supported up till now.
enum  EFlopType {
  ASSIGN, PLUS, PLUS_ASSIGN, UNARY_PLUS,
  MINUS, MINUS_ASSIGN, UNARY_MINUS, MULTIPLY,
  MULTIPLY_ASSIGN, DIVIDE, DIVIDE_ASSIGN, GREATER_THAN,
  GREATER_THAN_EQUAL, LESS_THAN, LESS_THAN_EQUAL, EQUAL,
  EXP, LOG, LOG10, SQRT,
  COS, SIN, TAN, ACOS,
  ASIN, ATAN, ATAN2, COSH,
  SINH, TANH, ABS, POW,
  MAX, MIN
}
 Enum for operations.
enum  { NUM_SUMMARY_OPS = 6 }
 Number of summary operation categories.
enum  ESummaryFlopType {
  SUMMARY_ASSIGN, SUMMARY_PLUS_MINUS, SUMMARY_MULTIPLY, SUMMARY_DIVIDE,
  SUMMARY_COMPARISON, SUMMARY_NONLINEAR
}
 Enum of summary operation categories.

Public Member Functions

 FlopCounts ()
 Default constructor.
void reset ()
 Reset flop counters before starting a block of computations. */.
void finalize ()
void increment (EFlopType ft)
 Increment an individual flop counter.

Public Attributes

double flopCounts [NUM_OPS]
 Individual flop counts.
double summaryFlopCounts [NUM_SUMMARY_OPS]
 Summary category flop counts.
double totalFlopCount
 Total flop count.

Static Public Attributes

static const char * flopCountsNames [NUM_OPS]
 Names of individual flops.
static const char * summaryFlopCountsNames [NUM_SUMMARY_OPS]
 Names for summary operation categories.
static unsigned int flopGranularity = 100000000
 The number of flops to accumulate as an integer before converting to a double.

Detailed Description

Class storing flop counts and summary flop counts.


Member Data Documentation

unsigned int Sacado::FlopCounterPack::FlopCounts::flopGranularity = 100000000 [static]

The number of flops to accumulate as an integer before converting to a double.

The default value is 100 000 000 and must be less than UINT_MAX-1. Increasing this value may give somewhat better precision for the flop count when counting very large numbers of flops.

Initial value:
{
  "="
  ,"all +-"
  ,"all *"
  ,"all /"
  ,"<,>,=="
  ,"nonlinear"
}

Names for summary operation categories.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends