我正在尝试实现一些数学函数,如My_AddMod、My_SubMod、My_MulMod,并将结果放回vec_long& - 类型数据结果。
当我同时调用我的函数和 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
它工作得很好,但在代码中造成了很大的延迟。
打印出 and 的 value 和 data-type 时tmpt_NTL
,tmpt_My
它们是相同的 value 和 data-type long
。
由于两个函数都被调用(所以它似乎与 My_function 执行时间无关)并且它们生成相同的值,导致大延迟的原因是什么或者我该如何解决它?