2008-05-01から1ヶ月間の記事一覧

FFT 3

N=N1*N2のも書いてみた。 Wikipediaにいろいろ書いてあった。 整数論の復習にもなった。(将来使わないだろうがw)あとdelegateを使って、メモリ消費を抑えた(つもりw 実際にどうかは計測してないw)

FFT 4

C#

Complex配列の代わりに、VirtualArrayという仮想的な配列クラスを作り、それを引数に取るようにした。VirtualArrayはDelegateを使って、配列を読み書きするクラス。なんでこんなものを作ったかというと、入力が関数でかけるものだったら、いちいち配列にする…

FFT 2

因数分解して分割統治(であってる?)で変換する版を作った。N=2,4は誤差を少なくできるので、特別扱い。Complexは複素数クラスです。ここでは定義していません。適宜自分で作ってください;要望があれば載せますが; あと、List PrimeDecomposition(long N) …

FFT

教科書にバタフライ演算とか書いてあって、やろうとしたけど、混乱してできなかった。普通の離散フーリエ変換の式を見て、バタフライ演算を意識してちょっといじくると、離散フーリエ変換の再帰とみなすことができる。これを使うことで、FFTを実装した。

プログラミングについて

プログラミングしてて思うこと。 サボれるところはサボれ。よく言われてることですが。 同じようなところは違うところをパラメータ化してあげて書く。そうすると見やすくなるし、物事を抽象的に見る見方が身につく。似てるような所を抽出する能力は重要だと…

MIDIのデータ構造の前に…

SMFでの数値表現って厄介ですねー。可変長数値とか言うの…。自分で考えてもわからなかったので、どっかにおちてたC++のコードを翻訳した。SMFを読み取るプログラムを書いてたのだが、この部分がないと完成できなかったので、作ったのさ。

PortForwarding on C#

C#

PortForwardingを実装してみた。といっても簡単なことしかできない。PortForward.exe lport:address:port として起動すると、ローカルのlportをaddressのportと結びつける。まだデータのやり取りをファイルとして保存する。(これが目的ww)

SMTP Client on C#

ライブラリのSMTP送信機能を使わないでオリジナルでSMTPでメールを送るクラス。細かい設定が可能となる。 Cram-MD5にも対応しました。コードがぐちゃぐちゃだったので、一から書き直しました。ただ相変わらずDigestMD5の仕様が見つからない…マイナーらしいか…

TreeView

.netのTreeViewを勉強してた。HTMLの階層構造をTreeViewで表現できたらと思って。デフォルトだとあまりできることがないので、TreeNodeクラスを拡張して、TreeNodeExなるクラスを作った。そのクラスにはType型のオブジェクトをメンバとして保持し、そのNode…