WIL説明書(C++)
3.0.0
|
ベクトルクラス [詳解]
ベクトルクラス
namespace FVCL::Data
ベクトル情報を保有するクラスです。
公開型 | |
enum | { DataID = 201 } |
公開メンバ関数 | |
CFvVector () | |
コンストラクタ [詳解] | |
CFvVector (INT dim) | |
コンストラクタ [詳解] | |
CFvVector (INT dim, DOUBLE *vector) | |
コンストラクタ [詳解] | |
CFvVector (FVECTOR *vector, bool attach) | |
コンストラクタ [詳解] | |
CFvVector (const CFvVector &src) | |
コピーコンストラクタ [詳解] | |
virtual | ~CFvVector () |
デストラクタ [詳解] | |
virtual INT | GetDataID () const |
データIDの取得 [詳解] | |
virtual bool | GetPointer (INT id, void **val) const |
インスタンスのthisポインタの取得 [詳解] | |
virtual bool | Resize (INT dim) |
領域の確保 [詳解] | |
virtual void | Free () |
ベクトルの解放 [詳解] | |
virtual bool | Attach (INT dim, DOUBLE *vector) |
アタッチ [詳解] | |
virtual bool | Attach (FVECTOR *vector) |
アタッチ [詳解] | |
virtual void | IsAttach (bool value) |
アタッチ属性の設定 [詳解] | |
virtual bool | IsAttach () const |
アタッチ属性の取得 [詳解] | |
virtual bool | SetHandle (FVECTOR *vector) |
ハンドルの設定 [詳解] | |
virtual FVECTOR * | GetHandle () const |
ベクトル構造体のアドレスの取得 [詳解] | |
virtual FVECTOR * | GetFVECTOR () const |
ベクトル構造体のアドレスの取得 [詳解] | |
INT | GetDim () const |
次元数の取得 [詳解] | |
DOUBLE * | GetAddress () const |
ベクトル要素の先頭アドレス取得 [詳解] | |
virtual DOUBLE & | operator[] (INT index) |
ベクトル要素への参照 [詳解] | |
virtual const DOUBLE & | operator[] (INT index) const |
ベクトル要素への参照 [詳解] | |
virtual CFvVector & | operator= (const CFvVector &src) |
代入オペレータ [詳解] | |
virtual bool | operator== (const CFvVector &src) const |
比較オペレータ(等価演算子) [詳解] | |
virtual bool | operator!= (const CFvVector &src) const |
比較オペレータ(非等価演算子) [詳解] | |
virtual CFvVector | operator+ (const CFvVector &src) const |
加算オペレータ(ベクトル) [詳解] | |
virtual CFvVector | operator+ (DOUBLE scalar) const |
加算オペレータ(スカラー) [詳解] | |
virtual CFvVector & | operator+= (const CFvVector &src) |
加算代入オペレータ(ベクトル) [詳解] | |
virtual CFvVector & | operator+= (DOUBLE scalar) |
加算代入オペレータ(スカラー) [詳解] | |
virtual CFvVector | operator- (const CFvVector &src) const |
減算オペレータ(ベクトル) [詳解] | |
virtual CFvVector | operator- (DOUBLE scalar) const |
減算オペレータ(スカラー) [詳解] | |
virtual CFvVector & | operator-= (const CFvVector &src) |
減算代入オペレータ(ベクトル) [詳解] | |
virtual CFvVector & | operator-= (DOUBLE scalar) |
減算代入オペレータ(スカラー) [詳解] | |
virtual CFvVector | operator* (DOUBLE scalar) const |
乗算オペレータ(スカラー) [詳解] | |
virtual CFvVector & | operator*= (DOUBLE scalar) |
乗算代入オペレータ(スカラー) [詳解] | |
void | zeros () |
要素が全て0のベクトルの作成 [詳解] | |
CFvVector | cross (const CFvVector &vector) const |
ベクトル外積計算 [詳解] | |
DOUBLE | inner (const CFvVector &vector) const |
ベクトル内積計算 [詳解] | |
CFvVector | normalize () const |
単位ベクトルの計算 [詳解] | |
DOUBLE | norm_l1 () const |
L1ノルムの算出 [詳解] | |
DOUBLE | norm_l2 () const |
L2ノルムの算出 [詳解] | |
DOUBLE | norm_l3 () const |
L3ノルムの算出 [詳解] | |
CFvVector | mul_elem (const CFvVector &src) const |
成分ごとの乗算 (ベクトル*ベクトル) [詳解] | |
CFvVector | div_elem (const CFvVector &src) const |
成分ごとの除算 (ベクトル/ベクトル) [詳解] | |
bool | is_normal () const |
非数値判定 [詳解] | |
![]() | |
CFvDataObject () | |
標準のコンストラクタ [詳解] | |
virtual | ~CFvDataObject () |
デストラクタ [詳解] | |
virtual bool | Load (LPCTSTR szFileName) |
データファイルの読み込み [詳解] | |
virtual bool | Save (LPCTSTR szFileName) |
データファイル保存 [詳解] | |
![]() | |
CFvObject () | |
標準のコンストラクタ [詳解] | |
virtual | ~CFvObject () |
デストラクタ [詳解] | |
INT | SetErrorCode (INT err) |
エラーコードの設定 [詳解] | |
INT | SetErrorCode (INT err) const |
エラーコードの設定 [詳解] | |
INT | GetErrorCode () const |
エラーコードの取得 [詳解] | |
bool | SetAllocateOption (INT value) |
画像領域確保時のオプションの設定 [詳解] | |
INT | GetAllocateOption () const |
画像領域確保時のオプションの取得 [詳解] | |
void * | operator new (size_t uiSize) |
new オペレータ [詳解] | |
void * | operator new[] (size_t uiSize) |
new[] オペレータ [詳解] | |
void | operator delete (void *pvObject) |
delete オペレータ [詳解] | |
void | operator delete[] (void *pvObject) |
delete[] オペレータ [詳解] | |
void * | operator new (size_t uiSize, LPCSTR szFileName, INT iLine) |
new オペレータ [詳解] | |
void * | operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine) |
new[] オペレータ [詳解] | |
void | operator delete (void *pvObject, LPCSTR szFileName, INT iLine) |
delete オペレータ [詳解] | |
void | operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine) |
delete[] オペレータ [詳解] | |
virtual CFvObject & | operator= (const CFvObject &src) |
代入オペレータ [詳解] | |
virtual bool | operator== (const CFvObject &src) const |
比較オペレータ (==) [詳解] | |
virtual bool | operator!= (const CFvObject &src) const |
比較オペレータ (!=) [詳解] | |
フレンド | |
FVCL_API friend CFvVector | operator/ (const CFvVector &vector, DOUBLE scalar) |
除算オペレータ(ベクトル/スカラー) [詳解] | |
FVCL_API friend CFvVector | operator/ (DOUBLE scalar, const CFvVector &vector) |
除算オペレータ(スカラー/ベクトル) [詳解] | |
その他の継承メンバ | |
![]() | |
static bool | SetDefaultAllocateOption (INT value) |
既定の画像領域確保時のオプションの設定 [詳解] | |
static INT | GetDefaultAllocateOption () |
既定の画像領域確保時のオプションの取得 [詳解] | |
![]() | |
INT | fnCPUCheck () |
CPU情報の取得 [詳解] | |
![]() | |
INT | m_ErrorCode |
エラーコード [詳解] | |
INT | m_AllocateOption |
画像領域確保時のオプション [詳解] | |
FVCL::Data::CFvVector::CFvVector | ( | ) |
コンストラクタ
標準のコンストラクタです。
次元 3 のベクトルを確保します。各成分は 0 初期化されています。
FVCL::Data::CFvVector::CFvVector | ( | INT | dim | ) |
コンストラクタ
引数に指定されたサイズでベクトルを生成してオブジェクトを構築します。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
確保されたベクトルの内容は、0 で初期化されます。
確保されたメモリはデストラクタで自動的に解放されます。
[in] | dim | ベクトルの次元(要素数) |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
コンストラクタ
引数に指定されたアドレスにアタッチしてオブジェクトを構築します。
ベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは解放されません。
[in] | dim | ベクトルの次元(要素数) |
[in] | vector | ベクトルの配列のアドレス |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
FVCL::Data::CFvVector::CFvVector | ( | FVECTOR * | vector, |
bool | attach | ||
) |
コンストラクタ
初期値を指定してオブジェクトを構築します。
[in] | vector | ベクトル構造体 |
[in] | attach | アタッチ指定
|
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
FVCL::Data::CFvVector::CFvVector | ( | const CFvVector & | src | ) |
コピーコンストラクタ
引数のベクトルと同じサイズのベクトルを生成し、データをコピーします。 確保されたメモリはデストラクタで自動的に解放されます。
[in] | src | 複製元 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
|
virtual |
デストラクタ
メモリの解放を行います。
|
virtual |
|
virtual |
インスタンスのthisポインタの取得
指定されたデータIDと自身のIDが一致する場合に thisポインタを返します。
[in] | id | データID |
[out] | val | thisポインタを格納する変数へのポインタ |
true | 正常 |
false | 異常 |
FVCL::CFvDataObjectを実装しています。
|
virtual |
領域の確保
引数に指定されたサイズでベクトルを生成してオブジェクトを構築します。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
確保されたベクトルは、0 で初期化されます。
[in] | dim | ベクトルの次元(要素数) |
true | 正常 |
false | 異常 GetErrorCodeメソッドによりエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
|
virtual |
ベクトルの解放
アタッチ
引数に指定されたアドレスにアタッチします。
ベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは解放されません。
[in] | dim | ベクトルの次元(要素数) |
[in] | vector | ベクトルの配列のアドレス |
true | 正常 |
false | 異常 GetErrorCodeメソッドによりエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
|
virtual |
アタッチ
引数に指定されたアドレスにアタッチします。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは解放されません。
[in] | vector | ベクトル構造体 通常は fnFIE_mat_valloc で確保したベクトルを指定してください。 |
true | 正常 |
false | 異常 GetErrorCodeメソッドによりエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
|
virtual |
アタッチ属性の設定
アタッチ属性を設定します。
[in] | value | アタッチ属性
|
|
virtual |
アタッチ属性の取得
現在のアタッチ属性を取得します。
true | アタッチしています。アタッチ対象の領域はユーザー側で管理する必要があります。 |
false | アタッチしていません。このクラスの内部に管理している領域はクラスが破棄される際に解放されます。 |
|
virtual |
ハンドルの設定
引数に指定されたアドレスを設定します。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは、このクラスが破棄される際に解放されます。
[in] | vector | ベクトル構造体 通常は fnFIE_mat_valloc で確保したベクトルを指定してください。 |
|
virtual |
|
virtual |
ベクトル構造体のアドレスの取得
ヒープ領域に確保されたベクトル構造体のアドレスを取得します。
GetHandle と同様の値を返します。
FVCL::Data::CFvVector::GetDim | ( | ) | const |
FVCL::Data::CFvVector::GetAddress | ( | ) | const |
|
virtual |
|
virtual |
ベクトル要素への参照
指定位置のベクトル要素への参照を取得します。
|
virtual |
代入オペレータ
同一クラスのオブジェクトの内容を複製して、自身に代入します。
[in] | src | コピー元 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
|
virtual |
|
virtual |
|
virtual |
加算オペレータ(ベクトル)
自身と右辺値(ベクトル)を加算した結果を返します。自身の内容は更新されません。
次元数が一致している必要があります。
[in] | src | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
加算オペレータ(スカラー)
自身と右辺値(スカラー)を加算した結果を返します。自身の内容は更新されません。
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
加算代入オペレータ(ベクトル)
自身に右辺値(ベクトル)を加算した結果を返します。自身の内容を更新します。
次元数が一致している必要があります。
[in] | src | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
加算代入オペレータ(スカラー)
自身と右辺値(スカラー)を加算した結果を返します。自身の内容を更新します。
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
減算オペレータ(ベクトル)
自身と右辺値(ベクトル)を減算した結果を返します。自身の内容は更新されません。
次元数が一致している必要があります。
[in] | src | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
減算オペレータ(スカラー)
自身と右辺値(スカラー)を減算した結果を返します。自身の内容は更新されません。
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
減算代入オペレータ(ベクトル)
自身に右辺値(ベクトル)を減算した結果を返します。自身の内容を更新します。
次元数が一致している必要があります。
[in] | src | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
減算代入オペレータ(スカラー)
自身と右辺値(スカラー)を減算した結果を返します。自身の内容を更新します。
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
乗算オペレータ(スカラー)
自身(ベクトル)の各成分と右辺値(スカラー)を乗算した結果を返します。
自身の内容は更新されません。
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
|
virtual |
乗算代入オペレータ(スカラー)
自身(ベクトル)の各成分と右辺値(スカラー)を乗算した結果を返します。
自身の内容を更新します。
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::zeros | ( | ) |
要素が全て0のベクトルの作成
現在のベクトルの成分を全て 0.0 に設定します。
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | ベクトルが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
FVCL::Data::CFvVector::cross | ( | const CFvVector & | vector | ) | const |
ベクトル外積計算
現在のベクトルと指定されたベクトルの外積を計算して返します。
現在のベクトルの内容は更新されません。
※ 2つのベクトルの次元は 3 でなければなりません。
2つのベクトルの外積は次式で定義されます。 ここでは、現在のベクトルを v1 、引数に指定されたベクトルを v2 として記載しています。
[in] | vector | 外積を計算するベクトル |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::inner | ( | const CFvVector & | vector | ) | const |
ベクトル内積計算
現在のベクトルと指定されたベクトルの内積を計算して返します。
現在のベクトルの内容は更新されません。
※ 2つのベクトルの次元は等しくなければなりません。
2つのベクトルの内積は次式で定義されます。 ここでは、現在のベクトルを v1 、引数に指定されたベクトルを v2 として記載しています。
式中の dim は各ベクトルの次元を表します。
[in] | vector | 内積を計算するベクトル |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::normalize | ( | ) | const |
単位ベクトルの計算
現在のベクトルの単位ベクトルを計算して返します。 算出されるベクトルの L2 ノルムが 1.0 となるように、 スカラー係数を現在の行列に掛け合わせます。
現在のベクトルの内容は更新されません。
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::norm_l1 | ( | ) | const |
L1ノルムの算出
現在のベクトルの L1 ノルムを計算して返します。 現在のベクトルの内容は更新されません。
下式にて定義されます。
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::norm_l2 | ( | ) | const |
L2ノルムの算出
現在のベクトルの L2 ノルムを計算して返します。 現在のベクトルの内容は更新されません。
下式にて定義されます。
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::norm_l3 | ( | ) | const |
L3ノルムの算出
現在のベクトルの L3 ノルムを計算して返します。 現在のベクトルの内容は更新されません。
下式にて定義されます。
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::mul_elem | ( | const CFvVector & | src | ) | const |
成分ごとの乗算 (ベクトル*ベクトル)
現在のベクトルと指定されたベクトルの各成分について乗算した結果を返します。
現在のベクトルの内容は更新されません。
※ 2つのベクトルの次元は等しくなければなりません。
[in] | src | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::div_elem | ( | const CFvVector & | src | ) | const |
成分ごとの除算 (ベクトル/ベクトル)
現在のベクトルと指定されたベクトルの各成分について除算した結果を返します。
現在のベクトルの内容は更新されません。
※ 2つのベクトルの次元は等しくなければなりません。
[in] | src | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | パラメータが不正です。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
FVCL::Data::CFvVector::is_normal | ( | ) | const |
非数値判定
true | 非数値を含んでいる。 |
false | 非数値を一つも含んでいない。 |
CFveBadParamException | ベクトルが NULL です。 |
除算オペレータ(ベクトル/スカラー)
左辺値(ベクトル)の各成分と右辺値(スカラー)を除算した結果を返します。
[in] | vector | 左辺値 |
[in] | scalar | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |
除算オペレータ(スカラー/ベクトル)
左辺値(スカラー)と右辺値(ベクトル)の各成分を除算した結果を返します。
[in] | scalar | 左辺値 |
[in] | vector | 右辺値 |
FVCL::CFveException | 処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。 |
値 | 定数 | 内容 |
51 | FVCL_ErrorCode::LICENSE_ERROR | ライセンスがありません。 |
1 | FVCL_ErrorCode::FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVCL_ErrorCode::INVALID_PARAMETER | 引数に誤りがあります。 |
12 | FVCL_ErrorCode::INVALID_OBJECT | メモリが確保されていません。 |
29 | FVCL_ErrorCode::NOT_CALCULABLE | 計算できません。 |