TNB Library
公開型 | 公開メンバ関数 | 全メンバ一覧
CRealNumber クラス

実数管理クラス [詳解]

#include <TnbRealNumber.h>

公開型

enum  EStatus {
  ES_Valid , ES_Empty , ES_Invalid , ES_ZeroDivied ,
  ES_OverFlow
}
 状態 [詳解]
 

公開メンバ関数

 CRealNumber (const CRealNumber &other)
 コピーコンストラクタ [詳解]
 
 CRealNumber (const CStr &str)
 代入コンストラクタ. [詳解]
 
 CRealNumber (double value)
 代入コンストラクタ [詳解]
 
 CRealNumber (int value)
 代入コンストラクタ [詳解]
 
 CRealNumber (void)
 コンストラクタ [詳解]
 
void Empty (void)
 [設定] Empty. [詳解]
 
WORD GetParam (void) const
 [取得] パラメータ取得 [詳解]
 
EStatus GetStatus (void) const
 [確認] 状態確認 [詳解]
 
bool IsAlmostEqual (const CRealNumber &r, double doDepth=0.01) const
 [確認] あいまい比較. [詳解]
 
bool IsEmpty (void) const
 [確認] EMPTY確認 [詳解]
 
bool IsEqual (const CRealNumber &r) const
 [確認] 比較 [詳解]
 
bool IsValid (void) const
 [確認] 有効確認 [詳解]
 
 operator double () const
 [取得] double型取得. [詳解]
 
CRealNumberoperator= (const CRealNumber &other)
 [代入] コピーオペレータ [詳解]
 
CRealNumberoperator= (const CStr &str)
 [代入] 代入 [詳解]
 
CRealNumberoperator= (double value)
 [代入] 代入 [詳解]
 
CRealNumberoperator= (int value)
 [代入] 代入 [詳解]
 
WORD & RefParam (void)
 [取得] パラメータ参照 [詳解]
 
void SetParam (WORD wParam)
 [設定] パラメータ設定 [詳解]
 
void SetStatus (EStatus status)
 [設定] 状態設定 [詳解]
 
double ToDouble (void) const
 [取得] double型取得. [詳解]
 
int ToInt (void) const
 [取得] int型取得. [詳解]
 
CStr ToString (LPCTSTR lpszFormat=NULL) const
 [取得] 文字列作成 [詳解]
 

詳解

実数管理クラス

double と状態とパラメータを持ちます。状態は値なし、無効値、エラー状態を保持します。
パラメータは16個のフラグです。

実数管理クラス同士を計算すると、状態とパラメータも計算されます。たとえば、
無効な値と他の状態の値を計算すると、結果は無効な値になります。
パラメータは、 or され、結果とします。
覚え書き
パラメータは本クラスでは or 計算する以外、使用していません。 使用するプロジェクトで任意です。
対応関数
    CRealNumber acos(CRealNumber _X);
    CRealNumber asin(CRealNumber _X);
    CRealNumber atan(CRealNumber _X);
    CRealNumber atan2(CRealNumber _Y, CRealNumber _X);
    CRealNumber cos(CRealNumber _X);
    CRealNumber cosh(CRealNumber _X);
    CRealNumber exp(CRealNumber _X);
    CRealNumber fabs(CRealNumber _X);
    CRealNumber fmod(CRealNumber _X, CRealNumber _Y);
    CRealNumber log(CRealNumber _X);
    CRealNumber log10(CRealNumber _X);
    CRealNumber pow(CRealNumber _X, CRealNumber _Y);
    CRealNumber sin(CRealNumber _X);
    CRealNumber sinh(CRealNumber _X);
    CRealNumber tan(CRealNumber _X);
    CRealNumber tanh(CRealNumber _X);
    CRealNumber sqrt(CRealNumber _X);
    CRealNumber ceil(CRealNumber _X);
    CRealNumber floor(CRealNumber _X);
    CRealNumber frexp(CRealNumber _X, __out int * _Y);
    CRealNumber _hypot(CRealNumber _X, CRealNumber _Y);
    CRealNumber _j0(CRealNumber _X );
    CRealNumber _j1(CRealNumber _X );
    CRealNumber _jn(int _X, CRealNumber _Y);
    CRealNumber ldexp(CRealNumber _X, int _Y);
    CRealNumber modf(CRealNumber _X, __out CRealNumber * _Y);
    CRealNumber _y0(CRealNumber _X);
    CRealNumber _y1(CRealNumber _X);
    CRealNumber _yn(int _X, CRealNumber _Y);
    
必要ファイル
TnbRealNumber.h
日付
06/11/18 新規作成

TnbRealNumber.h77 行目に定義があります。

列挙型メンバ詳解

◆ EStatus

enum EStatus

状態

列挙値
ES_Valid 

有効状態

ES_Empty 

Empty状態

ES_Invalid 

無効状態

ES_ZeroDivied 

Zero Divied状態

ES_OverFlow 

Overflow状態

TnbRealNumber.h82 行目に定義があります。

構築子と解体子

◆ CRealNumber() [1/5]

CRealNumber ( void  )

