static int curve_change(struct objlist *obj, N_VALUE *inst, N_VALUE *rval, int argc, char **argv) { curve_clear(obj, inst); return legendchange(obj, inst, rval, argc, argv); }
static int set_points(struct objlist *obj,N_VALUE *inst,N_VALUE *rval,int argc,char **argv) { curve_clear(obj, inst); return legendgeometry(obj, inst, rval, argc, argv); }
void params_clear(params_t params) { curve_clear(params->curve); mpz_clear(params->p1onq); fp2_clear(params->zeta); miller_cache_clear(params->Ppub_mc); if (params->sharen) params_robust_clear(params); mpz_clear(params->p); mpz_clear(params->q); point_clear(params->P); point_clear(params->Ppub); point_clear(params->PhiPpub); free(params->version); free(params->id); }
// Clear memory used by the global parameters: void clear_all() { // Clear global dummys: int i; for(i = 0; i < NUMBER_OF_DUMMYELTS; i++) { Kclear(&(dummyelt[i])); } mpz_clear(p); // Clear memory used by genetor: generator_clear(); // Clear memory used by curve: curve_clear(); // Clear memory used by field: Kfield_clear(); }
//============================================ // メインプログラム //============================================ int main(void) { EC_GROUP ec; curve_init(ec, "ec_bn254_tw"); test_feature(ec); test_arithmetic_operation(ec); test_map_to_point(ec); test_io(ec); curve_clear(ec); fprintf(stderr, "ok\n"); return 0; }