MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
MGInterval クラス

Interval of 1 dimension, i.e. MGInterval is a real line. [詳解]

公開メンバ関数

 MGInterval ()
 void Constructor [詳解]
 
 MGInterval (MGINTERVAL_TYPE, double=0.0)
 
 MGInterval (const MGEReal &t1, const MGEReal &t2)
 
 MGInterval (const MGInterval &, const MGEReal &)
 Construct an interval which contains both input interval and a value. [詳解]
 
 MGInterval (double t)
 Construct a interval of one point. [詳解]
 
const MGERealoperator() (int i) const
 
MGERealoperator() (int i)
 
const MGERealoperator[] (int i) const
 
MGERealoperator[] (int i)
 
MGInterval operator+ (const MGInterval &) const
 
MGInterval operator+ (double) const
 
MGIntervaloperator+= (const MGInterval &)
 
MGIntervaloperator+= (double)
 Translation of the interval. [詳解]
 
MGInterval operator- () const
 
MGInterval operator- (const MGInterval &) const
 
MGInterval operator- (double) const
 
MGIntervaloperator-= (const MGInterval &)
 
MGIntervaloperator-= (double)
 Translation of the interval. [詳解]
 
MGInterval operator* (double a) const
 
MGIntervaloperator*= (double a)
 
MGInterval operator/ (double a) const
 
MGIntervaloperator/= (double a)
 
MGInterval operator| (const MGInterval &) const
 
MGIntervaloperator|= (const MGInterval &)
 
MGInterval operator& (const MGInterval &) const
 
MGIntervaloperator&= (const MGInterval &)
 
bool operator&& (const MGInterval &) const
 Boolean 演算 [詳解]
 
bool operator>> (const MGInterval &intrval2) const
 
bool operator>> (const MGEReal &t) const
 
bool operator<< (const MGInterval &intrval2) const
 
bool operator<< (const MGEReal &t) const
 
bool operator== (const MGInterval &) const
 
bool operator!= (const MGInterval &) const
 
bool operator< (const MGInterval &) const
 Arithmatic comparison operation:算術的比較 [詳解]
 
bool operator> (const MGInterval &) const
 
bool operator<= (const MGInterval &) const
 
bool operator>= (const MGInterval &) const
 
bool operator< (const MGEReal &) const
 
bool operator> (const MGEReal &) const
 
bool operator<= (const MGEReal &) const
 
bool operator>= (const MGEReal &) const
 
bool operator< (double t) const
 
bool operator> (double t) const
 
void change_range (double t0, double t1)
 
bool empty () const
 
void expand (const MGEReal &val)
 Expand the interval so that this includes the doube val. [詳解]
 
bool finite () const
 
bool finite_above () const
 
bool finite_below () const
 
const MGERealhigh () const
 
MGERealhigh ()
 
double high_point () const
 
bool includes (double t) const
 
bool infinite () const
 
bool infinite_above () const
 Test if infinite_above. [詳解]
 
bool infinite_below () const
 Test if infinite_below. [詳解]
 
double interpolate (double t) const
 
bool is_null () const
 Test if this is empty interval. [詳解]
 
MGEReal length () const
 
const MGEReallow () const
 
MGEReallow ()
 
double low_point () const
 
double mid_point () const
 
double relative_error () const
 Compute relative_error*length();. [詳解]
 
double round_into_interval (double t) const
 
void set_length (double len)
 Set the interval length to len so that the midpoint does not change. [詳解]
 
void set_null (double t=0.)
 Set this as null(empty) interval. [詳解]
 
void set_empty (double t=0.)
 
void set_high_point (const MGEReal &)
 
void set_high (const MGEReal &t)
 
void set_low_point (const MGEReal &)
 
void set_low (const MGEReal &t)
 
MGINTERVAL_TYPE type () const
 
int dump_size () const
 
int dump (MGOfstream &) const
 Dump Function. [詳解]
 
int restore (MGIfstream &)
 Restore Function. [詳解]
 

フレンド

MG_DLL_DECLR friend bool operator> (const MGEReal &, const MGInterval &)
 
MG_DLL_DECLR friend MGInterval operator+ (double, const MGInterval &)
 
MG_DLL_DECLR friend MGInterval operator* (double a, const MGInterval &)
 
MG_DLL_DECLR friend bool operator< (const MGEReal &, const MGInterval &)
 
MG_DLL_DECLR friend bool operator>= (const MGEReal &, const MGInterval &)
 
MG_DLL_DECLR friend bool operator<= (const MGEReal &, const MGInterval &)
 
