FineKernelToolKit: CLI/FK_CLI/include/GenMatrix_CLI.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
GenMatrix_CLI.h
[詳解]
1#pragma once
2
3#include <FK/GenMatrix.h>
4#include "GenVector_CLI.h"
5
6namespace FK_CLI {
7
9
17 public ref class fk_GenMatrix {
18 internal:
19 ::FK::fk_GenMatrix *pGMat;
20 public:
21
23
26 fk_GenMatrix();
27
29
34 fk_GenMatrix(int deg);
35
37 ~fk_GenMatrix();
38
40 !fk_GenMatrix();
41
43
49 property double default [int,int] {
50 double get(int, int);
51 void set(int, int, double);
52 }
53
55
61 property int Degree {
62 void set(int);
63 int get();
64 }
65
67
69
78 bool Equals(fk_GenMatrix^ M);
79
81
90 virtual bool Equals(Object^ O) override;
91
93
98 String^ ToString() override;
99
100 // fk_GenVector との積演算
102
114 static fk_GenVector^ operator*(fk_GenMatrix^ M, fk_GenVector^ V1);
115
117
131 static fk_GenMatrix^ operator*(fk_GenMatrix^ M1, fk_GenMatrix^ M2);
132
133 // 差演算子
135
147 static fk_GenMatrix^ operator-(fk_GenMatrix^ M1, fk_GenMatrix^ M2);
148
150
162 static fk_GenMatrix^ operator+(fk_GenMatrix^ M1, fk_GenMatrix^ M2);
163
165
177 static void operator +=(fk_GenMatrix^ M1, fk_GenMatrix^ M2);
178
180
192 static void operator -=(fk_GenMatrix^ M1, fk_GenMatrix^ M2);
193
195
212 static void operator *=(fk_GenMatrix^ M1, fk_GenMatrix^ M2);
213
215
227 static void operator *=(fk_GenVector^ V, fk_GenMatrix^ M);
228
230
238 void Init(bool initFlg);
239
241
245 void Init(void);
246
248
258 bool Inverse(void);
259
260
262
271 fk_GenMatrix^ GetInverse(void);
272
274
279 void Negate(void);
280
282
290 bool IsRegular(void);
291
293
302 bool IsSingular(void);
303 };
304}
305
306/****************************************************************************
307 *
308 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
309 *
310 * Redistribution and use in source and binary forms,
311 * with or without modification, are permitted provided that the
312 * following conditions are met:
313 *
314 * - Redistributions of source code must retain the above
315 * copyright notice, this list of conditions and the
316 * following disclaimer.
317 *
318 * - Redistributions in binary form must reproduce the above
319 * copyright notice, this list of conditions and the
320 * following disclaimer in the documentation and/or
321 * other materials provided with the distribution.
322 *
323 * - Neither the name of the copyright holders nor the names
324 * of its contributors may be used to endorse or promote
325 * products derived from this software without specific
326 * prior written permission.
327 *
328 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
329 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
330 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
331 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
332 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
333 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
334 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
335 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
336 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
337 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
338 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
339 * POSSIBILITY OF SUCH DAMAGE.
340 *
341 ****************************************************************************/
342/****************************************************************************
343 *
344 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
345 *
346 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
347 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
348 *
349 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
350 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
351 *
352 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
353 * および下記免責条項を含めること。
354 *
355 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
356 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
357 * 含めること。
358 *
359 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
360 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
361 * コントリビューターの名前を使用してはならない。
362 *
363 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
364 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
365 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
366 * に限定されない、いかなる保証もないものとします。著作権者もコン
367 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
368 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
369 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
370 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
371 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
372 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
373 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
374 * ついて、一切責任を負わないものとします。
375 *
376 ****************************************************************************/
GenVector_CLI.h
FK_CLI::fk_GenMatrix::Equals
bool Equals(fk_GenMatrix^ M)
同値比較メソッド1
FK_CLI::fk_GenMatrix::operator+
static fk_GenMatrix ^ operator+(fk_GenMatrix^ M1, fk_GenMatrix^ M2)
行列和二項演算子
FK_CLI::fk_GenMatrix::operator-
static fk_GenMatrix ^ operator-(fk_GenMatrix^ M1, fk_GenMatrix^ M2)
行列差二項演算子
FK_CLI::fk_GenMatrix::Equals
virtual bool Equals(Object^ O) override
同値比較メソッド2
FK_CLI::fk_GenMatrix::Init
void Init(bool initFlg)
初期化メソッド1
FK_CLI::fk_GenMatrix::fk_GenMatrix
fk_GenMatrix(int deg)
コンストラクタ2
FK_CLI::fk_GenMatrix::ToString
String ^ ToString() override
文字列出力メソッド
FK_CLI::fk_GenMatrix::Inverse
bool Inverse(void)
逆行列化メソッド
FK_CLI::fk_GenMatrix::IsRegular
bool IsRegular(void)
正則判定メソッド
FK_CLI::fk_GenMatrix::Negate
void Negate(void)
転置化メソッド
FK_CLI::fk_GenMatrix::GetInverse
fk_GenMatrix ^ GetInverse(void)
逆行列取得演算子
FK_CLI::fk_GenMatrix::operator+=
static void operator+=(fk_GenMatrix^ M1, fk_GenMatrix^ M2)
行列和代入演算子
FK_CLI::fk_GenMatrix::~fk_GenMatrix
~fk_GenMatrix()
デストラクタ
FK_CLI::fk_GenMatrix::Init
void Init(void)
初期化メソッド2
FK_CLI::fk_GenMatrix::fk_GenMatrix
fk_GenMatrix()
コンストラクタ1
FK_CLI::fk_GenMatrix::IsSingular
bool IsSingular(void)
特異判定メソッド
FK_CLI::fk_GenMatrix::operator-=
static void operator-=(fk_GenMatrix^ M1, fk_GenMatrix^ M2)
行列差代入演算子
FK_CLI::fk_GenMatrix::Degree
int Degree
次元数プロパティ
Definition GenMatrix_CLI.h:61
FK_CLI::fk_GenMatrix::operator*
static fk_GenMatrix ^ operator*(fk_GenMatrix^ M1, fk_GenMatrix^ M2)
行列積二項演算子
FK_CLI::fk_GenMatrix::operator*
static fk_GenVector ^ operator*(fk_GenMatrix^ M, fk_GenVector^ V1)
ベクトル変換二項演算子
FK_CLI::fk_GenMatrix::operator*=
static void operator*=(fk_GenMatrix^ M1, fk_GenMatrix^ M2)
行列積代入演算子
FK_CLI::fk_GenVector
任意次元ベクトルを管理するクラス
Definition GenVector_CLI.h:20
FK_CLI
Definition AppWindow_CLI.h:11
FK_CLI::fk_MouseButton::M2
@ M2
マウス中クリック、あるいはホイールクリック(第2ボタン)
Definition AppWindow_CLI.h:54
FK_CLI::fk_MouseButton::M1
@ M1
マウス左クリック(第1ボタン)
Definition AppWindow_CLI.h:53