LILIB (20151213) | 2015-12-13 20:00 |
精度保証付き多倍長区間クラスです。 int, LongFloat, LongMatrix, LongInterval, LongIntervalMatrix と、相互に四則演算・比較演算・代入演算が行えます。 ただし、数学的に不可能な計算(スカラーに行列を代入するなど)は行えません。
LongInterval() | 値は不定。 |
LongInterval(int x) LongInterval(double x) LongInterval(const LongFloat &x) LongInterval(const LongInterval &x) | x で初期化する。 |
LongInterval(std::string s) | 文字列 s で表される値を含む区間で初期化する。 例 : "123.456e-789" |
LongInterval(int mid, int rad) LongInterval(int mid, const LongFloat &rad) LongInterval(const LongFloat &mid, int rad) LongInterval(const LongFloat &mid, const LongFloat &rad) | 中心値を mid 、半径を rad で初期化する。 |
void setDouble(double x) | 中心値を x 、半径を 0 にする。 |
void setString(std::string s) | 文字列 s で表される値を含む区間にする。 例 : "123.456e-789" |
void setMidRad(int mid, int rad) void setMidRad(int mid, const LongFloat &rad) void setMidRad(const LongFloat &mid, int rad) void setMidRad(const LongFloat &mid, const LongFloat &rad) | 中心値を mid 、半径を rad にする。 |
double getDouble() | 中心値の double での近似値を取得する。 |
std::string getMidRad() | 中心値と半径を表す文字列を取得する。 |
std::string getInfSup() | 下端と上端を表す文字列を取得する。 |
std::string getInternalData() | 内部データを表す文字列を取得する。主にデバッグ用の関数である。 |
LongFloat mid() | 中心値を取得する。 |
LongFloat rad() | 半径を取得する。 |
LongFloat diam() | 直径を取得する。 |
LongFloat inf() | 下端を取得する。 |
LongFloat sup() | 上端を取得する。 |
LongFloat mig() | 最小絶対値を取得する。 |
LongFloat mag() | 最大絶対値を取得する。 |
int contains(int x) int contains(const LongFloat &x) int contains(const LongInterval &x) | 区間が x を含むか判定する。 含むなら 1 、含まないなら 0 、不明なら -1 を返す。 区間の境界に重なっている場合、含まないとする。 |
int containsEqual(int x) int containsEqual(const LongFloat &x) int containsEqual(const LongInterval &x) | 区間が x を含むか判定する。 含むなら 1 、含まないなら 0 、不明なら -1 を返す。 区間の境界に重なっている場合、含むとする。 |
LongInterval pow(const LongInterval &x, int n) | x の n 乗を取得する。 |
LongInterval sqrt(const LongInterval &x) | x の平方根を取得する。 |