1175. テンプレートクラスの継承 ゆめみ [URL]  2006/01/16 (月) 16:07
以下のプログラムがg++ (GCC) 3.2.2 ではコンパイルできるのに、
g++ (GCC) 4.0.0 だと
test.cc: In member function ‘void B<T>::setsize(int)’:
test.cc:24: error: ‘queue_size’ was not declared in this scope

とエラーが出てしまいます。"this->queue_size"とすると4.0.0でも通るんですが、これは正しい動作なんでしょうか?

--------------
#include <queue>

template<class T>
class A {
protected:
std::queue<T> queue0;
int queue_size;
public:
A(){};
~A(){};
};

template<class T>
class B : public A<T> {
public:
B(){};
~B(){};
void setsize(int);
};

template<class T>
void B<T>::setsize(int size)
{
queue_size = size;
}



1120. index.rdf 計  2005/10/03 (月) 00:19
ここのサイトの表記のファイルですが。
以下、9月27日と発言と同じ。

これだけじゃアレなので。
例の件、木曜日あたりと話が全然違ってアレですが、
本来の目的に立ち帰って考えると、アレだと書きづらいし読みづらい気がする。
やっぱり、lamdaか匿名関数が使えて、変数のデフォルトが実体じゃなくて参照の環境の方が良いような。
つまりは、JavaとかDとかあたり。型付が弱くてもいいなら、RubyとかPythonとかでも良いかも。
そのうち、そのあたりの相談を希望。



1115. Re^5: index.rdf へるみ  2005/09/27 (火) 21:51
>グーグルという高速道路を使うことしか考えてないですから。

とはいえそればかりに頼るのは怖いですよね.
友達は「ある日google(だけじゃないですが)が使えなくなったときのために必要な情報はこまめにメモってる」って言ってました.
確かに最近はポインタばかりで実体をきちんと覚えなくなってしまってる気がします.
#そのせいで暗記力も落ちてると思う.

受験勉強の害としてよくまる暗記がやり玉に挙がりますが,1次キャッシュ(?)が少ないと思考も止まってばかりで効率よくないですよね.探す能力だけじゃなくて蓄える能力も必要でしょうね.
あと,googleの結果が正しいかの判断力も必要だな.



1113. Re^4: index.rdf とみなが  2005/09/27 (火) 21:26
> 今というかここ10年というか最近の学生に欠けてるのが、
> とりあえず自分で自分なりに道具を作ってみる、というこ
> とだと思う。

まあ、今時の皆様はグーグルという高速道路を使うことしか考えてないですから。そしてそれで日常問題の99%ぐらいまでは解決するってのが困ったもの…



1111. Re^3: index.rdf さかい  2005/09/27 (火) 13:44
> > (というか既存のツールを使え>自分)
> 開発効率的にはその方がええんだろうけどねえ。
> 伊達とか酔狂とか考えると、自分で開発する方がおもろいよね。

今というかここ10年というか最近の学生に欠けてるのが、とりあえず自分で自分なりに道具を作ってみる、ということだと思う。そもそも教員にもそういう傾向があるからかなとか思ってます。たしかに効率は上がりますが、なんか足りないような気がしてならない。



1109. Re^2: index.rdf 計  2005/09/27 (火) 10:33
ありがとうございます。これでまたRSSで読めるようになりました。
> (というか既存のツールを使え>自分)
開発効率的にはその方がええんだろうけどねえ。
伊達とか酔狂とか考えると、自分で開発する方がおもろいよね。



1108. Re: index.rdf へるみ  2005/09/27 (火) 07:37
> XML的にNGっぽいです。
特定の条件で壊れたものを出力してしまうバグは認識してたのだけど,忘れてました.適当に直してみました(というか既存のツールを使え>自分).ありがとうございます.



1107. index.rdf 計  2005/09/27 (火) 00:24
ここのサイトの表記のファイルですが。
10行目が
<item><title>9/26 記者会見<b...</title>
となっているので、XML的にNGっぽいです。

というか、渡辺さんは5分で駆け付けたんでしょうか?



1099. Re: float vs double へるみ  2005/08/16 (火) 00:14
やっぱりメモリアクセスのコストが一番大きいですよね.
SIMD命令もアライメントが揃ってないときへの対処が一番神経を遣うしコストがかかりますよね.最近のP4MとかP4Dとか,その傾向が強いみたい...
そうとう根性入れないとSIMDより非SIMDなコードの方が速いということがあって,別CPUと思った方がよさげ.