MG_DLL_DECLR friend bool operator> (double, const MGInterval &i)
 
MG_DLL_DECLR friend bool operator< (double, const MGInterval &i)
 
MG_DLL_DECLR friend std::ostream & operator<< (std::ostream &, const MGInterval &)
 String stream function. [詳解]
 

詳解

Interval of 1 dimension, i.e. MGInterval is a real line.

数直線上の区間を表す。2つの MGEReal で表現される。

構築子と解体子

MGInterval::MGInterval ( )

void Constructor

MGInterval::MGInterval ( MGINTERVAL_TYPE  ,
double  = 0.0 
)
explicit

Construct interval from interval type and a point. When the type is MGINTERVAL_FINITE, start and end is the point. MGINTERVAL_TYPE:MGINTERVAL_EMPTY, MGINTERVAL_FINITE, MGINTERVAL_FINITE_ABOVE, MGINTERVAL_FINITE_BELOW, or MGINTERVAL_INFINITE. MGINTERVAL_FINITE_ABOVE is infinite below and finite above. MGINTERVAL_FINITE_BELOW is infinite above and finite below. インターバルタイプと一点を指定してインターバルを生成。 MGINTERVAL_FINITE 指定時 指定された一点の点範囲のインターバル MGINTERVAL_FINITE_ABOVE, MGINTERVAL_FINITE_BELOW 指定時 有限の一点を指定 MGINTERVAL_INFINITE 指定時 double の値の指定は必要なし

MGInterval::MGInterval ( const MGEReal t1,
const MGEReal t2 
)

Construct interval from two MGEReal points. t1 is lower limit, and t2 is upper limit. When t1> t2, the interval is empry. 2つのMGERealの値からインターバルを生成。 ***** This is the fundamental constructor.

MGInterval::MGInterval ( const MGInterval ,
const MGEReal  
)

Construct an interval which contains both input interval and a value.

MGInterval::MGInterval ( double  t)
explicit

Construct a interval of one point.

関数詳解

void MGInterval::change_range ( double  t0,
double  t1 
)

Chnage the interval range to [t0, t1] if t0<t1, to [t1, t0] if t1<t0.

引数
t0new range, start.
t1new range, end.
int MGInterval::dump ( MGOfstream ) const

Dump Function.

int MGInterval::dump_size ( ) const

Dump Functions. Calculate dump size

bool MGInterval::empty ( ) const

Reference Test if empty:インターバルが empty かどうか判定する。 ***Interval of m_low==m_high(including error) is not empty.***

void MGInterval::expand ( const MGEReal val)

Expand the interval so that this includes the doube val.

bool MGInterval::finite ( ) const

Test if finite. インターバルが有限かどうか判定する。

bool MGInterval::finite_above ( ) const

Test if finite above(infinite below). インターバルが上方有限かどうか判定する。

bool MGInterval::finite_below ( ) const

Test if finite below(infinite above). インターバルが下方有限かどうか判定する。

const MGEReal& MGInterval::high ( ) const
inline
MGEReal& MGInterval::high ( )
inline
double MGInterval::high_point ( ) const

Return high point of the interval. When infinite_above(), mgInfiniteVal will be returned. When empty, return 0. 上限値を返却する。

bool MGInterval::includes ( double  t) const

Test if this finite interval includes the value, taking account relative error of the interval into the account. This must be an finite interval.

bool MGInterval::infinite ( ) const

Test if infinite. インターバルが無限かどうか判定する。

bool MGInterval::infinite_above ( ) const

Test if infinite_above.

bool MGInterval::infinite_below ( ) const

Test if infinite_below.

double MGInterval::interpolate ( double  t) const

Compute interpolated point of the interval. Given parameter t, the interpolated point=(1-t)*low_point()+t*high_point(). t may be t<0 or t>1. Valid only when finite(). インターバルの補間を返却する。与えられた param に対して、 (1-t)*low_point()+t*high_point() を返却する。 ( 0 > t, 1 < t の時は外分 )

bool MGInterval::is_null ( ) const
inline

Test if this is empty interval.

MGEReal MGInterval::length ( ) const

Compute the length of the interval. When empty, length()<=0.0. 上端と下端の差異を返却する。empty は非正値(ゼロまたは負の値) を返却する。

const MGEReal& MGInterval::low ( ) const
inline
MGEReal& MGInterval::low ( )
inline
double MGInterval::low_point ( ) const

Return low point of the interval. When infinite_below(), -mgInfiniteVal will be returned. When empty, return 0. インターバルが有限の時有効で下限値を返却する。空の時 0.0 を 返却する。

