SNAP Library 3.0, Developer Reference  2016-07-20 17:56:49
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TFlt Class Reference

#include <dt.h>

Inheritance diagram for TFlt:
Collaboration diagram for TFlt:

Public Member Functions

 TFlt ()
 
 TFlt (const double &_Val)
 
 operator double () const
 
 TFlt (TSIn &SIn)
 
void Save (TSOut &SOut) const
 
 TFlt (TSIn &SIn, const bool &IsTxt)
 
void Load (TSIn &SIn)
 
void Save (TSOut &SOut, const bool &IsTxt) const
 
void LoadXml (const PXmlTok &XmlTok, const TStr &Nm)
 
void SaveXml (TSOut &SOut, const TStr &Nm) const
 
TFltoperator= (const TFlt &Flt)
 
TFltoperator= (const double &Flt)
 
bool operator== (const TFlt &Flt) const _CMPWARN
 
bool operator== (const double &Flt) const _CMPWARN
 
bool operator!= (const double &Flt) const _CMPWARN
 
double operator() () const
 
TFltoperator+= (const double &Flt)
 
TFltoperator-= (const double &Flt)
 
TFltoperator*= (const double &Flt)
 
TFltoperator/= (const double &Flt)
 
TFlt operator++ (int)
 
TFlt operator-- (int)
 
int GetMemUsed () const
 
int GetPrimHashCd () const
 
int GetSecHashCd () const
 
bool IsNum () const
 
bool IsNan () const
 
TStr GetStr () const
 

Static Public Member Functions

static double Abs (const double &Flt)
 
static int Sign (const double &Flt)
 
static int Round (const double &Flt)
 
static double GetRnd ()
 
static bool Eq6 (const double &LFlt, const double &RFlt)
 
static double GetMn (const double &Flt1, const double &Flt2)
 
static double GetMn (const double &Flt1, const double &Flt2, const double &Flt3)
 
static double GetMn (const double &Flt1, const double &Flt2, const double &Flt3, const double &Flt4)
 
static double GetMx (const double &Flt1, const double &Flt2)
 
static double GetMx (const double &Flt1, const double &Flt2, const double Flt3)
 
static double GetMx (const double &Flt1, const double &Flt2, const double Flt3, const double &Flt4)
 
static double GetInRng (const double &Val, const double &Mn, const double &Mx)
 
static bool IsNum (const double &Val)
 
static bool IsNan (const double &Val)
 
static TStr GetStr (const double &Val, const int &Width=-1, const int &Prec=-1)
 
static TStr GetStr (const TFlt &Flt, const int &Width=-1, const int &Prec=-1)
 
static TStr GetStr (const double &Val, const char *FmtStr)
 
static TStr GetStr (const double &Val, const TStr &FmtStr)
 
static TStr GetPrcStr (const double &RelVal, const double &FullVal)
 
static TStr GetKiloStr (const double &Val)
 
static TStr GetMegaStr (const double &Val)
 
static TStr GetGigaStr (const double &Val)
 

Public Attributes

double Val
 

Static Public Attributes

static const double Mn =-DBL_MAX
 
static const double Mx =+DBL_MAX
 
static const double NInf =-DBL_MAX
 
static const double PInf =+DBL_MAX
 
static const double Eps =1e-16
 
static const double EpsHalf =1e-7
 
static TRnd Rnd
 

Detailed Description

Definition at line 1293 of file dt.h.

Constructor & Destructor Documentation

TFlt::TFlt ( )
inline

Definition at line 1305 of file dt.h.

Referenced by GetMemUsed().

1305 : Val(0){}
double Val
Definition: dt.h:1295

Here is the caller graph for this function:

TFlt::TFlt ( const double &  _Val)
inline

Definition at line 1306 of file dt.h.

1306 : Val(_Val){}
double Val
Definition: dt.h:1295
TFlt::TFlt ( TSIn SIn)
inlineexplicit

Definition at line 1308 of file dt.h.

References TSIn::Load(), and Val.

1308 {SIn.Load(Val);}
double Val
Definition: dt.h:1295
void Load(bool &Bool)
Definition: fl.h:84

Here is the call graph for this function:

TFlt::TFlt ( TSIn SIn,
const bool &  IsTxt 
)
inlineexplicit

Definition at line 1310 of file dt.h.

