検証スレッドログ倉庫
τρ 検証スレッド5 οκ
- 452 名前: カニ戯れ男 ◆Wi6tEjhs 投稿日:2003/11/12(水) 15:08 ID:ILaWxoeE
- 久しぶりに覗いてみたら、なんかよく分からんことを議論してるなぁ
>>448
そりゃ当たり前だ
整数型変数同士でも乗除演算すりゃ結果は浮動小数になる
問題は、その浮動小数な結果を代入する先が整数型変数か浮動小数型変数か、だ
っていうか「少数」ってなんだよ、、、
- 453 名前: 名も無き軍師 投稿日:2003/11/12(水) 15:26 ID:eHNGr2mo
- うあ、「少数」ってはずかち〜
いいたい事は、大雑把に見積もって
A/B+C/D ってなって、結果が整数のとき
整数化する場所が
INT(A/B+C/D)
ではなくて
INT(A/B)+INT(C/D)
になることが多いよね?ってこと
和減演算に演算前に各項を一度全部整数化する
共通ルーチンがあるのかも?って考えてた
- 454 名前: カニ戯れ男 ◆Wi6tEjhs 投稿日:2003/11/12(水) 15:55 ID:ILaWxoeE
- >>453
>になることが多いよね?
いや、寡聞にしてそんなことが多いなんて知らんな
それに「A/B+C/D」が「(A*D+B*C)/(B*D)」と計算されてるかも知れんしな
「A/B」や「C/D」がそれ自体で独立したステータスなどであれば、
「INT(A/B)+INT(C/D)」と計算してるかも知れないが、
そうでなければいちいち整数化なんてしないだろうに、、、レジスタの無駄にならんか?
そもそもプログラミングで速度を優先してるのか、それともメモリ優先なのか
その前提がさっぱりわからんからな、どうしようもないだろ
>和減演算に演算前に各項を一度全部整数化する
>共通ルーチンがあるのかも?って考えてた
w
- 455 名前: 名も無き軍師 投稿日:2003/11/12(水) 16:11 ID:lG.6M7CQ
- >>453
言語とコンパイラによるなぁ。
C言語だと、整数型同士の演算は整数なので、
int a=3; int b=2;
float f = a/b;
とした時に f=1.0 になる。a/b = 3/2 = 1 な。
より高級な言語だと、除算は問答無用に小数にしてくれるのもあったような。
とりあえず確証は無いが自信を持っていえることは、
除算を全て整数にする専用のルーチンなんぞ用意していないであろう。
ということだ。
整数か小数かで結果は変わるけれどそれは1とか2とかだけ。
ともかく式を立ててみて、それをデータと突き合わせてみる。
いくつかが、1,2くらい誤差があるようなら、小数のまるめこみの可能性を考慮すればよいかと。
- 456 名前: 名も無き軍師 投稿日:2003/11/12(水) 16:15 ID:hWabfQgE
- 過去スレを読んでいて思ったこと。
カニ男は、だんだん文章が尊大になってきてるなーw
ま、検証がんばってくれ。
- 457 名前: 名も無き軍師 投稿日:2003/11/12(水) 16:19 ID:QZY54omY
- 頼む!誰かまとめサイトつくってくれ!www
- 458 名前: カニ戯れ男 ◆Wi6tEjhs 投稿日:2003/11/12(水) 16:22 ID:ILaWxoeE
- >>456
>だんだん文章が尊大になってきてるなーw
過去スレの読みが甘い
自分で取ったデータに関する議論以外は
昔から常に尊大な口調だったよ
- 459 名前: 名も無き軍師 投稿日:2003/11/12(水) 16:51 ID:eHNGr2mo
- おれがヘタレなのか?
いまの大規模プログラム開発で
レジスタの無駄とか速度優先とかメモリ優先とか考えないでしょう
どちらかというと、開発効率優先?
修正のしやすさ、多人数でのプログラムのしやすさ?
で、そのためにルーチンの共通化
まあ
>和減演算に演算前に各項を一度全部整数化する
>共通ルーチンがあるのかも?って考えてた
って表現は乱暴すぎるけど
たとえば、スキル構造体ってのがあって
整数部と小数部を別々に保持してたりすると
この構造体の四則演算はコンパイラに付属している演算子は使わないで
独自のルーチンによる計算手法が組まれてるでしょう
このようなの計算方法に一種独特な手法が使われている
可能性も考えていいのでは?ってこと
>整数か小数かで結果は変わるけれどそれは1とか2とかだけ。
>ともかく式を立ててみて、それをデータと突き合わせてみる。
>いくつかが、1,2くらい誤差があるようなら、小数のまるめこみの可能性を考慮すればよいかと。
式が単純な場合なら1,2の違いですむけど
例えば命中率が
スキル差に関する計算 + DEX差に関する計算 + AGI差に関する計算 + 歌、魔法の効果
とかで、最大10程度になるように計算されてた場合
その整数化誤差が0-4まで幅広くなるわけで
コレが測定解析時の混乱を招くかも
- 460 名前: 名も無き軍師 投稿日:2003/11/12(水) 17:28 ID:lG.6M7CQ
- >>459
漏れ自身はLinuxでオープンソース開発してるような人間なので、言わんとすることはよく分かるが、
ゲームプログラミングと業務用プログラミングは昔も今も別の物。
FF11のサーバープログラムにはそういった開発保守効率を上げる手法を入れる余裕も必要もあるだろうけど、
計算の部分ではゲーム由来のCPU効率を考えてるらしいのは256分率使ってるとこからも分かる。
しかし、整数部と小数部を別に保持する構造体なんて例えにしても苦しいぞ。
- 461 名前: カニ戯れ男 ◆Wi6tEjhs 投稿日:2003/11/12(水) 17:42 ID:72HcDuZY
- >>460
>ゲームプログラミングと業務用プログラミングは昔も今も別の物。
んー、ホントのとこはどうなんだろ?
ゲームとはいえ、ここまで巨大化しちまったら
もうマニュアルチューンなんで無理だと思うんだよね
もちろん1人で書くことも
そうなると業務用と同じで開発効率、見通しの良さ、テストしやすさw
なんかを優先してるんじゃないかなぁ
あとは高速化に関しては、もうコンパイラ頼みでw
コンパイラが速いコードを吐いてくれるような書き方を心がけるくらいじゃね?
>整数部と小数部を別に保持する構造体なんて例えにしても苦しいぞ
速度を超優先する科学技術計算の分野では普通なんだがな
ま、特殊っちゃ特殊だわなw
- 462 名前: 名も無き軍師 投稿日:2003/11/12(水) 18:23 ID:2OPRo6yY
- >>458
尊大な口調でレスしたら、相手に泣かれたもんで
あわててフォローしてたこともあったなぁw
- 463 名前: 名も無き軍師 投稿日:2003/11/12(水) 18:34 ID:lG.6M7CQ
- >>461
特殊っつうか、数値計算では 要求精度 >>>>>> 速度
その構造体はそういう要求環境で必要とされるテクニックだろう。
FF11で小数以下の計算精度を維持する必要がどれだけあるの?
金融分野では兆のオーダーの正確な整数計算が必要とか、
組み込み分野ではミリ秒単位の正確なハード制御が必要とか、
いくらでも持ってこれるけれど、前提の違う他分野の「常識」を持ち出す行為自体が詭弁術。
というかね、ある分野の専門家がその権威を維持したまま他分野に口出す(オルテガ)態度ってかなり嫌悪するのでね。
明示的に指摘しておくけど、>>452
整数/整数は数値計算以外の多くのプログラミングの世界では整数な。
- 464 名前: 名も無き軍師 投稿日:2003/11/12(水) 18:35 ID:PhfIn.tI
- 仕様の段階で詳細に効率化した式を立ててあるんじゃないの?
てか、浮動小数点数一切使ってないような。
- 465 名前: カニ戯れ男 ◆Wi6tEjhs 投稿日:2003/11/12(水) 18:43 ID:ILaWxoeE
- >>463
>FF11で小数以下の計算精度を維持する必要がどれだけあるの?
そりゃオレも知らん、TPが小数保持しててビビったくらいだからな
>整数/整数は数値計算以外の多くのプログラミングの世界では整数な
ん、すんません、勘違いしてました、、、_| ̄|○
>ある分野の専門家がその権威を維持したまま他分野に口出す(オルテガ)態度ってかなり嫌悪するのでね
鏡を見てるようですね
- 466 名前: 名も無き軍師 投稿日:2003/11/12(水) 18:47 ID:yzYyAP9M
- 多分、鯖はUNIXで運用してるんだろうから、言語はCか++でしょ。
数値計算に関しては、物理的な制限はほとんど無いから、開発の趣味だと思うよ。
普通は、わりと簡単な式にするもんだけど、今までの感じだとエラく複雑な式っぽいな。
Wizだと、武器計算式はすべてX面のサイコロY回振って定数を足すってやり方なんだけどな。
命中率も基本的にはダイスだし。まあ、D&Dそのままだから当たり前だけど。
しかし、競売の異様な使い勝手の悪さとか(なんでアイテムインデックスで並べるのか?)、
現在動いてるデータをまったく見てないような敵の配置とか(ジラ導入の時とかね)、謎が多いよなあ。
- 467 名前: 名も無き軍師 投稿日:2003/11/12(水) 18:49 ID:lG.6M7CQ
- すまん。ちょっと暴走しちった。bye.
- 468 名前: カニ戯れ男 ◆Wi6tEjhs 投稿日:2003/11/12(水) 18:54 ID:ILaWxoeE
- オレも暴走しちまった、orz
マターリ板にまだプログラマが語るスレってあったっけw?
>>466
>開発の趣味だと思うよ
オレもそう思う
懐古趣味つうか、伝統つうか、、、
タナーカ:速度を上げるために乗除算は2のn乗を使え!
とか言ってるんじゃねぇかと妄想
- 469 名前: 名も無き軍師 投稿日:2003/11/12(水) 20:22 ID:I2qA/loY
- >>463
>特殊っつうか、数値計算では 要求精度 >>>>>> 速度
残念ながら、科学技術計算ではそれは間違い。
速度>精度の場合がほとんど。
実時間で解けない計算に意味は無いからな。
実データに既に誤差があるから、計算に由来する誤差が正しく見積もれればおk。
>前提の違う他分野の「常識」を持ち出す行為自体が詭弁術。
あなたもカニ氏もゲームプログラマじゃないんだから、どっちもどっちだろ。
つか、データに対する議論じゃないんだから詭弁でもいいじゃんw。
もともとスレ違いなわだいなんだしな。
- 470 名前: 名も無き軍師 投稿日:2003/11/12(水) 22:24 ID:mrCMGDFo
- 好きなスレが荒れていると悲しい (´・ω・`)
これだけ複雑な計算が巨大生物イベントで動いていたってのがすごいな。
いや、バグ有ったんだっけw
- 471 名前: 名も無き軍師 投稿日:2003/11/13(木) 01:56 ID:a.rhITUE
- 荒れてるって言うか、ネタが無いので突っつきあってるだけ。