double MGInterval::mid_point ( ) const

Return mid point of the interval. Valid only when finite(). インターバルが有限の時有効で中点を返却する。

bool MGInterval::operator!= ( const MGInterval ) const

Test if two intervals are not equal(tolerance included) 2つのインターバルが同一かどうかを判定する。 同一でない 時 true(1) を返却

MGInterval MGInterval::operator& ( const MGInterval ) const

And operation. Generate the interval common to the both intervals. 自身のインターバルと与えられたインターバルの共通部分のインターバルを 生成する。

bool MGInterval::operator&& ( const MGInterval ) const

Boolean 演算

Test if the two intervals have common part. 自身のインターバルと与えられたインターバルが共通部分を持っているか どうかを返却する。

MGInterval& MGInterval::operator&= ( const MGInterval )

And operation. Update to the interval common to the both intervals. 自身のインターバルと与えられたインターバル共通部分を自身のインターバル とする。

const MGEReal& MGInterval::operator() ( int  i) const

Return low or high point. 0<=i<=1, and for i=0, return low point, for i=1, return high point.

MGEReal& MGInterval::operator() ( int  i)
MGInterval MGInterval::operator* ( double  a) const

Scalar multiplication to the interval. The mid_point of the interval does not change. The width of the interval is widened(narrowed) by the multiplication of the value a. スカラーの乗算を行いオブジェクトを生成する。

MGInterval& MGInterval::operator*= ( double  a)

Scalar multiplication to the interval. スカラーの乗算を行い自身のインターバルとする。 The mid_point of the interval does not change. The width of the interval is widened(narrowed) by the multiplication of the value a.

MGInterval MGInterval::operator+ ( const MGInterval ) const

Addition of two intervals. Generated interval is the minimum one that includes both intervals. The same as operator| . 自身のインターバルと与えられたインターバルの加算を行いオブジェクト を生成する。

MGInterval MGInterval::operator+ ( double  ) const

Translation of the interval. 自身のインターバルと double の加算を行いブジェクト生成する。

MGInterval& MGInterval::operator+= ( const MGInterval )

Addition of two intervals. Updated interval is the minimum one that includes both original intervals. The same as operator|=. 自身のインターバルに加算し自身のインターバルとする。

MGInterval& MGInterval::operator+= ( double  )

Translation of the interval.

MGInterval MGInterval::operator- ( ) const

Unary minus. 前置単項マイナス。オブジェクトを生成。

MGInterval MGInterval::operator- ( const MGInterval ) const

Subtraction. Subtraction is defined as: "this" minus the common of the two intervals. 自身のインターバルと与えられたインターバルの減算を行いオブジェクト を生成する。

MGInterval MGInterval::operator- ( double  ) const

Translation of the interval. 自身のインターバルと double の減算を行いブジェクト生成する。

MGInterval& MGInterval::operator-= ( const MGInterval )

Subtraction. Subtraction is defined as: "this" minus the common of the two intervals. 自身のインターバルに減算し自身のインターバルとする。

MGInterval& MGInterval::operator-= ( double  )

Translation of the interval.

MGInterval MGInterval::operator/ ( double  a) const

Scalar division to the interval. スカラーの除算を行いオブジェクトを生成する。 The mid_point of the interval does not change. The width of the interval is widened(narrowed) by the division of the value a.

MGInterval& MGInterval::operator/= ( double  a)

Scalar division to the interval. スカラーの除算を行い自身のインターバルとする。 The mid_point of the interval does not change. The width of the interval is widened(narrowed) by the division of the value a.

bool MGInterval::operator< ( const MGInterval ) const

Arithmatic comparison operation:算術的比較

bool MGInterval::operator< ( const MGEReal ) const
bool MGInterval::operator< ( double  t) const
bool MGInterval::operator<< ( const MGInterval intrval2) const

Test if this is included in intrval2. 自身のインターバルが empty の場合 true(1) を返却し、与えられたインターバル が empty の場合 false(0) を返却する。与えられたインターバルの下端が自身 のインターバルの下端より小さく、与えられたインターバルの上端が自身の インターバルの上端よりも大きい時 true(1) を返却する。 また、両方のインターバルが empty の時 false(0) を返却する。

bool MGInterval::operator<< ( const MGEReal t) const

Test if this excludes the value t. 与えられた値が自身のインターバル範囲外にあるかどうか返却する。範囲外の 時 true(1) を返却する。自身のインターバルが empty の場合も true(1) を 返却する。

