2004-09-23から1日間の記事一覧

スクロールスーパーpre

長ったらしいスーパーpreをスクロールさせて可読性の向上を試みるテストちぅ. これで1000行レベルのコードも張り放題w.

量子テレポーテーション

http://headlines.yahoo.co.jp/hl?a=20040923-00000301-yom-soci というかid:quantumよ.量子テレポーテーションのキーワードの説明の後半はどう見ても「少々」専門的どころじゃあないだろうw. 「古典情報の送信によって量子情報を移動できる」って捉え方…

特殊化(SFINAE)を使わずにpow

根本的に間違いがあったので削除. 今日の心得:テンプレート再帰は特殊化じゃないと止まらない.

メタpowについて補足

id:Cryolite:20040923#p1のメタpowについて若干補足.整数べきの高速な算法として例えば2^10を 2^10 = 2^(2+8) = 2^2 * 2^8に分解 2*2を計算 2^4を2.で計算した2^2を使って(平方して)計算 2^8を3.で計算した2^4を使って計算 2^2と2^8を乗じて2^10を計算 と…

constって要るの?

C++

もう超恒例の話題と言っても過言じゃないでしょう,これ. http://www.talkaboutprogramming.com/group/comp.lang.c++.moderated/messages/168642.html それにしてもこんな巨大なスレッドは本当に久しぶりに見た希ガス.

上を踏まえて実際にやりかったのが以下. #include <boost/utility/enable_if.hpp> #include <boost/mpl/arithmetic.hpp> #include <boost/mpl/bitwise.hpp> #include <boost/mpl/comparison.hpp> #include <boost/mpl/int.hpp> #include <iostream> typedef boost::mpl::int_<0> zero; typedef boost::mpl::int_<1> one; // pow(m, n) = pow(m…</iostream></boost/mpl/int.hpp></boost/mpl/comparison.hpp></boost/mpl/bitwise.hpp></boost/mpl/arithmetic.hpp></boost/utility/enable_if.hpp>

再帰算術メタ関数の再帰停止条件

a(n) = a(n-1), a(0) = 1で定義される簡単な数列を模した算術メタ関数を作ろうとした.今回,static constな定数(value)を内部に持たずに,あくまでメタ関数としてのみの機能(type)を提供するメタ関数を作ることにこだわってみた.なので,入力・出力はb…

再帰算術メタ関数

以下は全てVC++7.1で確認.他の環境では別の問題が出る可能性もある.