References TStr::GetFlt(), TSIn::Load(), and Val.

1310  {
1311  if (IsTxt){TStr Str(SIn, true); Val=Str.GetFlt(0);} else {SIn.Load(Val);}}
double Val
Definition: dt.h:1295
void Load(bool &Bool)
Definition: fl.h:84
Definition: dt.h:412

Here is the call graph for this function:

Member Function Documentation

static double TFlt::Abs ( const double &  Flt)
inlinestatic
static bool TFlt::Eq6 ( const double &  LFlt,
const double &  RFlt 
)
inlinestatic

Definition at line 1341 of file dt.h.

1341  {
1342  return fabs(LFlt-RFlt)<0.000001;}
static TStr TFlt::GetGigaStr ( const double &  Val)
inlinestatic

Definition at line 1387 of file dt.h.

References TStr::Fmt(), and GetMegaStr().

1387  {
1388  if (fabs(Val)>100*1000000000.0){return TStr::Fmt("%.0fG", Val/1000000000.0);}
1389  else if (fabs(Val)>1000000000.0){return TStr::Fmt("%.1fG", Val/1000000000.0);}
1390  else {return GetMegaStr(Val);}}
double Val
Definition: dt.h:1295
static TStr GetMegaStr(const double &Val)
Definition: dt.h:1383
static TStr Fmt(const char *FmtStr,...)
Definition: dt.cpp:1599

Here is the call graph for this function:

static double TFlt::GetInRng ( const double &  Val,
const double &  Mn,
const double &  Mx 
)
inlinestatic

Definition at line 1358 of file dt.h.

References IAssert, and Val.

1358  {
1359  IAssert(Mn<=Mx); return Val<Mn?Mn:(Val>Mx?Mx:Val);}
#define IAssert(Cond)
Definition: bd.h:262
double Val
Definition: dt.h:1295
static const double Mx
Definition: dt.h:1298
static const double Mn
Definition: dt.h:1297
static TStr TFlt::GetKiloStr ( const double &  Val)
inlinestatic

Definition at line 1379 of file dt.h.

References TStr::Fmt().

Referenced by GetMegaStr().

1379  {
1380  if (fabs(Val)>100*1000){return TStr::Fmt("%.0fK", Val/1000);}
1381  else if (fabs(Val)>1000){return TStr::Fmt("%.1fK", Val/1000);}
1382  else {return TStr::Fmt("%.0f", Val);}}
double Val
Definition: dt.h:1295
static TStr Fmt(const char *FmtStr,...)
Definition: dt.cpp:1599

Here is the call graph for this function:

Here is the caller graph for this function:

static TStr TFlt::GetMegaStr ( const double &  Val)
inlinestatic

Definition at line 1383 of file dt.h.

References TStr::Fmt(), and GetKiloStr().

Referenced by GetGigaStr().

1383  {
1384  if (fabs(Val)>100*1000000){return TStr::Fmt("%.0fM", Val/1000000);}
1385  else if (fabs(Val)>1000000){return TStr::Fmt("%.1fM", Val/1000000);}
1386  else {return GetKiloStr(Val);}}
double Val
Definition: dt.h:1295
static TStr GetKiloStr(const double &Val)
Definition: dt.h:1379
static TStr Fmt(const char *FmtStr,...)
Definition: dt.cpp:1599

Here is the call graph for this function:

Here is the caller graph for this function:

int TFlt::GetMemUsed ( ) const
inline

Definition at line 1330 of file dt.h.

References TFlt().

1330 {return sizeof(TFlt);}
TFlt()
Definition: dt.h:1305

Here is the call graph for this function:

static double TFlt::GetMn ( const double &  Flt1,
const double &  Flt2 
)
inlinestatic

Definition at line 1344 of file dt.h.

Referenced by TNIBs::ComputePerformanceNId(), TNIBs::GenCascade(), GetMn(), and TFltRect::Intersection().

1344  {
1345  return Flt1<Flt2?Flt1:Flt2;}

Here is the caller graph for this function:

static double TFlt::GetMn ( const double &  Flt1,
const double &  Flt2,
const double &  Flt3 
)
inlinestatic

Definition at line 1346 of file dt.h.

References GetMn().

1346  {
1347  return GetMn(GetMn(Flt1, Flt2), Flt3); }
static double GetMn(const double &Flt1, const double &Flt2)
Definition: dt.h:1344