コンストラクタ

覚え書き
空状態になります。

TnbRealNumber.h180 行目に定義があります。

◆ CRealNumber() [2/5]

CRealNumber ( const CRealNumber other)

コピーコンストラクタ

引数
otherコピー元。

TnbRealNumber.h188 行目に定義があります。

◆ CRealNumber() [3/5]

CRealNumber ( double  value)

代入コンストラクタ

覚え書き
指定の値を保持します。
引数
value値。

TnbRealNumber.h198 行目に定義があります。

◆ CRealNumber() [4/5]

CRealNumber ( int  value)

代入コンストラクタ

覚え書き
指定の値を保持します。
引数
value値。

TnbRealNumber.h208 行目に定義があります。

◆ CRealNumber() [5/5]

CRealNumber ( const CStr str)

代入コンストラクタ.

覚え書き
文字列を数値に変換した値を保持します。Empty文字列なら、空状態になります。
引数
str文字列。

TnbRealNumber.h217 行目に定義があります。

関数詳解

◆ Empty()

void Empty ( void  )

[設定] Empty.

EMPTY 状態にします。

TnbRealNumber.h594 行目に定義があります。

◆ GetParam()

WORD GetParam ( void  ) const

[取得] パラメータ取得

戻り値
パラメータ

TnbRealNumber.h645 行目に定義があります。

◆ GetStatus()

EStatus GetStatus ( void  ) const

[確認] 状態確認

戻り値
状態

TnbRealNumber.h625 行目に定義があります。

◆ IsAlmostEqual()

bool IsAlmostEqual ( const CRealNumber r,
double  doDepth = 0.01 
) const

[確認] あいまい比較.

値がほぼ同じか、調べます。

覚え書き
実際の値を曖昧度で割り、小数点に以下を削除し比較しています。
引数
r比較対象値。
doDepth曖昧度。 省略すると 0.01 が指定されます。つまり、小数点第2までで比較。
戻り値
true同じ。
true異なる。

TnbRealNumber.h690 行目に定義があります。

◆ IsEmpty()

bool IsEmpty ( void  ) const

[確認] EMPTY確認

戻り値
trueEMPTY
falseEMPTY以外

TnbRealNumber.h616 行目に定義があります。

◆ IsEqual()

bool IsEqual ( const CRealNumber r) const

[確認] 比較

覚え書き
値が同じか、調べます。他、 == , != , <= などの比較式も使用可能です。
引数
r比較対象値。
戻り値
true同じ。
true異なる。

TnbRealNumber.h676 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const

[確認] 有効確認

戻り値
true値有効
false有効以外

TnbRealNumber.h606 行目に定義があります。

◆ operator double()

operator double ( ) const

[取得] double型取得.

doubleの形式に抽出します。

戻り値

TnbRealNumber.h575 行目に定義があります。

◆ operator=() [1/4]

CRealNumber & operator= ( const CRealNumber other)

[代入] コピーオペレータ

引数
otherコピー元。
戻り値
自分の参照。

TnbRealNumber.h232 行目に定義があります。

◆ operator=() [2/4]

CRealNumber & operator= ( const CStr str)

[代入] 代入

覚え書き
文字列を数値に変換した値を保持します。Empty文字列なら、空状態になります。
引数
str文字列
戻り値
自分の参照。

TnbRealNumber.h276 行目に定義があります。

◆ operator=() [3/4]

CRealNumber & operator= ( double  value)

[代入] 代入

覚え書き
指定の値を保持します。
引数
value値。
戻り値
自分の参照。

TnbRealNumber.h246 行目に定義があります。

◆ operator=() [4/4]

CRealNumber & operator= ( int  value)

[代入] 代入

覚え書き
指定の値を保持します。
引数
value値。
戻り値
自分の参照。

TnbRealNumber.h261 行目に定義があります。

◆ RefParam()

WORD & RefParam ( void  )

[取得] パラメータ参照

覚え書き
インスタンス内のパラメータの参照が得られます。変更も可能です。
戻り値
パラメータ

TnbRealNumber.h655 行目に定義があります。

◆ SetParam()

void SetParam ( WORD  wParam)

[設定] パラメータ設定

引数
wParamパラメータ

TnbRealNumber.h664 行目に定義があります。

◆ SetStatus()

void SetStatus ( EStatus  status)

[設定] 状態設定

覚え書き
値は0になります。パラメータは変化しません。
引数
status状態

TnbRealNumber.h635 行目に定義があります。

◆ ToDouble()

double ToDouble ( void  ) const

[取得] double型取得.

doubleの形式に抽出します。

戻り値

TnbRealNumber.h558 行目に定義があります。

◆ ToInt()

int ToInt ( void  ) const

[取得] int型取得.

intの形式に抽出します。

戻り値

TnbRealNumber.h585 行目に定義があります。

◆ ToString()

CStr ToString ( LPCTSTR  lpszFormat = NULL) const

[取得] 文字列作成

引数
lpszFormatsprintf()のフォーマット。 %f を必ず入れること。
戻り値
文字列。

TnbRealNumber.h703 行目に定義があります。