.NET

C#で数値計算(つづき)

今日は,Vector系クラスの残りであるRowVectorとColVectorを作成し,Streamへの書き出しのあたりをちょっとだけ勉強しました. ちょっと引っかかったこと 【MSDN】 コンパイラ エラー C2662 /clr を指定してコンパイルする場合は、const または volatile で…

C++/CLIにおけるオーバーライド

C++/CLIでは,派生クラスでオーバライドする関数を指定できるみたいです. ref class Base { public: virtual void EEE() { Console::WriteLine(L"Base::EEE"); } virtual void FFF() { Console::WriteLine(L"Base::FFF"); } virtual void GGG() { Console::…

interior_ptrとpin_ptr

CLAPACKの関数は,全ての引数をポインタで渡さなければなりません(in/outに関係なく).しかし,VectorやMatrixはref classであるため, ref class Hoge { private: int size; public: void foo() { native_func(&size); // error ! } }; Hoge^ h = gcnew H…

C++/CLIの代入演算子

Vector^ operator+=( const Vector^ v ) { assert(m_size == v->m_size); for(size_type i=0 ; i<m_size ; ++i)m_array[i] += v->m_array[i]; return this; } のように記述したのですが,どうもC#側から利用することができません. 調べてみたところ, static Vector^ operator+( const Vect</m_size>…

始動

以前C++で作成した数値計算用行列クラス(以降C++Matrix)を,何とかしてC#に移植できないかと考えてみました.C#で使用するためには,CLR上で動作するようにしなければなりません.CLRに準拠したコードはマネージコード(managed code)と呼ばれます(CLRに管…