[過去ログ] Qiita 4 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
361
(2): デフォルトの名無しさん [sage] 2024/03/05(火) 11:10:48.88 ID:kMFA7wVm(1/2) AAS
>>355
355(1): デフォルトの名無しさん [sage] 2024/03/05(火) 00:40:04.95 ID:ayHwglDl(1) AAS
関数内部の単なる数値演算に保守性もクソもないぜ
そんなところの保守性にこだわるやつは仕事できないやつ
それよりも複数のデータや複数の関数に関わるところの保守性をしっかりやればいい
> 関数内部の単なる数値演算に保守性もクソもないぜ

>>315
315(12): デフォルトの名無しさん [sage] 2024/03/03(日) 21:47:18.39 ID:B4rwo5Er(1) AAS
閏年の仕様が変わったら判定関数だけ置き換えればいいのだから
判定関数の中身なんて何でもいいのよ
割り算(剰余算)と分岐はCPUにとって非常に遅いから避けるとするならば例えばこんな感じ

fn is_leap_year(year: u64) -> bool {
 let q100 = (year * 42949673) >> 32;
 ((q100 & 3 == 0) | (q100 * 100 != year)) & (year & 3 == 0)
}
のクソコード見てから言え
362: デフォルトの名無しさん [] 2024/03/05(火) 11:33:45.43 ID:ihc4PKcq(1) AAS
>>361
どう見ても同一人物だろw
アホか
363
(1): デフォルトの名無しさん [] 2024/03/05(火) 11:52:26.48 ID:9nHue/Qo(1) AAS
>>361
>>147
147(7): デフォルトの名無しさん [] 2024/02/17(土) 14:28:35.26 ID:M+9VD8BN(1/8) AAS
> A: 4の倍数の年は、うるう年
> B: ただし、100の倍数の年は、うるう年ではない(平年)
> C: ただし、400の倍数の年は、うるう年
> D: ただし30の倍数の年は、うるう年
> E: ただし、30と4の倍数の年はうるう年ではない
> F: D, Eは2025年より適用する

をC++で書いてg++でコンパイルしてみた。

外部リンク:godbolt.org

アセンブリ言語読めないけど色分けでC++とアセンブリ言語の対応を教えてくれるので助かる。Eの判定部分に対応するアセンブリ言語が出力されてないな。g++に無駄な判定であると判断されたか。

試しに、重複してる4の倍数判定を

E: ただし、30と7の倍数の年はうるう年ではない

に変えてみると

外部リンク:godbolt.org

今度はEの判定部分に対応するアセンブリ言語は出力されるようだ。g++がashworthより賢いことは分かった。
のクソコード見てから言え!
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s