Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TVector.h File Reference

#include <algorithm>
#include <iosfwd>
#include <math.h>
#include <assert.h>
#include <stddef.h>
#include <vector>

Include dependency graph for TVector.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

演算.

Defines

Functions


Detailed Description

テンプレートによるN次元ベクトルの定義. 要素の型とサイズをテンプレートの引数にすることで, 管理情報をメモリに持たずに,一般の行列を扱う. 配列をキャストしてベクトルにすることもできる.

Definition in file TVector.h.


Define Documentation

#define DEF_VECTOR_BASIC_MEMBER THIS   ) 
 

ベクトル型派生クラスに必要なメンバの定義. 派生クラスを作るたびに,このマクロを使ってメンバを作る. デフォルトコンストラクタ, 同じサイズのベクトルによる 初期化・代入などが定義される.

Parameters:
THIS 新たに宣言する派生クラスの型名.
See also:
TVector

Definition at line 475 of file TVector.h.


Function Documentation

template<class D>
class class void clear VectorImp< D > &  a,
const typename D::element_type  v = D::zero(0)
 

ベクトルの要素を全てvにする.

Parameters:
v 要素型の値.

Definition at line 93 of file TVector.h.

template<class AD, class BD>
void assign VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

代入(a = b).

Parameters:
b 同じサイズのベクトル.

Definition at line 99 of file TVector.h.

template<class AD, class BD>
void assign TVectorBase<(2), AD > &  a,
const TVectorBase<(2), BD > &  b
 

代入(a = b) 2要素専用

Definition at line 106 of file TVector.h.

template<class AD, class BD>
void assign TVectorBase<(3), AD > &  a,
const TVectorBase<(3), BD > &  b
 

代入(a = b) 3要素専用

Definition at line 113 of file TVector.h.

template<class AD, class BD>
void assign TVectorBase<(4), AD > &  a,
const TVectorBase<(4), BD > &  b
 

代入(a = b) 4要素専用

Definition at line 122 of file TVector.h.

template<class AD>
void assign VectorImp< AD > &  a,
const typename AD::element_type *  b
 

代入(*this = b).

Parameters:
b 同じサイズのベクトル.

Definition at line 132 of file TVector.h.

template<class AD, class BD>
void add VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

加算(*this += b).

Parameters:
b 同じサイズのベクトル.

Definition at line 138 of file TVector.h.

template<class AD, class BD>
void sub VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

減算(*this -= b).

Parameters:
b 同じサイズのベクトル.

Definition at line 145 of file TVector.h.

template<class AD>
void multi VectorImp< AD > &  a,
const typename AD::element_type &  b
 

定数倍(*this *= b).

Parameters:
b 要素型.

Definition at line 152 of file TVector.h.

template<class AD, class BD>
void multi_each VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

定数倍(*this *= b).

Parameters:
b 要素型.

Definition at line 158 of file TVector.h.

template<class AD>
void div VectorImp< AD > &  a,
const typename AD::element_type &  b
 

定数分の1(*this /= b).

Parameters:
b 要素型.

Definition at line 164 of file TVector.h.

template<class AD, class BD>
AD::element_type dot const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

内積(return *this * b).

Parameters:
b 同じサイズのベクトル.
Returns:
内積の値(要素型)

Definition at line 171 of file TVector.h.

template<class AD, class BD>
bool equal const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

比較(return *this == b).

Parameters:
b 同じサイズのベクトル.
Returns:
bool値.

Definition at line 187 of file TVector.h.

template<class AD, class BD>
void element_min_impl VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

要素ごとの最小値(min(*this, b)).

Parameters:
b 同じサイズのベクトル.

Definition at line 198 of file TVector.h.

template<class AD, class BD>
void element_max_impl VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

要素ごとの最大値(max(*this, b)).

Parameters:
b 同じサイズのベクトル.

Definition at line 211 of file TVector.h.

template<class AD, class BD, class ED>
void clip const VectorImp< AD > &  a,
const VectorImp< BD > &  b,
const VectorImp< ED > &  e
 

クリッピングする(bとeを頂点とする矩形内に収まるようにする).

Definition at line 223 of file TVector.h.

template<class AD, class BD>
AD::ret_type operator+ const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

ベクトルの和(return a + b).

Parameters:
a ベクトル型
b aと同じ次元数のベクトル型
Returns:
aと同じ次元数のTVector型

Definition at line 794 of file TVector.h.

template<class AD, class BD>
AD::ret_type operator- const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

ベクトルの差(return a - b).

Parameters:
a ベクトル型
b aと同じ次元数のベクトル型
Returns:
aと同じ次元数のベクトル型

Definition at line 804 of file TVector.h.

template<class BD>
BD::ret_type operator * const typename BD::element_type &  a,
const VectorImp< BD > &  b
 

スカラーとベクトルの積(return a * b).

Parameters:
a ベクトル型
b 要素型
Returns:
ベクトル型

Definition at line 814 of file TVector.h.

template<class AD, class BD>
AD::element_type operator * const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

ベクトルの内積(return a * b).

Parameters:
a ベクトル型
b aと同じ次元数のベクトル型
Returns:
要素型

Definition at line 825 of file TVector.h.

template<class AD, class BD>
bool operator== const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

比較(return a == b).

Parameters:
a ベクトル型
b 要素型aと同じ次元数のベクトル型
Returns:
bool

Definition at line 834 of file TVector.h.

template<class AD, class BD>
bool operator!= const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

比較(return a != b).

Parameters:
a ベクトル型
b 要素型aと同じ次元数のベクトル型
Returns:
bool

Definition at line 840 of file TVector.h.

template<class BD>
std::ostream& operator<< std::ostream &  os,
const VectorImp< BD > &  v
 

ストリームに書式付で出力する.

Definition at line 844 of file TVector.h.

template<class BD>
std::istream& operator>> std::istream &  is,
VectorImp< BD > &  v
 

ストリームから書式付で入力する.

Definition at line 850 of file TVector.h.

template<class AD, class BD>
AD::element_type cross const TVectorBase<(2), AD > &  a,
const TVectorBase<(2), BD > &  b
 

2次元ベクトルの外積(return a x b).

Parameters:
a 2次元ベクトル型
b 2次元ベクトル型
Returns:
要素型

Definition at line 859 of file TVector.h.

template<class AD, class BD>
AD::ret_type cross const TVectorBase<(3), AD > &  a,
const TVectorBase<(3), BD > &  b
 

3次元ベクトルの外積(return a x b).

Parameters:
a 3次元ベクトル型
b 3次元ベクトル型
Returns:
3次元ベクトル型

Definition at line 876 of file TVector.h.


Generated on Sun Apr 16 02:07:51 2006 for Springhead by  doxygen 1.4.1