|
|
|
@ -30,6 +30,7 @@ void benchRaw(const char *p, mcl::fp::Mode mode) |
|
|
|
|
memcpy(uy, fy.getUnit(), sizeof(Unit) * op.N); |
|
|
|
|
memcpy(ux + op.N, fx.getUnit(), sizeof(Unit) * op.N); |
|
|
|
|
double fp_sqrT, fp_addT, fp_subT, fp_mulT, fp_mul_UnitT; |
|
|
|
|
double fp_mul_UnitPreT; |
|
|
|
|
double fpDbl_addT, fpDbl_subT; |
|
|
|
|
double fpDbl_sqrPreT, fpDbl_mulPreT, fpDbl_modT; |
|
|
|
|
double fp2_sqrT, fp2_mulT; |
|
|
|
@ -38,6 +39,7 @@ void benchRaw(const char *p, mcl::fp::Mode mode) |
|
|
|
|
CYBOZU_BENCH_T(fp_subT, op.fp_sub, uz, uy, ux); |
|
|
|
|
CYBOZU_BENCH_T(fp_mulT, op.fp_mul, uz, ux, uy); |
|
|
|
|
CYBOZU_BENCH_T(fp_mul_UnitT, op.fp_mul_Unit, uz, ux, 12345678); |
|
|
|
|
CYBOZU_BENCH_T(fp_mul_UnitPreT, op.fp_mul_UnitPre, ux, ux, 12345678); |
|
|
|
|
CYBOZU_BENCH_T(fpDbl_addT, op.fpDbl_add, uz, ux, uy); |
|
|
|
|
CYBOZU_BENCH_T(fpDbl_subT, op.fpDbl_sub, uz, uy, ux); |
|
|
|
|
CYBOZU_BENCH_T(fpDbl_sqrPreT, op.fpDbl_sqrPre, uz, ux); |
|
|
|
@ -51,7 +53,8 @@ void benchRaw(const char *p, mcl::fp::Mode mode) |
|
|
|
|
CYBOZU_BENCH_T(fp2_mulT, Fp2::mul, f2x, f2x, f2y); |
|
|
|
|
printf("%s\n", mcl::fp::ModeToStr(mode)); |
|
|
|
|
const char *tStrTbl[] = { |
|
|
|
|
"fp_add", "fp_sub", "fp_sqr", "fp_mul", "fp_mul_Unit", |
|
|
|
|
"fp_add", "fp_sub", "fp_sqr", "fp_mul", "mulUnit", |
|
|
|
|
"mulUnitP", |
|
|
|
|
"D_add", "D_sub", |
|
|
|
|
"D_sqrPre", "D_mulPre", "D_mod", |
|
|
|
|
"fp2_sqr", "fp2_mul", |
|
|
|
@ -62,6 +65,7 @@ void benchRaw(const char *p, mcl::fp::Mode mode) |
|
|
|
|
printf("\n"); |
|
|
|
|
const double tTbl[] = { |
|
|
|
|
fp_addT, fp_subT, fp_sqrT, fp_mulT, fp_mul_UnitT, |
|
|
|
|
fp_mul_UnitPreT, |
|
|
|
|
fpDbl_addT, fpDbl_subT, |
|
|
|
|
fpDbl_sqrPreT, fpDbl_mulPreT, fpDbl_modT, |
|
|
|
|
fp2_sqrT, fp2_mulT, |
|
|
|
|