1 #include "internal.h"
2
3 static VALUE
bug_big_zero(VALUE self,VALUE length)4 bug_big_zero(VALUE self, VALUE length)
5 {
6 long len = NUM2ULONG(length);
7 VALUE z = rb_big_new(len, 1);
8 MEMZERO(BIGNUM_DIGITS(z), BDIGIT, len);
9 return z;
10 }
11
12 static VALUE
bug_big_negzero(VALUE self,VALUE length)13 bug_big_negzero(VALUE self, VALUE length)
14 {
15 long len = NUM2ULONG(length);
16 VALUE z = rb_big_new(len, 0);
17 MEMZERO(BIGNUM_DIGITS(z), BDIGIT, len);
18 return z;
19 }
20
21 void
Init_bigzero(VALUE klass)22 Init_bigzero(VALUE klass)
23 {
24 rb_define_singleton_method(klass, "zero", bug_big_zero, 1);
25 rb_define_singleton_method(klass, "negzero", bug_big_negzero, 1);
26 }
27