mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby-bigint (mrb_bint_neg): move the function to group bit operations
This commit is contained in:
@@ -1831,19 +1831,6 @@ mrb_bint_or(mrb_state *mrb, mrb_value x, mrb_value y)
|
||||
return bint_norm(mrb, bint_new(mrb, &c));
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_bint_neg(mrb_state *mrb, mrb_value x)
|
||||
{
|
||||
mpz_t a, b;
|
||||
|
||||
bint_as_mpz(RBIGINT(x), &a);
|
||||
mpz_init(mrb, &b);
|
||||
mpz_neg(mrb, &b, &a);
|
||||
struct RBigint *b2 = bint_new(mrb, &b);
|
||||
/* no normalization */
|
||||
return mrb_obj_value(b2);
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_bint_xor(mrb_state *mrb, mrb_value x, mrb_value y)
|
||||
{
|
||||
@@ -1868,6 +1855,19 @@ mrb_bint_xor(mrb_state *mrb, mrb_value x, mrb_value y)
|
||||
return bint_norm(mrb, bint_new(mrb, &c));
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_bint_neg(mrb_state *mrb, mrb_value x)
|
||||
{
|
||||
mpz_t a, b;
|
||||
|
||||
bint_as_mpz(RBIGINT(x), &a);
|
||||
mpz_init(mrb, &b);
|
||||
mpz_neg(mrb, &b, &a);
|
||||
struct RBigint *b2 = bint_new(mrb, &b);
|
||||
/* no normalization */
|
||||
return mrb_obj_value(b2);
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_bint_rev(mrb_state *mrb, mrb_value x)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user