Here is the call graph for this function:

static double TFlt::GetMn ( const double &  Flt1,
const double &  Flt2,
const double &  Flt3,
const double &  Flt4 
)
inlinestatic

Definition at line 1348 of file dt.h.

References GetMn().

1348  {
1349  return GetMn(GetMn(Flt1, Flt2), GetMn(Flt3, Flt4)); }
static double GetMn(const double &Flt1, const double &Flt2)
Definition: dt.h:1344

Here is the call graph for this function:

static double TFlt::GetMx ( const double &  Flt1,
const double &  Flt2 
)
inlinestatic

Definition at line 1351 of file dt.h.

Referenced by TNetInfBs::GenCascade(), GetMx(), TFltRect::Intersection(), TSparseSVD::Lanczos(), TSparseSVD::Lanczos2(), and TLinAlg::NormLinf().

1351  {
1352  return Flt1>Flt2?Flt1:Flt2;}

Here is the caller graph for this function:

static double TFlt::GetMx ( const double &  Flt1,
const double &  Flt2,
const double  Flt3 
)
inlinestatic

Definition at line 1353 of file dt.h.

References GetMx().

1353  {
1354  return GetMx(GetMx(Flt1, Flt2), Flt3); }
static double GetMx(const double &Flt1, const double &Flt2)
Definition: dt.h:1351

Here is the call graph for this function:

static double TFlt::GetMx ( const double &  Flt1,
const double &  Flt2,
const double  Flt3,
const double &  Flt4 
)
inlinestatic

Definition at line 1355 of file dt.h.

References GetMx().

1355  {
1356  return GetMx(GetMx(Flt1, Flt2), GetMx(Flt3, Flt4)); }
static double GetMx(const double &Flt1, const double &Flt2)
Definition: dt.h:1351

Here is the call graph for this function:

static TStr TFlt::GetPrcStr ( const double &  RelVal,
const double &  FullVal 
)
inlinestatic

Definition at line 1376 of file dt.h.

References GetStr().

1376  {
1377  return GetStr(100*RelVal/FullVal, "%3.0f%%");}
TStr GetStr() const
Definition: dt.h:1369

Here is the call graph for this function:

int TFlt::GetPrimHashCd ( ) const
inline

Definition at line 1332 of file dt.h.

References TInt::Mx, and Val.

1332  {
1333  int Expn; return int((frexp(Val, &Expn)-0.5)*double(TInt::Mx));}
static const int Mx
Definition: dt.h:1049
double Val
Definition: dt.h:1295
static double TFlt::GetRnd ( )
inlinestatic

Definition at line 1340 of file dt.h.

References TRnd::GetUniDev(), and Rnd.

1340 {return Rnd.GetUniDev();}
double GetUniDev()
Definition: dt.h:30
static TRnd Rnd
Definition: dt.h:1303

Here is the call graph for this function:

int TFlt::GetSecHashCd ( ) const
inline

Definition at line 1334 of file dt.h.

References Val.

1334  {
1335  int Expn; frexp(Val, &Expn); return Expn;}
double Val
Definition: dt.h:1295
TStr TFlt::GetStr ( const double &  Val,
const int &  Width = -1,
const int &  Prec = -1 
)
static

Definition at line 2236 of file dt.cpp.

2236  {
2237  char Bf[255];
2238  if ((Width==-1)&&(Prec==-1)){sprintf(Bf, "%g", Val);}
2239  else {sprintf(Bf, "%*.*f", Width, Prec, Val);}
2240  return TStr(Bf);
2241 }
double Val
Definition: dt.h:1295
Definition: dt.h:412
static TStr TFlt::GetStr ( const TFlt Flt,
const int &  Width = -1,
const int &  Prec = -1 
)
inlinestatic

Definition at line 1371 of file dt.h.

References GetStr(), and Val.

1371  {
1372  return GetStr(Flt.Val, Width, Prec);}
double Val
Definition: dt.h:1295
TStr GetStr() const
Definition: dt.h:1369

Here is the call graph for this function:

TStr TFlt::GetStr ( const double &  Val,
const char *  FmtStr 
)
static

Definition at line 2243 of file dt.cpp.

References GetStr().

