CLI や C# における -0 (マイナスゼロ) や符号のコピー

サンプルコード float pZero = 0.0f; float nZero = -0.0f; // True Debug.WriteLine("pZero == nZero: " + (pZero == nZero)); // False Debug.WriteLine("+∞ / pZero == +∞ / nZero: " + (float.PositiveInfinity / pZero == float.PositiveInfinity / nZe…

System.IO.TextReader.Peek の戻り値でストリームの終わりを判定してはいけない

ref: Microsoftのバグ!? | 自由人usk-mの気ままなブログ"StreamReader Peek" や "TextReader Peek" でググると Peek() の戻り値が -1 かどうかで判定しているコードがたくさん引っかかるが、実際には TextReader.Peek() はストリームの終わりでなくても -1…

浮動小数の比較の実装

一つ前のエントリ: http://d.hatena.ne.jp/saiya_moebius/20090111/1231669765 「float と 80bit FPU」 参考: ��ư�������������� (Boost の close_at_tolerance についてのドキュメント)浮動小数な値同士を比較することについて、Boost のドキュメントに ��ư…

C# 3.0 自動実装プロパティがどう自動実装されるのかを調べてみた

自動実装プロパティがどう自動実装されるのか気になるので調べてみた。 なお、仕様書を読んだわけではない点に注意。 動作を調べるために使ったコンパイラ .net framework 3.5 の csc mono 2.0.1.0 の gmcs コンパイル結果 csc にしろ gmcs にしろ、コードは…

float と 80bit FPU

Annotated C# Standard を読んでみたシリーズその 2。 同じ計算の結果なのに != になる、という話。参考: 2007-06-03 何はともあれサンプル public float f1 = 2.82323f; public float f2 = 2.3f; public float member; public float Calc() { return this.f…

C# における仮想メソッドと非仮想メソッドのオーバーロード解決

Annotated C# Standard を読んでみたシリーズその 1。 オーバーロードの解決が一見すると謎な扱いになってしまうという話。 何はともあれサンプル class A { public virtual void Method(int value) { System.Diagnostics.Debug.WriteLine("A.Method(int)");…

いろいろな環境での SpecialFolder

参考: 特殊ディレクトリのパスを取得する - .NET Tips (VB.NET,C#...).net framework のみならず、mono で動かした場合に Environment.GetFolderPath(Environment.SpecialFolder) がどういったパス文字列を返してくるのかが気になった&情報が無いようなので…

今年最初の読書: .net や C# について書籍を当たってみた

(少し遅くなりましたが)あけましておめでとうございます。実家から筑波への帰りに、新宿駅近くの紀伊國屋書店に行ったところうっかり書籍を大量に買い、そのまま帰宅したところ風邪気味なのも相まってうだうだとしていたのでした。そこで買った書籍のうち、…

SUtils/Serialization 1.1.0 にて MessagePack, JSON 両方に対応してみた。

関連リンク 2008/12/28 追記: リンク先を 1.1.0 から 1.1.1 へ差し替えました*1。 バイナリダウンロード: lang/CSharp/tags/081228/SUtils/Serialization/bin ドキュメント類 wiki: Serialization | SUtils Project | Assembla Sandcastle で生成した HTML: …

MessagePack C# 実装を作ってみた

Notice: こちらのエントリに、より新しいバージョンについての記述があります。MessagePack の PHP(PECL) 版の実装を作ろうと思っていたのだが、諸般の事情もあって .net/mono 版を急ぎたかったので、とりあえず C# でさっさか実装してみた。ひとしきりの Un…

英語環境に設定しても「airmacカードがインストールされていません」が治らなかったのをどうにかした

手持ちの Maccbook が、ある日突然「airmac を入にする」にも反応せず、再起動したところ「airmacカードがインストールされていません」というメッセージを出してきた。

C#にのために破壊を

参考のためにも、と思い C# な OSS を探していたところ google の検索結果ページにタイトルのような単語が出てきたという……。 ソフトウェアは.NET 2.0供給元管理のためにC#にのために破壊を使用する書かれ、リリースされたundです。 http://japanese.osstran…

筑波大学術情報センターの無線 LAN

参考: FreeBSDいちゃらぶ日記筑波大学で、大学内の学術情報センターというところが提供している学内向けに提供されている無線 LAN というものがあるのだが、この認証機構がこまったさんだという話。

MessagePack と壊れたデータ

MessagePack のエンコード方式をよく見ていると気づくことだが、MessagePack のフォーマットにおいてはたいていのバリエーションのバイト列が MessagePack のバイナリフォーマットとして合法になる仕様である。したがって、うっかり変な出力をしてしまうプロ…

MessagePack のエンコーディングフォーマット 概要編

MessagePack 互換実装を作るためには、どうあれ MessagePack のエンコーディングがどのようなフォーマットなのか調べる必要がある。 というわけで、まずはフォーマットの概略をまとめてみた。 関連エントリ id:viver の blog が本家&一次情報ですぞ Message…

MessagePack の扱えるコンテナ型まとめ

MessagePack の C/C++ バインディング上で扱うことの出来るデータ構造に付いてのエントリその 2 である。 その1 はこちら: MessagePackの扱えるプリミティブ型まとめ このエントリでは、値を任意数格納できるコンテナ型について述べようと思う。参考: Messag…

MessagePack の扱えるプリミティブ型まとめ

参考 MessagePack公式サイト id:viver の blog MessagePack の C/C++ バインディング上で扱うことの出来るデータ構造を調べてみた。エントリが長くなるのも何なので、プリミティブ型とコンテナ型の二種類に分けてエントリにしてある。ここで、コンテナ型は他…

JSON/YAML to MessagePack

MessagePack を理解したり、後々に実装を作った際のテスト用に使うためにも、JSON/YAML を MessagePack する簡単なスクリプトを用意してみた。

スレッドごとにローカルなシングルトン(的なもの)

// TODO: あとでちゃんと動作確認 (なお、CodeContract 関連以外は動作確認済みである)C# でスレッドごとに固有のインスタンスを提供できるようにするという小ネタ。 エントリの変更点 09/02/01 スレッドセーフさについて言及を増やした エントリ内部を小見…

PECL JSON のソースコードを読んでみる: 導入 〜 json_encode, zval, smart_str 編

Msgpack の PECL(The PHP Extension Community Library) 実装*1を作るに当たって、とりあえず PECL な拡張モジュールの実装がどんなものかをざっと見てみようかと思う。本当ならば、拡張モジュール開発者向けの公式の資料などを見るべきなのだろうが、ちょっ…

FrameDimensionsList, SelectActiveFrame を使って画像の複数フレームにアクセスする場合の注意点

ref: System.IO.FileStreamを使用して呼び出したマルチTiffの表示について: DOBON.NETプログラミング掲示板過去ログ昔にもハマった記憶があって、昨日またハマってしまったのでメモ。 以下は、.net framework にて画像の複数フレームにアクセスするために Im…

TODO

Msgpack についての下書きエントリをポストする ソースコードを読んで裏を取る pecl uuid の OS X パッチの件&修正版についてポストする

Msgpack を実装するのだろうか?

id:viver の Msgpack の C#, PHP バインディングを実装してみようか的な気分になったので、OSS と仲良くするためのアウトプット用*1にでも、ととりあえず blog をクリアしてみた。うまくいけば、内々に作っている分散オブジェクト/RPC機構に使えるかも(JSON …