1097. float vs double tt [URL]  2005/08/15 (月) 03:23
LAMEをSPARCとかAlphaでも動かしているのですが、どーも浮動小数点型にdoubleを使うよりfloatの方が速いようです。今時だと、計算速度よりもキャッシュヒット他のメモリアクセス速度のほうが重要ということでしょうか。



1095. ペットボトル飲料 dsk  2005/08/10 (水) 03:44
自分にとって以外だったのは、お茶が弱酸性だったことぐらいかな。
自分の場合は、アクエリアスは水分と糖分を得るために飲んでます。
あまり糖分が欲しくないときで急速に水分補給したいときは、
アミノバイタル・ハイポトニックチャージ
というやつ(コンビニではなく薬局でないと多分売ってない)を飲みますね。
こちらは、糖分(炭水化物)がアクエリアスの1/10となってます。



1094. Re: 送別会レス へるみ  2005/07/10 (日) 11:50
こちらこそ楽しかったです.次は誰の送別会でしょうね.



1093. 送別会レス ikunee  2005/07/10 (日) 00:59
金曜日は遠方のところ足をお運び頂きましてどうも有り難うございました!
とっても楽しかったです。また誰かの送別会があるときは是非いらしてくださいね。(って私は呼ばれるのか?)



1088. 水出し dsk  2005/06/30 (木) 01:07
個人的には水出しは玉露が好みですね。毎年夏になるとやります。
水出し紅茶は、ジャルダンブルーあたりがおすすめですね。



1087. ポリタンレス Firandia [URL]  2005/06/29 (水) 12:39
ポリタンの水は飲料用?それともバランス用ですか?



1086. Re: じゃがレス へるみ  2005/06/18 (土) 21:16
関東だったら,豚丼になっちゃうのかな.



1084. じゃがレス 通りすがり  2005/06/18 (土) 00:41
ジャガイモのない肉じゃがは、むしろ牛丼に近いかもしれません。



1083. Re^2: メールサーバダウン中 dsk  2005/06/09 (木) 16:31
> > 本日15:00ころよりダウンした模様。現在ホステイングサービスの方で復旧作業中です。
> 何とかHDDの中身は吸い出せた模様。ひと安心。
復旧しました。



1082. Re: メールサーバダウン中 dsk  2005/06/08 (水) 20:40
> 本日15:00ころよりダウンした模様。現在ホステイングサービスの方で復旧作業中です。
何とかHDDの中身は吸い出せた模様。ひと安心。



1081. メールサーバダウン中 dsk  2005/06/08 (水) 17:33
本日15:00ころよりダウンした模様。現在ホステイングサービスの方で復旧作業中です。



1080. Re^2: Pen4 3.6GHzで dsk  2005/06/07 (火) 20:04
> dskさん、もしかしてPentium Mac??
そうです。
見た目はG5Macで中身がPen4というものが来るという噂ですが。
#Pentium-Mの方がいいのになぁ。



1079. Re: Pen4 3.6GHzで Firandia [URL]  2005/06/07 (火) 16:14
dskさん、もしかしてPentium Mac??



1078. Re: Pen4 3.6GHzで へるみ  2005/06/07 (火) 13:53
はやっ.



1077. Pen4 3.6GHzで dsk  2005/06/07 (火) 07:20
動くMacintoshを注文してみました。VirturalPCのアップグレードが楽しみかも。



1076. Re: 日記の日付 へるみ  2005/06/01 (水) 23:44
> 日記の日付,6月ですよ〜,衣替え.
どうもです.月1ぐらいでミスってますね.もう衣替えですか.人に会わないので気がつきません.



1075. 日記の日付 Firandia [URL]  2005/06/01 (水) 21:48
日記の日付,6月ですよ〜,衣替え.
今日はよく揺れました.

ソロー封筒への応用,すんません,
今日一日でまとまりませんでした.
もう少しお時間下さいませ.



1074. 随分ご立腹のようですが... Firandia [URL]  2005/06/01 (水) 00:23
こんばんは.
本日の日記,随分ご立腹のようですが...
もしかしてP社がらみですか?

まったく別の話題ですが,TCEって「ソロー封筒」のような
用途で使えないでしょうかね?詳しくはメールします.