2243  {
2244  if (FmtStr==NULL){
2245  return GetStr(Val);
2246  } else {
2247  char Bf[255];
2248  sprintf(Bf, FmtStr, Val);
2249  return TStr(Bf);
2250  }
2251 }
double Val
Definition: dt.h:1295
Definition: dt.h:412
TStr GetStr() const
Definition: dt.h:1369

Here is the call graph for this function:

static TStr TFlt::GetStr ( const double &  Val,
const TStr FmtStr 
)
inlinestatic

Definition at line 1374 of file dt.h.

References TStr::CStr(), and GetStr().

1374  {
1375  return GetStr(Val, FmtStr.CStr());}
double Val
Definition: dt.h:1295
TStr GetStr() const
Definition: dt.h:1369
char * CStr()
Definition: dt.h:476

Here is the call graph for this function:

static bool TFlt::IsNan ( const double &  Val)
inlinestatic

Definition at line 1363 of file dt.h.

1363  {
1364  return (Val!=Val);}
double Val
Definition: dt.h:1295
bool TFlt::IsNan ( ) const
inline

Definition at line 1367 of file dt.h.

References IsNan(), and Val.

Referenced by IsNan().

1367 { return IsNan(Val); }
double Val
Definition: dt.h:1295
bool IsNan() const
Definition: dt.h:1367

Here is the call graph for this function:

Here is the caller graph for this function:

static bool TFlt::IsNum ( const double &  Val)
inlinestatic

Definition at line 1361 of file dt.h.

References Mn, and Mx.

1361  {
1362  return (Mn<=Val)&&(Val<=Mx);}
double Val
Definition: dt.h:1295
static const double Mx
Definition: dt.h:1298
static const double Mn
Definition: dt.h:1297
bool TFlt::IsNum ( ) const
inline

Definition at line 1366 of file dt.h.

References IsNum(), and Val.

Referenced by IsNum().

1366 { return IsNum(Val); }
double Val
Definition: dt.h:1295
bool IsNum() const
Definition: dt.h:1366

Here is the call graph for this function:

Here is the caller graph for this function:

void TFlt::Load ( TSIn SIn)
inline

Definition at line 1312 of file dt.h.

References TSIn::Load(), and Val.

Referenced by TAGMFit::Load(), TAGMFast::Load(), TCoda::Load(), TCesna::Load(), TSigmoid::Load(), and TSigmoid::TSigmoid().

1312 {SIn.Load(Val);}
double Val
Definition: dt.h:1295
void Load(bool &Bool)
Definition: fl.h:84

Here is the call graph for this function:

Here is the caller graph for this function:

void TFlt::LoadXml ( const PXmlTok XmlTok,
const TStr Nm 
)

Definition at line 2227 of file dt.cpp.

References TXmlObjSer::GetFltArg(), Val, and XLoadHd.

2227  {
2228  XLoadHd(Nm);
2229  Val=TXmlObjSer::GetFltArg(XmlTok, "Val");
2230 }
#define XLoadHd(Nm)
Definition: bd.h:312
double Val
Definition: dt.h:1295
static double GetFltArg(const PXmlTok &XmlTok, const TStr &Nm)
Definition: xml.cpp:104

Here is the call graph for this function:

TFlt::operator double ( ) const
inline

Definition at line 1307 of file dt.h.

References Val.

1307 {return Val;}
double Val
Definition: dt.h:1295
bool TFlt::operator!= ( const double &  Flt) const
inline

Definition at line 1322 of file dt.h.

References Val.

1322 {return Val!=Flt;}
double Val
Definition: dt.h:1295
double TFlt::operator() ( ) const
inline

Definition at line 1323 of file dt.h.

References Val.

1323 {return Val;}
double Val
Definition: dt.h:1295
TFlt& TFlt::operator*= ( const double &  Flt)
inline

Definition at line 1326 of file dt.h.

References Val.

1326 {Val*=Flt; return *this;}
double Val
Definition: dt.h:1295
TFlt TFlt::operator++ ( int  )
inline

Definition at line 1328 of file dt.h.

References Val.

1328 {Val++; return *this;}
double Val
Definition: dt.h:1295
TFlt& TFlt::operator+= ( const double &  Flt)
inline

Definition at line 1324 of file dt.h.

References Val.

1324 {Val+=Flt; return *this;}
double Val
Definition: dt.h:1295
TFlt TFlt::operator-- ( int  )
inline

Definition at line 1329 of file dt.h.

