C#

LAPACK wrapper + Matrix/Vector + Some well-known statistical techniques = Lisys

長らく放置状態になっていた Lisys ですが,コード管理を GitHub に変更しました.コード管理が中途半端なまま放置するのは精神的によくありませんでしたので.https://github.com/krdlab/lisys これはなに? 「LAPACK のほんの一部を C# 向けにラップ + Mat…

CLAPACK-3.1.1-VisualStudio を利用する

長らく Lisys は CLAPACK3-Windows を利用していたのですが,開発環境を Visual Studio 2008 へ移行するのに伴い,CLAPACK-3.1.1-VisualStudio に変更しました.CLAPACK http://www.netlib.org/clapack/index.html 問題 しかしまぁ,すんなりといくはずもな…

Lisys-0.6.4

(2012/11/11: github に移りました → http://d.hatena.ne.jp/KrdLab/20121111/1352633124)Visual Studio 2008 向けにバイナリを作成しました. http://krdlab.kakurezato.com/lisys/Lisys-0.6.4.zip http://krdlab.kakurezato.com/lisys/Lisys-0.6.4-src.zip…

Gnuplot を操る (その 2)

http://d.hatena.ne.jp/KrdLab/20070909/1189315658 で作ったやつを更新しました. Wgnuplot ver. 0.6.1 利用方法についてですが, コンストラクタに指定するパスを "wgnuplot.exe" から "pgnuplot.exe" に変更しました."wgnuplot.exe" と合わせて "pgnuplo…

C# で ScriptControl を使って VBScript を実行する

ついでに,C# で実装したクラスのオブジェクトをスクリプト側から利用します. 公開側では, プロジェクト種別を「クラスライブラリ」にして,プロジェクトを作成 プロジェクトの [プロパティ - アプリケーション - 出力の種類(U) - アセンブリ情報(I)] で […

マルチスレッドプログラミング

ThreadPool に仕事を投げ込むタイプのマルチスレッドプログラミングです. とりあえず簡単なサンプルを書いてテストすることに. やりたいことは, Person は Task を TaskManager に Post する TaskManager は Task を ThreadPool に投げる Person は自分が…

Visual Studio のツールボックスライクなコントロール

作ってみた. けど,まともなものに仕上げるのはしんどいので,自分が使う必要最小限の機能実装にとどめた.

音声信号処理の基礎の基礎

DirectSound を使って音声信号をキャプチャし,フィルタリングするコードを書く機会があった. 処理内容は以下のようなもの. ユーザが作成したフィルタを動的にロード デバイスとフィルタを選択する. 再生(停止可) 処理の流れはだいたいこんな感じに. …

C#で数値計算&統計処理(そんなにすごくない版)

以前↓ここで紹介したやつです. http://d.hatena.ne.jp/KrdLab/20071003 かたちになってきたので,公開してみようと思います. Lisys-0.6.3 Lisys-0.6.3-src (2012/11/11: github に移りました → http://d.hatena.ne.jp/KrdLab/20121111/1352633124) まだα版…

ライブラリの現状

C#で数値計算(その8) - KrdLabの不定期日記で作っていたライブラリを,最近になって書き直しています. ※公開してみました→http://d.hatena.ne.jp/KrdLab/20080101/1199199036そもそも,このライブラリは・・・ 目的: 大学で頑張る研究者の方に,.NET Fra…

Gnuplotを操る

http://d.hatena.ne.jp/KrdLab/20060528/1148815875 でもやったけど,今回はC#オンリーで書いてみようかと. 自分の復習を兼ねてます. Spy++ で調べてみると,コマンド入力ウィンドウのウィンドウクラスは "wgnuplot_text" です.基本的な方針としては, プ…

難しい

以前作成した,統計解析をサポートするライブラリのコードを整理しています. が,難航しています. 使いやすいライブラリって,どんなだろう???

Assemblyの動的ロード

アプリケーションディレクトリ |-App.exe (アプリケーション本体) |-dlls |-Hoge |-Hoge.dll(App.exeからロードされるアセンブリ) |-Util.dll(Hoge.dllが参照しているアセンブリ)App.exe.configで,dllsディレクトリをプロービング対象に追加しておき…

WndProc を Hook する

前述のように,Clipboard が更新されたことを知るためには,対象となるフォームのウィンドウプロシージャを override する必要があります.でも,何となく Clipboard のために override した WndProc を,Form のコードに書きたくないなぁ,とか思ったので,…

C#からClipboardを操作する

最近 C# から Clipboard をゴニョゴニョするプログラムを作る必要があったため,いろいろと調べてみました(VS2005sp1 + .NET Framework 2.0). .NET Framework では,Clipboard クラス (System.Windows.Forms) として Clipboard に対する操作がまとめられ…

Excelを操作するときのIndexは...

ExcelのRowやColumnを操作するときは,indexが1から始まるのをすっかり忘れていて,実行してエラーが出るまで気づかずコーディングしていた...orz 1からなんだよね.0じゃないんだったそうでした. using Excel = Microsoft.Office.Interop.Excel; // ...…

C#でExcelを操作する

C#からExcelを操作する必要が生じたため,その辺をWebで調べてみました. 一番基本となる情報はこれらではないでしょうか. Visual C# で Excel を自動化して、配列による範囲内へのデータ入力および範囲内からのデータ取得を行う方法 Visual C# を使用した …

Serialization

今開発中のプログラムで,シリアライズ機能が必要になったため,MSDNを中心に調べてテストしてみました. シリアル化:http://msdn2.microsoft.com/ja-jp/library/7ay27kt9(VS.80).aspx SerializableAttribute:http://msdn2.microsoft.com/ja-jp/library/sy…

C# 3.0

今更ながら,C#の次期バージョン3.0について少し知りたくなたので,Webで情報をあさってみました. Visual C# 3.0 C# Version 3.0 Specification C#3.0仕様書(日本語版) Overview of C# 3.0 手っ取り早く全体を把握するには,「Overview of C# 3.0」を読む…

はまった...

.NET FrameworkのRichTextBoxコントロールで, string wd = "検索ワード"; int spos = 0; int fpos = -1; while (-1 < (fpos = this.richTextBox.Find(wd, spos, RichTextBoxFinds.WholeWord))) { // いろいろ... spos = fpos + wd.Length; } とやると,…

P/Invoke時におけるマーシャラの動作(マーシャリング)

P/Invoke において,データをC#側からアンマネージ側へ渡す,またはアンマネージ側から受け取るとき,どのような動作をしているのかについて調べてみました.まず P/Invoke について,MSDN の中で参考になりそうなページを挙げます. クラス、構造体、および…

ScrollBarの謎

スクロールバーをマウスで動かしても,Valueプロパティの値がMaximunプロパティの値まで変化しない.なぜだろう?

コンパイラ入門−C#で学ぶ理論と実践−(ひとまず終了)

第18章の内容を進めていたのですが,やればやるほどやりたいことが出てきてしまい,切りがないのでひとまず終了しようと思います. 次はちょっと背伸びして,言語仕様から考えてみようかな.楽しみです.でも,時間とれないんですけどね(下手すると,今年い…

コンパイラ入門−C#で学ぶ理論と実践−(その4)

第17章まで完了した. 変数,式,条件文,繰り返し文といった,基本的な機能を備えた言語のコンパイラが完成しました. (↑素数を計算している) 残るは第18章だけなのだけれど,この章には「こんなことしてみたらどうかね?」といったトピックスがいくつか…

コンパイラ入門−C#で学ぶ理論と実践−(その3)

ついに出た!(HelloWorld!と表示するプログラムをコンパイルできた) この調子でガンガン実装していこう.

コンパイラ入門−C#で学ぶ理論と実践−(その2)

今日は,第12章まで進みました.これで,パーサとシンボルテーブルの構築が完了しました.次はコードジェネレータです.今回は特に,第12章における「式のタイプチェック」に時間をとられてしまいました.「自力で実装してくれ」と書いてあったので,やって…

コンパイラ入門−C#で学ぶ理論と実践−(その1)

今日(14日)から,「コンパイラ入門−C#で学ぶ理論と実践−」を使ってコンパイラの勉強をします. コンパイラ入門 C#で学ぶ理論と実践posted with amazlet on 06.08.15冨沢 高明 ソフトバンククリエイティブ (2006/02/16)Amazon.co.jp で詳細を見る 大学で情…

可変個引数

C言語で,可変個の引数をとる関数を定義するときは, void test_varargs( const char* fmt, ... ) { va_list args; va_start(args, fmt); int i = 0; while(fmt[i] != '\0'){ switch(fmt[i]){ case 'd': { int val = va_arg(args, int); printf("%d\n", val)…

テストコードを書く

CLAPACKを用いた.NET用数値計算ライブラリ(KrdLibと呼んでいます)へ,追加実装を行いました. 多次元尺度構成法(Sammon Mapping) 連立一次方程式を解く(AX = B のXを求める) 行列式 ライブラリ構成を変更(今まで、曖昧なままMatrixに所属させていたメ…

進捗報告

CLAPACKを利用した数値計算ライブラリの実装がかなり進みました. C#から利用できます(もちろんC++/CLIからも利用可能.CLR上で動くため,VB.Netからでも利用できる?).【実装完了】 Matrixクラス Vectorクラス RowVectorクラス ColVectorクラス 上記クラ…