TrickLibrary
  1. http://tricklib.com/
  2. cxx/
  3. ex/
  4. urr/

URR -万能数値型-

about URR

URR は IEEE754 とは異なる実数表現で、スケーラビリティに優れた数値表現方法です。 このモジュールではその URR をクラステンプレートで実現しました。任意の整数型をベースに URR 型を定義できます。 尚、この URR 型のエンディアンはベースとなった整数型と同じエンディアンになります。

Wraith the Trickster

最初はもっといろいろ作りこもうかと考えてたんだけど、面倒臭くなってきたんでこの辺で放棄します。

使用方法

下のリンクから urr.h をダウンロードして、URRを使用したいモジュール内で urr.h をインクルードするだけです。

ダウンロード

使用例

■例1
#include "urr.h"

int urr_add(int a, int b)
{
    typedef urr<int> urr_t;
    urr_t urr_a = a;
    urr_t urr_b = b;
    urr_t urr_c = urr_a +urr_b;
    return urr_c;
}

■例2
#include "urr.h"

void print_fault_number()
{
    typedef urr<int> urr_t;
    int i = 0;
    while(i == (int)urr_t(i))
    {
    	++i;
    }
    printf("urr<int> で表現できない最小の整数値:%d\n", i);
}

リファレンス

macro

マクロ名種別説明
TRICKLIB_URR_H自動定義urr.h の重複インクルード対策の為に使用されています。
URR_DISABLED_FRIEND_FLOATユーザ定義ネイティブの浮動小数点型が使用できない環境のときはこのマクロを指定してください。
URR_DEFAULT_FRIEND_FLOATユーザ定義/自動定義デフォルトで使用される浮動小数点型を指定します。urr クラステンプレートの第三引数のデフォルト値となり、この指定に合わせて浮動小数点型との変換用 operator が定義されます。ユーザ定義による指定がない場合は double になります。

links