My_AddMod、My_SubMod、My_MulModなどの数学関数を実装して、結果をvec_long&型の data resultに戻そうとしています。
私の関数と NTL の両方を呼び出して、NTL の結果を次のように使用する場合:
long tmpt_My = My_AddMod(long a, long b, long n); //(a+b)%n
long tmpt_NTL = AddMod(long a, long b, long n); //function from NTL
vec_long& result[i] = tmpt_NTL; //choosing result from NTL_function
ただし、My_function の結果を使用すると、うまく機能しました。
long tmpt_My = My_AddMod(long a, long b, long n); //(a+b)%n
long tmpt_NTL = AddMod(long a, long b, long n); //function from NTL
vec_long& result[i] = tmpt_My; //choosing result from My_function
これもうまく機能しましたが、コードで大きなレイテンシが発生しました。
と の値とデータ型を出力するtmpt_NTL
とtmpt_My
、それらは同じ値とデータ型になりlong
ます。
両方の関数が呼び出され (My_function の実行時間とは関係ないように見えます)、同じ値を生成するため、大きなレイテンシが発生する理由は何ですか、またはどのように修正できますか?