mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby-bigint (mpz_sub): avoid data copy
Since mpz_sub() calls mpz_add() with opposite sign, refer same data from the original, instead of copying whole data.
This commit is contained in:
@@ -329,10 +329,10 @@ mpz_sub(mrb_state *mrb, mpz_t *z, mpz_t *x, mpz_t *y)
|
||||
mpz_t u;
|
||||
|
||||
mpz_init(mrb, &u);
|
||||
mpz_set(mrb, &u, y);
|
||||
u.sn = -(u.sn);
|
||||
u.p = y->p;
|
||||
u.sz = y->sz;
|
||||
u.sn = -(y->sn);
|
||||
mpz_add(mrb, z, x, &u);
|
||||
mpz_clear(mrb, &u);
|
||||
}
|
||||
|
||||
/* x = y - n */
|
||||
|
||||
Reference in New Issue
Block a user