bool MGInterval::operator<= ( const MGInterval ) const
bool MGInterval::operator<= ( const MGEReal ) const
bool MGInterval::operator== ( const MGInterval ) const

Test if two intervals are equal(tolerance included) 2つのインターバルが同一かどうかを判定する。 同一である時 true(1) を返却

bool MGInterval::operator> ( const MGInterval ) const
bool MGInterval::operator> ( const MGEReal ) const
bool MGInterval::operator> ( double  t) const
bool MGInterval::operator>= ( const MGInterval ) const
bool MGInterval::operator>= ( const MGEReal ) const
bool MGInterval::operator>> ( const MGInterval intrval2) const

Test if this includes intrval2. 自身のインターバルが empty の場合 false(0) を返却し、与えられたインターバル が empty の場合 true(1) を返却する。与えられたインターバルの下端が自身 のインターバルの下端より大きく、与えられたインターバルの上端が自身の インターバルの上端よりも小さい時 true(1) を返却する。 また、両方のインターバルが empty の時 true(1) を返却する。

bool MGInterval::operator>> ( const MGEReal t) const

Test if this includes the value t. 与えられた値が自身のインターバル内にあるかどうか返却する。含まれる 時 true(1) を返却する。自身のインターバルが empty の場合は false(0) を 返却する。

const MGEReal& MGInterval::operator[] ( int  i) const
MGEReal& MGInterval::operator[] ( int  i)
MGInterval MGInterval::operator| ( const MGInterval ) const

Addition of two intervals. Generated interval is the minimum one that includes both intervals. The same as operator+ . 自身のインターバルと与えられたインターバルをOR結合したインターバルを 生成する。

MGInterval& MGInterval::operator|= ( const MGInterval )

Addition of two intervals. Updated interval is the minimum one that includes both original intervals. The same as operator+=. 自身のインターバルと与えられたインターバルをOR結合して自身のインターバル とする。

double MGInterval::relative_error ( ) const

Compute relative_error*length();.

int MGInterval::restore ( MGIfstream )

Restore Function.

double MGInterval::round_into_interval ( double  t) const

Round the input value into this interval's range, that is: round_into_interval(t)=(*this)[0] if t<=(*this)[0], round_into_interval(t)=(*this)[1] if t>=(*this)[1].

void MGInterval::set_empty ( double  t = 0.)
inline
void MGInterval::set_high ( const MGEReal t)
inline
void MGInterval::set_high_point ( const MGEReal )

Update high point of the interval. When given point is less than low point, the interval becomes empty. 自身のインターバルの上限値を変更する。与えられた値が下限値より小さい 場合、自身のインターバルは empty になり、上下限値の入れ換えはない。

void MGInterval::set_length ( double  len)

Set the interval length to len so that the midpoint does not change.

void MGInterval::set_low ( const MGEReal t)
inline
void MGInterval::set_low_point ( const MGEReal )

Update low point of the interval. When given point is greater than high point, the interval becomes empty. 自身のインターバルの下限値を変更する。与えられた値が上限値より大きい 場合、自身のインターバルは empty になり、上下限値の入れ換えはない。

void MGInterval::set_null ( double  t = 0.)

Set this as null(empty) interval.

MGINTERVAL_TYPE MGInterval::type ( ) const

Return interval type. インターバルのタイプを返却する。

フレンドと関連関数の詳解

MG_DLL_DECLR friend MGInterval operator* ( double  a,
const MGInterval  
)
friend

Scalar multiplication to the interval. The mid_point of the interval does not change. The width of the interval is widened(narrowed) by the multiplication of the value a.

MG_DLL_DECLR friend MGInterval operator+ ( double  ,
const MGInterval  
)
friend
MG_DLL_DECLR friend bool operator< ( const MGEReal ,
const MGInterval  
)
friend
MG_DLL_DECLR friend bool operator< ( double  ,
const MGInterval i 
)
friend
MG_DLL_DECLR friend std::ostream& operator<< ( std::ostream &  ,
const MGInterval  
)
friend

String stream function.

MG_DLL_DECLR friend bool operator<= ( const MGEReal ,
const MGInterval  
)
friend
MG_DLL_DECLR friend bool operator> ( const MGEReal ,
const MGInterval  
)
friend
MG_DLL_DECLR friend bool operator> ( double  ,
const MGInterval i 
)
friend
MG_DLL_DECLR friend bool operator>= ( const MGEReal ,
const MGInterval  
)
friend

このクラス詳解は次のファイルから抽出されました: