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
演算.
- template<class D> class void clear (VectorImp< D > &a, const typename D::element_type v=D::zero(0))
- template<class AD, class BD> void assign (VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> void assign (TVectorBase<(2), AD > &a, const TVectorBase<(2), BD > &b)
- template<class AD, class BD> void assign (TVectorBase<(3), AD > &a, const TVectorBase<(3), BD > &b)
- template<class AD, class BD> void assign (TVectorBase<(4), AD > &a, const TVectorBase<(4), BD > &b)
- template<class AD> void assign (VectorImp< AD > &a, const typename AD::element_type *b)
- template<class AD, class BD> void add (VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> void sub (VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD> void multi (VectorImp< AD > &a, const typename AD::element_type &b)
- template<class AD, class BD> void multi_each (VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD> void div (VectorImp< AD > &a, const typename AD::element_type &b)
- template<class AD, class BD> AD::element_type dot (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> bool equal (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> void element_min_impl (VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> void element_max_impl (VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD, class ED> void clip (const VectorImp< AD > &a, const VectorImp< BD > &b, const VectorImp< ED > &e)
Defines
Functions
- template<class AD, class BD> AD::ret_type operator+ (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> AD::ret_type operator- (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class BD> BD::ret_type operator * (const typename BD::element_type &a, const VectorImp< BD > &b)
- template<class AD, class BD> AD::element_type operator * (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> bool operator== (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class AD, class BD> bool operator!= (const VectorImp< AD > &a, const VectorImp< BD > &b)
- template<class BD> std::ostream & operator<< (std::ostream &os, const VectorImp< BD > &v)
- template<class BD> std::istream & operator>> (std::istream &is, VectorImp< BD > &v)
- template<class AD, class BD> AD::element_type cross (const TVectorBase<(2), AD > &a, const TVectorBase<(2), BD > &b)
- template<class AD, class BD> AD::ret_type cross (const TVectorBase<(3), AD > &a, const TVectorBase<(3), BD > &b)
Detailed Description
テンプレートによるN次元ベクトルの定義. 要素の型とサイズをテンプレートの引数にすることで, 管理情報をメモリに持たずに,一般の行列を扱う. 配列をキャストしてベクトルにすることもできる.
Definition in file TVector.h.
Define Documentation
#define DEF_VECTOR_BASIC_MEMBER |
( |
THIS |
|
) |
|
|
|
ベクトル型派生クラスに必要なメンバの定義. 派生クラスを作るたびに,このマクロを使ってメンバを作る. デフォルトコンストラクタ, 同じサイズのベクトルによる 初期化・代入などが定義される. - Parameters:
-
- 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:
-
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:
-
Definition at line 99 of file TVector.h. |
template<class AD, class BD> |
void assign |
( |
TVectorBase<(2), AD > & |
a, |
|
|
const TVectorBase<(2), BD > & |
b |
|
) |
|
|
template<class AD, class BD> |
void assign |
( |
TVectorBase<(3), AD > & |
a, |
|
|
const TVectorBase<(3), BD > & |
b |
|
) |
|
|
template<class AD, class BD> |
void assign |
( |
TVectorBase<(4), AD > & |
a, |
|
|
const TVectorBase<(4), BD > & |
b |
|
) |
|
|
template<class AD> |
void assign |
( |
VectorImp< AD > & |
a, |
|
|
const typename AD::element_type * |
b |
|
) |
|
|
|
代入(*this = b). - Parameters:
-
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:
-
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:
-
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:
-
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:
-
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:
-
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:
-
- 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:
-
- 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:
-
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:
-
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:
-
- 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:
-
- 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:
-
- 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:
-
- 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 |
|
) |
|
|
template<class BD> |
std::istream& operator>> |
( |
std::istream & |
is, |
|
|
VectorImp< BD > & |
v |
|
) |
|
|
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:
-
- 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:
-
- Returns:
- 3次元ベクトル型
Definition at line 876 of file TVector.h. |
Generated on Sun Apr 16 02:07:51 2006 for Springhead by
1.4.1