LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lsst::utils::PowFast Class Reference

#include <PowFast.h>

Public Member Functions

float two (float x) const
 Evaluate 2^x . (x must be in (-125, 128)) More...
 
float exp (float x) const
 Evaluate exp(x). (x must be in (-87.3ish, 88.7ish)) More...
 
float ten (float x) const
 Evaluate 10^x. (x must be in (-37.9ish, 38.5ish)) More...
 
float r (float logr, float x) const
 Evaluate r^x. More...
 
unsigned int getPrecision () const
 Return this PowFast's precision. More...
 

Private Member Functions

 PowFast (unsigned int precision=11)
 
 ~PowFast ()
 
 PowFast (const PowFast &)
 
PowFastoperator= (const PowFast &)
 

Private Attributes

unsigned int precision_m
 
unsigned int * pTable_m
 

Friends

template<int >
const PowFastgetPowFast ()
 return a singleton PowFast with the specified precision in its lookup tables More...
 

Detailed Description

Definition at line 45 of file PowFast.h.

Constructor & Destructor Documentation

lsst::utils::PowFast::PowFast ( unsigned int  precision = 11)
explicitprivate
Parameters
precisionDesired precision

Definition at line 125 of file PowFast.cc.

128  : precision_m( precision <= 18u ? precision : 18u )
129  , pTable_m ( new unsigned int[ 1 << precision_m ] )
130 {
131  powFastSetTable( pTable_m, precision_m );
132 }
unsigned int precision_m
Definition: PowFast.h:81
unsigned int * pTable_m
Definition: PowFast.h:82
lsst::utils::PowFast::~PowFast ( )
private

Definition at line 135 of file PowFast.cc.

136 {
137  delete[] pTable_m;
138 }
unsigned int * pTable_m
Definition: PowFast.h:82
lsst::utils::PowFast::PowFast ( const PowFast )
private

Member Function Documentation

float lsst::utils::PowFast::exp ( float  x) const

Evaluate exp(x). (x must be in (-87.3ish, 88.7ish))

Parameters
xexponent

Definition at line 151 of file PowFast.cc.

154 {
155  return powFastLookup( f, 1.44269504088896f, pTable_m, precision_m );
156 }
unsigned int precision_m
Definition: PowFast.h:81
unsigned int * pTable_m
Definition: PowFast.h:82
unsigned int lsst::utils::PowFast::getPrecision ( ) const

Return this PowFast's precision.

Definition at line 178 of file PowFast.cc.

179 {
180  return precision_m;
181 }
unsigned int precision_m
Definition: PowFast.h:81
PowFast& lsst::utils::PowFast::operator= ( const PowFast )
private
float lsst::utils::PowFast::r ( float  logr,
float  x 
) const

Evaluate r^x.

Parameters
logrlog_e(r)
xdesired exponent (beware under/over-flow)

Definition at line 169 of file PowFast.cc.

173 {
174  return powFastLookup( f, (logr * 1.44269504088896f), pTable_m, precision_m );
175 }
unsigned int precision_m
Definition: PowFast.h:81
unsigned int * pTable_m
Definition: PowFast.h:82
float lsst::utils::PowFast::ten ( float  x) const

Evaluate 10^x. (x must be in (-37.9ish, 38.5ish))

Parameters
xexponent

Definition at line 160 of file PowFast.cc.

163 {
164  return powFastLookup( f, 3.32192809488736f, pTable_m, precision_m );
165 }
unsigned int precision_m
Definition: PowFast.h:81
unsigned int * pTable_m
Definition: PowFast.h:82
float lsst::utils::PowFast::two ( float  x) const

Evaluate 2^x . (x must be in (-125, 128))

Parameters
xexponent

Definition at line 142 of file PowFast.cc.

145 {
146  return powFastLookup( f, 1.0f, pTable_m, precision_m );
147 }
unsigned int precision_m
Definition: PowFast.h:81
unsigned int * pTable_m
Definition: PowFast.h:82

Friends And Related Function Documentation

template<int >
const PowFast& getPowFast ( )
friend

return a singleton PowFast with the specified precision in its lookup tables

Member Data Documentation

unsigned int lsst::utils::PowFast::precision_m
private

Definition at line 81 of file PowFast.h.

unsigned int* lsst::utils::PowFast::pTable_m
private

Definition at line 82 of file PowFast.h.


The documentation for this class was generated from the following files: