2016-02-01から1ヶ月間の記事一覧
入力(数>n)からn個をランダムに選択する方法。1. 最初のn個をI[0]...I[n-1]にコピーする。t = n - 1。 2. 入力値がなかったら、5へ。 3. ++tとし、[0, t]の一様乱数uを生成する。 u >= nならば、2へ。 4. I[u] = I[t]とし、2へ。 5. Iをソートして終了。 #in…
N個の中からランダムにn個のを選択するためのアルゴリズム 1. t = 0, m = 0とする。 2. [0, 1]の一様乱数uを生成する。 3. もし、 (N - t) * u >= n - m ならば5へ。それ以外ないなら4へ。 4. tを採用し、++t, ++mとする。もしm 5. ++tとし、2へ。 template <typename U></typename>…
まさかこんなことができるとは思っていなかった。 やりたいこと C++で定義されたコードをC#で継承してい使用する。 参考 http://www.swig.org/Doc1.3/CSharp.html cpp class Base { public: virtual ~Base() {} virtual void tell() const = 0; }; class Cal…
金利系 Interest Rate Instruments and Market Conventions Guide
Visual studio 2015 Swig Github TortoiseGit Cygwin
したいこと clone関数を継承によって実装したい。 下記のような感じにしたい。 A, Bはクラスはclone関数をオーバーライドしていないけど、Cloneableを継承することで、cloneができるようになる。 struct B : public Cloneable とすることで、BはAを継承した…
swigを使用。 SwigSample.i %include std_vector.i %template(VectorDouble) std::vector<double>; のようにすればよい。C#でVectorDoubleという名前でstd::vectorが使用できるようになる。あとはいつも通り swig -csharp -c++ SwigSample.i</double>
参考 Excel から使うマネージDLL を作る。 | supermab's blog 課題 関数にsummaryを書き、xmlを生成したが、Excel/VBAでは表示されない。 下記のコードの意味がよく分からない。 [ComRegisterFunctionAttribute] private static void RegisterFunction(Type …
したいこと {"person" : {"name" : "testname", "age" : 29}} のようなデータから class Person { std::string _name; int _age; }; class Data { Person _person; }; のDataクラスに変換する。 ソースコード https://github.com/nishiba/object_creator int…
JSONの原典 JSON JSONの構文 データは "name" : value データはカンマ区切り 波括弧{}はオブジェクト 角括弧[]は配列を表す JSONのvalueの型 数値 文字列 ブール 配列 オブジェクト null JSON構文チェック 下記サイトで構文を確認できる。 https://syncer.jp…
#define GENERATE_ENUM_ITERATOR(T) \ inline T operator++(T& x) { return x = (T)(std::underlying_type<T>::type(x) + 1); } \ inline T operator*(T c) { return c; } \ inline T begin(T r) { return static_cast<T>(0); } \ inline T end(T r) { T l = T::LA</t></t>…
コードをgithubにアップ。 nishiba/boost_spirit_sample 実行し、”1 + max(2, 3) * 4"と入力すると、"13"と返ってくる。 ------------------------------------------------ # 1 + max(2, 3) * 4OK13 ------------------------------------------------