えっと。昨日に引き続き。
modを扱うクラスを作りたいわけだが、まずそういうクラスは次のようなことができなくちゃならない。
①加減乗、累乗
②operator == (!=) による比較。
③整数型へのキャスト
そして重要なのが、
④型安全性
なんでかっていうと、 3 (mod 4 )と 5(mod 6)を足し合わせて
3+5 ≡ ?という計算ができてはならないから。
異なる数を「法」とする(法とはmodの後ろの数)2式は、なんら比較も計算もできなくするべきだ。
これは実行時エラーではなく、コンパイル時のエラーとしたい。
さらにもう一つやりたいことがある。
それは、計算時にどの型を使うかを判断すること。
たとえばクラスmodがあって、その法nが、nクラスが、内部でunsigned long long を使うのはあまりにあほらしい。
・・・こんなことがたぶんできるだろうなぁ~とおもった昨日の晩でした。
しかし、今書いてて思ったけれど、高々この程度のことをするのにTMPは必要ないなぁ~って思い始めた
合同式2
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 14年前
Re: 合同式2
「普通の数値」同士として計算した後、その結果を代入するmodクラスの型や法に従って変換する方法では駄目なのですか?