References Val.

1329 {Val--; return *this;}
double Val
Definition: dt.h:1295
TFlt& TFlt::operator-= ( const double &  Flt)
inline

Definition at line 1325 of file dt.h.

References Val.

1325 {Val-=Flt; return *this;}
double Val
Definition: dt.h:1295
TFlt& TFlt::operator/= ( const double &  Flt)
inline

Definition at line 1327 of file dt.h.

References Val.

1327 {Val/=Flt; return *this;}
double Val
Definition: dt.h:1295
TFlt& TFlt::operator= ( const TFlt Flt)
inline

Definition at line 1318 of file dt.h.

References Val.

1318 {Val=Flt.Val; return *this;}
double Val
Definition: dt.h:1295
TFlt& TFlt::operator= ( const double &  Flt)
inline

Definition at line 1319 of file dt.h.

References Val.

1319 {Val=Flt; return *this;}
double Val
Definition: dt.h:1295
bool TFlt::operator== ( const TFlt Flt) const
inline

Definition at line 1320 of file dt.h.

References Val.

1320 {return Val==Flt.Val;}
double Val
Definition: dt.h:1295
bool TFlt::operator== ( const double &  Flt) const
inline

Definition at line 1321 of file dt.h.

References Val.

1321 {return Val==Flt;}
double Val
Definition: dt.h:1295
static int TFlt::Round ( const double &  Flt)
inlinestatic

Definition at line 1339 of file dt.h.

Referenced by TTmStopWatch::GetMSecInt(), TExeTm::GetSecInt(), and TTmStopWatch::GetSecInt().

1339 {return int(floor(Flt+0.5));}

Here is the caller graph for this function:

void TFlt::Save ( TSOut SOut) const
inline

Definition at line 1309 of file dt.h.

References TSOut::Save(), and Val.

Referenced by TJsonVal::Save(), TCascade::Save(), TAGMFit::Save(), TAGMFast::Save(), THitInfo::Save(), TCoda::Save(), TLocClustStat::Save(), TCesna::Save(), TSigmoid::Save(), TAscFlt::Save(), and TFltRect::Save().

1309 {SOut.Save(Val);}
double Val
Definition: dt.h:1295
void Save(const bool &Bool)
Definition: fl.h:173

Here is the call graph for this function:

Here is the caller graph for this function:

void TFlt::Save ( TSOut SOut,
const bool &  IsTxt 
) const
inline

Definition at line 1313 of file dt.h.

References GetStr(), TSOut::Save(), TStr::Save(), and Val.

1313  {
1314  if (IsTxt){GetStr(Val).Save(SOut, true);} else {SOut.Save(Val);}}
double Val
Definition: dt.h:1295
void Save(TSOut &SOut, const bool &IsSmall=false) const
Definition: dt.h:440
void Save(const bool &Bool)
Definition: fl.h:173
TStr GetStr() const
Definition: dt.h:1369

Here is the call graph for this function:

void TFlt::SaveXml ( TSOut SOut,
const TStr Nm 
) const

Definition at line 2232 of file dt.cpp.

References GetStr(), Val, and XSaveBETagArg.

2232  {
2233  XSaveBETagArg(Nm, "Val", TFlt::GetStr(Val));
2234 }
#define XSaveBETagArg(Nm, ArgNm, ArgVal)
Definition: bd.h:327
double Val
Definition: dt.h:1295
TStr GetStr() const
Definition: dt.h:1369

Here is the call graph for this function:

static int TFlt::Sign ( const double &  Flt)
inlinestatic

Definition at line 1338 of file dt.h.

1338 {return Flt<0?-1:(Flt>0?1:0);}

Member Data Documentation

const double TFlt::Eps =1e-16
static

Definition at line 1301 of file dt.h.

Referenced by FltIsZero().

const double TFlt::EpsHalf =1e-7
static

Definition at line 1302 of file dt.h.

const double TFlt::NInf =-DBL_MAX
static

Definition at line 1299 of file dt.h.

const double TFlt::PInf =+DBL_MAX
static

Definition at line 1300 of file dt.h.

TRnd TFlt::Rnd
static

Definition at line 1303 of file dt.h.

Referenced by TNIBs::BSG(), TNetInfBs::GenCascade(), TNIBs::GenCascade(), GetRnd(), and TNIBs::SG().


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