0

My_AddModMy_SubModMy_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_NTLtmpt_My、それらは同じ値とデータ型になりlongます。

両方の関数が呼び出され (My_function の実行時間とは関係ないように見えます)、同じ値を生成するため、大きなレイテンシが発生する理由は何ですか、またはどのように修正できますか?

4

1 に答える 1