アカウント名:
パスワード:
汎用のデジカメRaw現像ソフト。デコード部分のコードにコンパクトでパズルチックなものが多い。
富豪的プログラミングの名のもとに直接的なコードしか書けない自分には,なかなか参考には出来ないもののこういう世界もあるんだなと考えさせられる。
ちなみに,外部ライブラリを除けば単一ファイルで完結するソフトで,最新版の行数は9,519行と異常に長いのも特徴的。
レジスタに0代入より、自レジスタとXORの方が1クロック速い
クロックは同じで、命令が短いっていう印象。
xorというとビット反転に使うけど、プログラミングを始めた頃、BASICでA=1-Aとして0と1を切り替えていたのを見たときちょっと感動した記憶があります
>A=1-Aとして0と1を切り替えていたのを見たとき
す、すごい!!!早速「if flg=1 flg=0 else flg=1」な感じのとこを置き換えました!天才っているもんなんだな・・
元コメはBASICの話だから仕方ないけど、Cなら三項演算子使う方が見通し良くないですか?
C で 0 か 1 が入っている int 型の変数の 0 と 1 を入れ替えたいときに、スピード優先 (?) で A = 1 - A とか A ^= 1 とかなら意図は理解できる (本当に速いかどうかは知らない) けど、見通しを良くするのが目的なら A = !A 一択じゃないの? 三項演算子を使うべき場面じゃないと思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
dcraw.c (スコア:2)
汎用のデジカメRaw現像ソフト。
デコード部分のコードにコンパクトでパズルチックなものが多い。
富豪的プログラミングの名のもとに直接的なコードしか書けない自分には,
なかなか参考には出来ないもののこういう世界もあるんだなと考えさせられる。
ちなみに,外部ライブラリを除けば単一ファイルで完結するソフトで,最新版の行数は9,519行と異常に長いのも特徴的。
Re: (スコア:3, 興味深い)
今を去ること数十年前、アセンブラ(というよりマシン語)で
事故^h^h自己書き換えをする処理を見たときとか
レジスタに0代入より、自レジスタとXORの方が1クロック速いとか見たとき
ちょっと感動した記憶があります
Re: (スコア:3)
クロックは同じで、命令が短いっていう印象。
xorというとビット反転に使うけど、プログラミングを始めた頃、BASICでA=1-Aとして0と1を切り替えていたのを見たとき
ちょっと感動した記憶があります
Re: (スコア:0)
>A=1-Aとして0と1を切り替えていたのを見たとき
す、すごい!!!
早速「if flg=1 flg=0 else flg=1」な感じのとこを置き換えました!
天才っているもんなんだな・・
Re:dcraw.c (スコア:0)
元コメはBASICの話だから仕方ないけど、Cなら三項演算子使う方が見通し良くないですか?
Re:dcraw.c (スコア:2)
C で 0 か 1 が入っている int 型の変数の 0 と 1 を入れ替えたいときに、スピード優先 (?) で A = 1 - A とか A ^= 1 とかなら意図は理解できる (本当に速いかどうかは知らない) けど、見通しを良くするのが目的なら A = !A 一択じゃないの? 三項演算子を使うべき場面じゃないと思う。