1071. 5/22の日記のリンク dsk  2005/05/23 (月) 13:48
エスカレーターを扱っているのは、「日本エレベーター協会」なのか....
# エスカレーターで急がせないことによりエレベーターの速度的優位を保つ
# 訳ないよな。



1070. Re: おぉ〜! へるみ  2005/05/14 (土) 21:24
ありがとうございます.
あんまりうれしくないお年頃ですが(^^;



1069. Re: RSSリーダー. へるみ  2005/05/14 (土) 21:23
いろいろ模索中というわけですね.
私はちらっと見ただけですが,http://www.infomaker.jp/ がよさそうな感じでした.シェアウェアですけど.



1068. おぉ〜! mari-a  2005/05/14 (土) 17:02
♪パンパカパァ〜ン!!
お誕生日おめでとうございます〜.



1067. RSSリーダー. mari-a  2005/05/14 (土) 16:59
会社のPCにはFirefoxをRSSリーダーとしてのみ使ってますが,
ちょっと挙動がおかしいので,家では使ってません.
gooのやつも試してみたんですけど,起動が遅くて….却下.
色々検索してみたものの,良いのが見つからず,
結局,全てのblogを巡回しています.
あ,最近「はてな」でもRSSリーダーが出まして,
使ってみているところです.



1066. Re^2: RSS Feed生成. へるみ  2005/05/13 (金) 22:26
この自動生成ツール,本文から日付を自動判別してるんですね.凄い.



1065. Re: RSS Feed生成. へるみ  2005/05/13 (金) 22:24
> 「なんでもRSS」↓ってやつで,自動生成なんてどうでしょう.
情報ありがとうございます.はい,出来上がる頃に見つけました.生成されるものも殆ど同じようです.まじめに使うならこっちのほうがよいでしょうね.ところでmari-aさんはどのRSSリーダ使ってはるのでしょう.

#同じところのblogWatcherってどこかで見たことあるなあと思ったらIPA未踏やん.あ,しかも来週同じところにいるし(^^;



1063. RSS Feed生成. mari-a  2005/05/13 (金) 21:23
「なんでもRSS」↓ってやつで,自動生成なんてどうでしょう.
http://blogwatcher.pi.titech.ac.jp/nandemorss/index.cgi
って,ダメですか…?



1060. Re^2: 各ビットの状態が互いに依存しないのであれば dsk  2005/04/27 (水) 14:41
> ビット位置を変える(たとえば0bit目が15bit目に,1bit目が3bit目にって感じ)という問題でした.
なるほど。確かにこれでも依存しませんね....。すると、ビットの移動量の差が同じところをペアにしてテーブルを共通化できるかどうか?だけですね。ビットの移動量がかなりまちまちなら共通化もできないですね。



1059. Re: 各ビットの状態が互いに依存しないのであれば へるみ  2005/04/25 (月) 22:43
>問題が違う?
ビット位置を変える(たとえば0bit目が15bit目に,1bit目が3bit目にって感じ)という問題でした.



1058. 各ビットの状態が互いに依存しないのであれば dsk  2005/04/25 (月) 22:23
or 一回 xor 一回で良いと思いますが... (合計8bytes)
各ビットごとに
(a or 0) xor 0 : 0->0 1->1
(a or 0) xor 1 : 0->1 1->0
(a or 1) xor 0 : 0->1 1->1
(a or 1) xor 1 : 0->0 1->0
ですべて網羅されていますが..... 問題が違う?



1057. Re: 4/22の日記 へるみ  2005/04/25 (月) 16:59
> 16 + 16 + 1 = 33KB だと思うのですが。
あう,失礼.半分というのは11+10+10にしたときと比較して,でしたね.




1056. 4/22の日記 ゆめみ  2005/04/25 (月) 15:02
> 当初12 + 12 + 8に分けるという案が出てきていた. 私が「それは勿体>ない. 少なくとも11 + 11 + 10にすべき. それならメモリ使用量が16 + >16 + 8 = 40KBから8 + 8 + 4 = 20KBと半分になる」

12 + 12 + 8 の場合のテーブルサイズは
16 + 16 + 1 = 33KB だと思うのですが。

nビットのテーブルの大きさは
2 ** n * (32 / 8) Byte という計算ですよね?

細かいつっこみですみません。



1055. Re^6: 落とし蓋(本当の4月5日のほう) dsk  2005/04/11 (月) 15:12
> 重さというのは考えませんでした.
> そういう使い分けもあるんですね.
紙でも、上手く穴をあければ浮かないですよ。

# そう言えば最近全然料理しないなぁ。



1054. Re^5: 落とし蓋(本当の4月5日のほう) へるみ  2005/04/09 (土) 23:48
重さというのは考えませんでした.
そういう使い分けもあるんですね.
ありがとうです.



1053. Re^4: 落とし蓋(本当の4月5日のほう) mari-a  2005/04/08 (金) 23:33
> 落とし蓋
日記読んで大爆笑してしまいました…すいません….

> 木のよさは食べ物にほのかな香りがつくからとか(想像).
木の方が重さがあるので,沸騰した時浮いてこないです.
けど,柔らかいもの煮る時には紙の方が良さそうです.



1052. Re^3: 落とし蓋(本当の4月5日のほう) へるみ  2005/04/07 (木) 22:17
燃える前に暴発するだろうな...

木のよさは食べ物にほのかな香りがつくからとか(想像).




1050. Re^2: 落とし蓋(本当の4月5日のほう) dsk  2005/04/07 (木) 20:13
> それに温めて鍋を膨らませると言っても木が湿気を吸ってしまってるので効果は無いと思います.
その湿気が蒸発するくらい暖めるとか...やりすぎると木が燃えそうだけど。

> 今まではクッキングペーパーとかアルミホイルを使ってたんですけどね.
これで十分だと思います。木の落とし蓋の良さが分らない。紙が高価であった時代の物だと思います。



1049. Re: 落とし蓋(本当の4月5日のほう) へるみ  2005/04/07 (木) 09:54
>取るときは暖めてとるしかないと思う。
完全密着だったので,そういうのでは無理でした.なんせ二人がかりでやってもピクリともしなかったので.
それに温めて鍋を膨らませると言っても木が湿気を吸ってしまってるので効果は無いと思います.
今まではクッキングペーパーとかアルミホイルを使ってたんですけどね.



1048. 落とし蓋(本当の4月5日のほう) dsk  2005/04/07 (木) 03:27
もう遅いけど.... 取るときは暖めてとるしかないと思う。
それより私は、落とし蓋にはクッキングペーパーの類を使います。あるいは用途によっては圧力鍋(私は2,500円で買いました)が便利。




1046. Re: 出向先での扱い へるみ  2005/04/02 (土) 08:21
> なんだか出向先での扱いが某社と共通するところがあるような..
それは偶然でしょう,多分.



1045. Re: 冷凍 へるみ  2005/04/02 (土) 08:18
> 私の場合は、s/一週間/三ヶ月/ でも腹壊さないです。
でも氷の中の酸素で少しずつは酸化していきそうだから,あまり古いのは避けた方がいいでしょうね.



1044. 出向先での扱い Firandia@新人研修中 [URL]  2005/04/02 (土) 02:06
なんだか出向先での扱いが某社と共通するところがあるような..

話は変わって同期にDAP/DNAで卒研してた人がいますよー.
ちょっとびっくり.



1043. 冷凍 dsk  2005/04/01 (金) 22:03
私の場合は、s/一週間/三ヶ月/ でも腹壊さないです。全然問題なし。



1042. 脱出成功といいたいとこですが, Firandia [URL]  2005/03/30 (水) 19:48
へるみさんこんばんは.

本日無事出社最終日を終えました,と
言いたいところですが,退職前の同意書なるものに
署名捺印を押せとの要求に,最後の最後まで
嫌な気分にさせられた一日でした.

明日からは気分一新,研修に参加します.



1037. 日付 dsk  2005/03/27 (日) 01:04
24→25→24って戻ってるよ



1036. Re: 定数伝搬最適化能力 へるみ  2005/03/26 (土) 00:01
> MS-Cのときからの伝統ですな。
そうでした(正確にはsumが5050になるだったかな)けど,ますます磨きがかかってます.VC6->VC7.1->VC8でクラス生成時のコードが明らかに減っていってます.
iccの方は残念ながらそっち(定数)方面はあんまりしないようです.SIMD命令使って並列化する方に走ってますね.



1035. 定数伝搬最適化能力 dsk  2005/03/25 (金) 16:21
MS-Cのときからの伝統ですな。
高校時代か大学時代かにMS-Cは、for(i = 0; i < 100; ++i); を i = 100;に最適化するという話がありましたね。
icpcはどうなんでしょ?



1033. Re: 両立 へるみ  2005/03/23 (水) 07:15
> template<> class Exp<Vect, Vect>;
> を作ればOKです。

これは当然試したんですが,うまくいかなかったんです...
ってet4.hを見直したら,
template<>
void Exp<Vect, Vect>::eval(Vect& dest) const;
とぶつかってました.中途半端に書いて気がつかなかったみたい.
削除してやり直したら大丈夫でした.
どうもありがとうございます.

> また、Vectにはoperator=しかないですが、evalを呼ぶコンストラクタも欲しいですね。

これはet4.h, et5.hには入れています.



1032. 両立 dsk  2005/03/22 (火) 23:09
template<class L> class Exp<L, Vect>;
template<class R> class Exp<Vect, R>;
の両立ですが、
template<> class Exp<Vect, Vect>;
を作ればOKです。class Exp<Vect,Vect>が欲しいときに上記のどっちから作ったら良いものかをコンパイラが決め兼ているので、最初からその特殊化を与えればOK。
また、Vectにはoperator=しかないですが、evalを呼ぶコンストラクタも欲しいですね。すなわちVect a(b+c+d+(e+f)); を処理するコンストラクタ。



1031. 再帰テンプレート dsk  2005/03/22 (火) 04:26
一般的にはテンプレートメタプログラミングと言いますね。



1029. 花粉症 dsk  2005/03/15 (火) 16:51
弱い花粉症かもね。喘息、アトピー、花粉症のようなアレルギーは、何か一つ持ってたり持った経験がある人は別のも持つようになりやすいらしいし。



1028. Re: googleはやっぱり日本語に弱いね。 へるみ  2005/03/10 (木) 20:26
> マジでトヨデンのサイト出ないんですけど.....
ああ,単にキーでもう一度探しただけかも.
教授なんていたのか...



1027. この前のテンプレートの件 dsk  2005/03/10 (木) 15:53
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdndeepc/htm/deep07062000.asp
この記事でVC++の実装が規格外であることが分ります。Microsoftは何をやっているのか?



1026. googleはやっぱり日本語に弱いね。 dsk  2005/03/10 (木) 00:42
うーん。光、成端、箱ですよね。私が検索すると、そのサイトは現れずに
http://www.ws-kosei.com/
こんなのが出たんですが。あと
http://www.mitsunari-hakari.co.jp/
も出ました。東京営業所に行ってみるとルーツが分るかも。あるいは、
光成教授。
http://www.edu.meisei-u.ac.jp/%7emitunari/

マジでトヨデンのサイト出ないんですけど.....



1023. 8月前のメール dsk  2005/03/08 (火) 00:13
たまにありますよ。メールが1年とか2年とかほっつき歩くことは。私も経験あります。



1018. Re: hash result へるみ  2005/03/01 (火) 17:41
googleチェックはしてませんでした.
改めて暗号の論文を検索してみると割と使われていますね(hashed valueというのもある).これを見るとなんでRFCに出てきたのかよく分からんなあ.どこかで議論があったのかしらん.



1017. hash result dsk  2005/03/01 (火) 15:34
英語でも、hash resultを使うのは、暗号論的hash関数に限るのではないかな?
googleで、
hash result→7100件
hash value→167000件 (0の数あってます)
hash key→83800件
sltのhash_mapでも用語的にはhash key/hash valueを使ってますね。
hash valueが入力というのはありえないし、hash resultは、それが暗号
論的hash関数の結果以外では珍妙な気がします。

RFC自身、request for commentsなんで、こういうcommentを送れば
良いのかもしれませんが.....



1016. Re^2: 意外なところで… へるみ  2005/02/27 (日) 12:15
だんなさんからメールを頂きました.いや,あまりに意外すぎてしばし絶句.こちらもお世話になっています.



1014. Re^2: S1xD1耳当て dsk  2005/02/27 (日) 01:37
> 直径は18cmぐらいなんでちゃうと思うなあ.
なるほど、S1xD1といっても私の想像した(metricが入った意味での)形とはぜんぜんちがうね。間違えられるとすれば、バンダナあたりですな。



1013. Re: S1xD1耳当て へるみ  2005/02/26 (土) 15:23
直径は18cmぐらいなんでちゃうと思うなあ.



1012. Re: 意外なところで… へるみ  2005/02/26 (土) 15:05
> いつも主人がお世話になっておりますm(__)m
文中の固有名詞は分かるんですが,あなたがどなたか思い当たりません(^^; すいません.m(__)m



1011. S1xD1耳当て dsk  2005/02/26 (土) 14:45
靴下の足首までのやつ(女の子がやってるやつ)、の片割れと思われた、とか



1009. 意外なところで… 卑し系  2005/02/26 (土) 02:07
mixiのkedaちゅの日記見たんですが…、世間は狭いですね。
ttさんの日記(スラッシュドット)にもありましたね。

ところで、いつも主人がお世話になっておりますm(__)m



1007. Re^2: 1/26の例は部分特殊化ではないですが、 dsk  2005/02/20 (日) 05:35
> なるほど.VC++でだけエラーになるのがヤですが(^^;
そこは、VCに頑張ってもらいたいですね.....

> template<typename A>
> struct con<A const&> {
> typedef A const& ref;
> };
たしかにこれは元のgenericな定義と同一なので不要でした。
(いいわけ:実は、この例を作ったときは、genericな定義の方はとりあえず
型refが定義されていればいいや、ってことで適当にAとしてたのです。)
これは、con<int&>::ref も、con<int const&>::ref も、 int const&になる
というものですが、templateの部分特殊化を使うと型を場合分けできて便利。

松井さんみたいな人が現われて、正しいテンプレート展開コンパイラとか
作ってくれないかな。



1005. Re^2: mulとimul とっこ  2005/02/16 (水) 10:29
なるほど、negはnot+incでしたね。
それでもこんがらがってるので、またゆっくり考えてみます(^^;



1004. Re: 1/26の例は部分特殊化ではないですが、 へるみ  2005/02/14 (月) 20:45
亀レスですんませんが,
>(snip)
> とすれば、gccでもicc/bccと同じ振舞になります。

なるほど.VC++でだけエラーになるのがヤですが(^^;
ところで
template<typename A>
struct con<A const&> {
typedef A const& ref;
};
はなくても,{int, const int}のどのペアにも対応できるようですね.



1003. Re: mulとimul へるみ  2005/02/14 (月) 19:51
> これはマジですか、ネタですか(^^;

まじでした(^^;.お恥ずかしい.m(__)m
つい先日全く別件で「一緒だなあ」と思ってたのですが,
そんな昔の自分の発言(書き込み)は覚えてませんでした.

> 何か直感的に理解できる方法はないですかね。

L(ab) := L(a, b) := pmulluw(a, b)とおくと,示すことは
a, b > 0のとき L(a, -b) = L(-ab) = -L(ab) = -L(a, b).
-x = ~x + 1からL(-x) = -L(x)だからOK,でどうかしらん.



1002. mulとimul とっこ  2005/02/14 (月) 14:51
>pmulluwがないのは何故?(MMX2のページ)
これはマジですか、ネタですか(^^;
下位の計算結果は符合付きかどうかに関係ないからですね。

一応計算して、関係ない証明はできたのですが、
何か直感的に理解できる方法はないですかね。



999. 1/26の例は部分特殊化ではないですが、 dsk  2005/02/03 (木) 14:11
template<typename A>
static A func(A& a, const A& b) { return a + b; }
のところを、

template<typename A> struct con { typedef A ref; };
template<typename A> struct con<A&> { typedef A const& ref;};
template<typename A> struct con<A const&> { typedef A const& ref;};

template<typename X>
static X func(X& a, typename con<X&>::ref b) { return a + b; }
とすれば、gccでもicc/bccと同じ振舞になります。

理想的には、maybe_const指定子(qualifier)があって、
template<typename X>
static X func(X maybe_const& a, X const& b) { return a + b; }
とできればいいですね。こちらですと、リンク先の「問題」というやつも
多くは解決できますね。



998. templateの部分特殊化 dsk  2005/02/03 (木) 14:05
>そういう規格になってるのは何故
それは、templateの部分特殊化を用いたクラスの設計をやりやすくするため、
template<typename A, typename B>
struct Hoge {
  void func(A a, B b);
};
という定義を含むクラスの部分特殊化を考えるとき、
template<typename X>
Hoge<X&, X const&>::func(X& a, X const& b).....
というメンバー関数を定義したら、それは「AとBがある型の参照型で、Aはconstでなく、Bがconstの場合」のメンバー関数が生成されて欲しいです。それ以外の関数が生成されるのが仕様だと、「AとBが同じ型のconst参照型」である場合と区別して処理を行うことが出来なくなります。これはC/C++の設計思想である「できることを多く」に反します。
では、bcc/iccの振舞は、というとあたかも <X&,X const&> ⊃ <X const&, X const&>であるかのようですが(すなわち、<X&,X const&>による部分特殊化の、さらに部分特殊化が<X const&, X const&>である)、この式は直観に反しますし、何より、両方constの場合を禁止できないことはC/C++の設計思想に反します。
しかも、
template<typename A> struct con { typedef A ref; };
template<typename A> struct con<A&> {typedef A const& ref;};
template<typename A> struct con<A const&> {typedef A const& ref;};

template<typename X>
Hoge<X&, typename con<X&>::ref>::func(X& a, typename con<X&>::ref b).....
のようにすれば、規格通りでもicc/bccの振舞をさせれます。



997. Re: 関数を使う側にたてば分るかと... へるみ  2005/02/02 (水) 21:59
いや,書き方が悪かったかもしれんけど,それは分かってます(^^;
そうじゃなくて,1/26のコードでgccが文句を言うのは規格上正しいようだけど,そういう規格になってるのは何故というのが疑問点です.
実際,(よくないかもしれんけど)そうじゃない実装もあるし,そうじゃない(エラーにならない)方が親切だと思うのです.



996. 関数を使う側にたてば分るかと... dsk  2005/02/02 (水) 20:14
>参照型の場合にgccのように積極的に区別したい理由はよく分かりませんが.
これは、次のような考えだと思います。他の人が作った(自分は中身の知らない)
関数があってそれを使わなければならない状況を考えてください。
そのプロトタイプが
void func(int cons& x); となっているのと、
void func(int &x); となっているのでは
全然使う側の意識として違うと思います。参照渡しだからこちらの変数の
中身が前者では変化し、後者では変化しない。

ところが、
void func(int x); と
void func(int const x); では使う側の意識としては違わないですよね。
こちらの変数のコピーが変更されようがされまいが、こちらの変数は
変化なし。



995. Re: C++の規格 へるみ  2005/02/02 (水) 17:33
> 参照型じゃないときに無視しても差し支えない理由は、参照じゃない引数はコピーされるからです。
自分でも漠然とですが,書きながらそれだからかなあと思ってました.参照型の場合にgccのように積極的に区別したい理由はよく分かりませんが.



993. C++の規格 dsk  2005/02/02 (水) 09:32
> 規格書眺めると参照型じゃなかったらcv限定は無視されるみたい.
参照型じゃないときに無視しても差し支えない理由は、参照じゃない引数は
コピーされるからです。C/C++では引数はコピーされるのが原則。
無視されることが必要な理由はたぶんテンプレート特殊化回りの奥の深い
ところにありそうな気がします。

参照の場合は、func(int& a)とfunc(int const& a)では呼出し側は、func(x);
としたときに前者ではxは変更されるかも知れないが、後者では変更されない
ことを期待されます。参照引数なので、引数はコピーされません(多くの実装
ではポインタが渡されます -- int const&の場合には int のコピーに最適化
されるかもしれませんが...)



992. re: cntlzw Toshi  2005/02/01 (火) 07:22
Here's one way to use cntlzw (I haven't debugged it yet). However, this method is slower than the fastest table lookup method. The only benefit is that it uses less table space and data cache space.

// parse MPEG-2 Video Table B-13
unsigned int dct_dc_diff_chroma()
{
unsigned int c,t;
t = getbits(2);
if (t==3)
{
t = ~(peekbits(8)|0xffffff00);
t = cntlzw(t)-20;
flushbits(min(t-2,8));
}
return t;
}



988. Re: cntlzw ゆめみ  2005/01/27 (木) 14:11
cntlzwについては、書籍「ハッカーのたのしみ」の中の、「先頭から続く0を数える」の節とか、フラグチェック
http://www.dd.iij4u.or.jp/~okuyamak/Information/flagcheck.html
とかが関係すると思います。MPEGに関係なくてすみません。



985. Re: cntlzw へるみ  2005/01/14 (金) 22:34
ものすごく懐かしいネタですね(^^;

使うとしたら,
int log2(unsigned int x)
{
int len = 0;
while (x) {
x >>= 1;
len++;
}
return len;
}
みたいなところを
int log2(unsigned int x)
{
return 32 - cntlzw(x);
}
に置き換えることですかね.
多少は速くなりそうですが,その付近にあるであろう分岐のややこしい部分で効果が埋もれちゃうかも.
手元にMacがないので判りません(^^;



984. cntlzw 通りすがり  2005/01/14 (金) 17:11
数年前の話題で恐縮なのですが、

No. 427.
>ところで、昨日PowerPCのマニュアルをぽけっと眺めてるとなん>とcntlzw なる命令を発見。
>「RISCチップの癖に???」と驚いたのですが残念ながら最上位
>bitから探索する(bsfと向きが逆)ためそのままでは使えませ
>ん。
># `0'なら32, '1'なら31, '5'なら29が返ります。
>
>;さて、この命令を前提としたコードってかけますかね。

cntlzwをMPEGのVLCのデコードに使えないかなと考えて、
Google様のお導きでここに辿り着きました。
少しは速くなるんじゃないかなと期待しているのですが、
いかがでしょうか?
#残念ながら、"cntlzw (huffman|vlc)" は0ヒットでした。
#x86の話題でなくてすみません。



983. Re^2: はじめまして aki  2005/01/02 (日) 11:20
教えてくれてありがとうございます。



982. Re: はじめまして へるみ  2005/01/01 (土) 09:58
意味がよく分からないのですが,すでに圧縮されていたということはないんでしょうか.
午後のこ〜だの使い方は
http://www.marinecat.net/bbs/mct_bbs.htm
で聞いてみてください.



981. はじめまして aki  2004/12/30 (木) 11:37
午後のこーだでMP3になっても圧縮されてないみたいなのですが・・・・どうすればいいですか? CDを焼く機械はBUFFALOのCD-RW&DVD B's Recorder GOLD5 と言う物を使っています。教えてください。お願いしますm(_”_)m ペコペコ



975. Re: typo へるみ  2004/12/03 (金) 23:53
>12月分が「11」月になってます。
ありがとうございます.直しました.
最近,意識が飛ぶことが多いです(^^;



974. typo ゆめみ  2004/12/03 (金) 17:01
憂鬱な午後のひとときの12月分が「11」月になってます。最近更新されていないのかと思いました(^^;



972. Re: やっぱりmaple賢いね へるみ  2004/11/22 (月) 23:16
> 学生のうちに入手しとくんだったなぁ。
せやねぇ.私のはMaple6だけど重宝してます.
最新版はacademic版でもおいそれと買える値段じゃないですが.
http://www.cybernet.co.jp/maple/price/education.shtml



971. やっぱりmaple賢いね dsk  2004/11/22 (月) 23:01
学生のうちに入手しとくんだったなぁ。



970. マニピュレータ dsk  2004/11/21 (日) 14:25
なかなか格好いいですね。



969. Re: 余暇プログラミング へるみ  2004/11/17 (水) 14:20
> 出力形式も入力形式と同じじゃだめ?
変更できるようになってます.



968. 余暇プログラミング dsk  2004/11/17 (水) 13:44
出力形式も入力形式と同じじゃだめ? F_2限定だし。
入力形式の方がすっきりしていて見やすいような。
#勘違いしているとかもしれないので念のため確認
(1,2,3) = x[1]*x[2]*x[3]
でいいですよね。



959. 同僚の結婚式 きかくしつそーさい [URL]  2004/10/24 (日) 02:16
昨日の同僚の結婚式の2次会に招待されて参加いたしました.
披露宴にはいらしてたとのことで,2次会でお会いできるかと
期待していたのですが残念でした.11月下旬にもU氏の
結婚式がありますので,お会いできたらいいですね.



958. Re: 10月22日 へるみ  2004/10/23 (土) 07:05
> 『ぶたぶた』の著者は矢崎"存"美さんでは?
本当だ.失礼しました.ご指摘ありがとうございます.



957. 10月22日 oli  2004/10/23 (土) 02:16
『ぶたぶた』の著者は矢崎"存"美さんでは?



953. Re^2: すごく久しぶりですが とっこ  2004/10/17 (日) 11:39
どうもです。ではまた何かあったらよろしくお願いします。
次はVBとNASMだけでマンデルブロ集合かきたいですね。