ruby-mpfr 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/ext/gmp/mpfr/extconf.rb +14 -0
- data/ext/mpfr/extconf.rb +14 -0
- data/ext/mpfr/ruby_mpfr.c +38 -18
- data/ext/mpfr/ruby_mpfr.h +3 -0
- data/ext/mpfr_matrix/mpfr/extconf.rb +14 -0
- data/ext/mpfr_matrix/mpfr/ruby_mpfr.h +4 -0
- data/ext/mpfr_matrix/mpfr/ruby_mpfr_matrix.c +11 -67
- data/lib/mpfr/version.rb +1 -1
- data/spec/mpfr/allocate_spec.rb +19 -9
- metadata +7 -33
data/.gemtest
ADDED
File without changes
|
data/ext/gmp/mpfr/extconf.rb
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
require 'mkmf'
|
2
2
|
|
3
|
+
i = 0
|
4
|
+
while i < ARGV.size
|
5
|
+
case ARGV[i]
|
6
|
+
when '--ldflags'
|
7
|
+
if args = ARGV[i+1]
|
8
|
+
i += 1
|
9
|
+
$LDFLAGS += " #{args}"
|
10
|
+
end
|
11
|
+
else
|
12
|
+
raise "Invalid option: #{ARGV[i]}"
|
13
|
+
end
|
14
|
+
i += 1
|
15
|
+
end
|
16
|
+
|
3
17
|
$CFLAGS += " -Wall"
|
4
18
|
|
5
19
|
REQUIRE_VERSION = 3
|
data/ext/mpfr/extconf.rb
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
require 'mkmf'
|
2
2
|
|
3
|
+
i = 0
|
4
|
+
while i < ARGV.size
|
5
|
+
case ARGV[i]
|
6
|
+
when '--ldflags'
|
7
|
+
if args = ARGV[i+1]
|
8
|
+
i += 1
|
9
|
+
$LDFLAGS += " #{args}"
|
10
|
+
end
|
11
|
+
else
|
12
|
+
raise "Invalid option: #{ARGV[i]}"
|
13
|
+
end
|
14
|
+
i += 1
|
15
|
+
end
|
16
|
+
|
3
17
|
$CFLAGS += " -Wall"
|
4
18
|
|
5
19
|
REQUIRE_VERSION = 3
|
data/ext/mpfr/ruby_mpfr.c
CHANGED
@@ -34,8 +34,7 @@ mp_rnd_t r_mpfr_rnd_from_value(VALUE rnd)
|
|
34
34
|
} else if (rnd_id == id_rnda) {
|
35
35
|
return MPFR_RNDA;
|
36
36
|
}
|
37
|
-
rb_raise(rb_eArgError, "Argument must be
|
38
|
-
/* rb_raise(rb_eArgError, "Argument must be Rounding Mode: %s", rb_class2name(rnd)); */
|
37
|
+
rb_raise(rb_eArgError, "Argument must be a constant meaning rounding mode, but the objects is %s.", rb_obj_classname(rnd));
|
39
38
|
}
|
40
39
|
|
41
40
|
/* If argc equals max, convert last argument to rounding mode number. */
|
@@ -407,7 +406,7 @@ void r_mpfr_set_robj(MPFR *ptr, VALUE obj, mp_rnd_t rnd)
|
|
407
406
|
r_mpfr_get_struct(ptr_obj, tmp);
|
408
407
|
mpfr_set(ptr, ptr_obj, rnd);
|
409
408
|
} else {
|
410
|
-
rb_raise(rb_eArgError, "Invalid class %s for making MPFR.",
|
409
|
+
rb_raise(rb_eArgError, "Invalid class %s for making MPFR.", rb_obj_classname(obj));
|
411
410
|
}
|
412
411
|
break;
|
413
412
|
}
|
@@ -419,7 +418,7 @@ VALUE r_mpfr_robj_to_mpfr(VALUE obj, int argc, VALUE *argv)
|
|
419
418
|
if (rb_respond_to(obj, to_fr)) {
|
420
419
|
return rb_funcall2(obj, to_fr, argc, argv);
|
421
420
|
}
|
422
|
-
rb_raise(rb_eArgError, "The object of %s can not been converted to MPFR.",
|
421
|
+
rb_raise(rb_eArgError, "The object of %s can not been converted to MPFR.", rb_obj_classname(obj));
|
423
422
|
}
|
424
423
|
|
425
424
|
/* If obj is MPFR instance, then this method returns obj. */
|
@@ -721,7 +720,9 @@ static VALUE r_mpfr_to_strf(VALUE self, VALUE format_str)
|
|
721
720
|
r_mpfr_get_struct(ptr_self, self);
|
722
721
|
char *format = StringValuePtr(format_str);
|
723
722
|
char *ret_str;
|
724
|
-
mpfr_asprintf(&ret_str, format, ptr_self)
|
723
|
+
if (!mpfr_asprintf(&ret_str, format, ptr_self)) {
|
724
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
725
|
+
}
|
725
726
|
VALUE ret_val = rb_str_new2(ret_str);
|
726
727
|
mpfr_free_str(ret_str);
|
727
728
|
return ret_val;
|
@@ -733,7 +734,9 @@ static VALUE r_mpfr_to_s(VALUE self)
|
|
733
734
|
MPFR *ptr_self;
|
734
735
|
r_mpfr_get_struct(ptr_self, self);
|
735
736
|
char *ret_str;
|
736
|
-
mpfr_asprintf(&ret_str, "%.Re", ptr_self)
|
737
|
+
if (!mpfr_asprintf(&ret_str, "%.Re", ptr_self)) {
|
738
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
739
|
+
}
|
737
740
|
VALUE ret_val = rb_str_new2(ret_str);
|
738
741
|
mpfr_free_str(ret_str);
|
739
742
|
return ret_val;
|
@@ -745,7 +748,10 @@ static VALUE r_mpfr_inspect(VALUE self)
|
|
745
748
|
MPFR *ptr_s;
|
746
749
|
r_mpfr_get_struct(ptr_s, self);
|
747
750
|
char *ret_str;
|
748
|
-
mpfr_asprintf(&ret_str, "#<MPFR:%lx,'%0.Re',%d>", NUM2LONG(rb_funcall(self, object_id, 0)),
|
751
|
+
if (!mpfr_asprintf(&ret_str, "#<MPFR:%lx,'%0.Re',%d>", NUM2LONG(rb_funcall(self, object_id, 0)),
|
752
|
+
ptr_s, mpfr_get_prec(ptr_s))) {
|
753
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
754
|
+
}
|
749
755
|
VALUE ret_val = rb_str_new2(ret_str);
|
750
756
|
mpfr_free_str(ret_str);
|
751
757
|
return ret_val;
|
@@ -2761,17 +2767,17 @@ static VALUE r_mpfr_buildopt_decimal_p(VALUE self)
|
|
2761
2767
|
return mpfr_buildopt_decimal_p() == 0 ? Qnil : Qtrue;
|
2762
2768
|
}
|
2763
2769
|
|
2764
|
-
|
2770
|
+
char *r_mpfr_dump_to_string(MPFR *ptr_s)
|
2765
2771
|
{
|
2766
|
-
MPFR *ptr_s;
|
2767
|
-
r_mpfr_get_struct(ptr_s, self);
|
2768
2772
|
char *ret_str;
|
2769
2773
|
if (mpfr_regular_p(ptr_s)) {
|
2770
2774
|
mpz_t m;
|
2771
2775
|
mp_exp_t e;
|
2772
2776
|
mpz_init(m);
|
2773
2777
|
e = mpfr_get_z_2exp(m, ptr_s);
|
2774
|
-
mpfr_asprintf(&ret_str, "%c%ld\t%ld\t%Zd", MPFR_DUMP_NUMBER, mpfr_get_prec(ptr_s), (long int)e, m)
|
2778
|
+
if (!mpfr_asprintf(&ret_str, "%c%ld\t%ld\t%Zd", MPFR_DUMP_NUMBER, mpfr_get_prec(ptr_s), (long int)e, m)) {
|
2779
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
2780
|
+
}
|
2775
2781
|
mpz_clear(m);
|
2776
2782
|
} else {
|
2777
2783
|
char type;
|
@@ -2788,21 +2794,27 @@ static VALUE r_mpfr_marshal_dump(VALUE self)
|
|
2788
2794
|
} else {
|
2789
2795
|
type = MPFR_DUMP_MINF;
|
2790
2796
|
}
|
2791
|
-
mpfr_asprintf(&ret_str, "%c%ld", type, mpfr_get_prec(ptr_s))
|
2797
|
+
if (!mpfr_asprintf(&ret_str, "%c%ld", type, mpfr_get_prec(ptr_s))) {
|
2798
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
2799
|
+
}
|
2792
2800
|
}
|
2801
|
+
return ret_str;
|
2802
|
+
}
|
2803
|
+
|
2804
|
+
static VALUE r_mpfr_marshal_dump(VALUE self)
|
2805
|
+
{
|
2806
|
+
MPFR *ptr_s;
|
2807
|
+
r_mpfr_get_struct(ptr_s, self);
|
2808
|
+
char *ret_str = r_mpfr_dump_to_string(ptr_s);
|
2793
2809
|
VALUE ret_val = rb_str_new2(ret_str);
|
2794
2810
|
mpfr_free_str(ret_str);
|
2795
2811
|
return ret_val;
|
2796
2812
|
}
|
2797
2813
|
|
2798
|
-
|
2814
|
+
void r_mpfr_load_string(MPFR *ptr_s, const char *dump)
|
2799
2815
|
{
|
2800
2816
|
long int prec;
|
2801
|
-
|
2802
|
-
r_mpfr_get_struct(ptr_s, self);
|
2803
|
-
Check_Type(dump_string, T_STRING);
|
2804
|
-
char *dump, type;
|
2805
|
-
dump = RSTRING_PTR(dump_string);
|
2817
|
+
char type;
|
2806
2818
|
type = dump[0];
|
2807
2819
|
dump++;
|
2808
2820
|
if (type == MPFR_DUMP_NUMBER) {
|
@@ -2839,6 +2851,14 @@ static VALUE r_mpfr_marshal_load(VALUE self, VALUE dump_string)
|
|
2839
2851
|
rb_raise(rb_eArgError, "Invalid dumped data for marshal_load.");
|
2840
2852
|
}
|
2841
2853
|
}
|
2854
|
+
}
|
2855
|
+
|
2856
|
+
static VALUE r_mpfr_marshal_load(VALUE self, VALUE dump_string)
|
2857
|
+
{
|
2858
|
+
MPFR *ptr_s;
|
2859
|
+
r_mpfr_get_struct(ptr_s, self);
|
2860
|
+
Check_Type(dump_string, T_STRING);
|
2861
|
+
r_mpfr_load_string(ptr_s, RSTRING_PTR(dump_string));
|
2842
2862
|
return self;
|
2843
2863
|
}
|
2844
2864
|
|
data/ext/mpfr/ruby_mpfr.h
CHANGED
@@ -37,5 +37,8 @@ mp_rnd_t r_mpfr_rnd_from_optional_argument(int min, int max, int argc, VALUE *ar
|
|
37
37
|
mp_rnd_t r_mpfr_prec_from_optional_argument(int min, int max, int argc, VALUE *argv);
|
38
38
|
void r_mpfr_get_rnd_prec_from_optional_arguments(mp_rnd_t *rnd, mp_prec_t *prec, int min, int max, int argc, VALUE *argv);
|
39
39
|
|
40
|
+
char *r_mpfr_dump_to_string(MPFR *ptr_s);
|
41
|
+
void r_mpfr_load_string(MPFR *ptr_s, const char *dump);
|
42
|
+
|
40
43
|
#endif /* _RUBY_MPFR_H_ */
|
41
44
|
|
@@ -1,5 +1,19 @@
|
|
1
1
|
require 'mkmf'
|
2
2
|
|
3
|
+
i = 0
|
4
|
+
while i < ARGV.size
|
5
|
+
case ARGV[i]
|
6
|
+
when '--ldflags'
|
7
|
+
if args = ARGV[i+1]
|
8
|
+
i += 1
|
9
|
+
$LDFLAGS += " #{args}"
|
10
|
+
end
|
11
|
+
else
|
12
|
+
raise "Invalid option: #{ARGV[i]}"
|
13
|
+
end
|
14
|
+
i += 1
|
15
|
+
end
|
16
|
+
|
3
17
|
$CFLAGS += " -Wall"
|
4
18
|
|
5
19
|
REQUIRE_VERSION = 3
|
@@ -30,11 +30,15 @@ VALUE r_mpfr_make_new_fr_obj(MPFR *ptr);
|
|
30
30
|
VALUE r_mpfr_make_new_fr_obj2(MPFR *ptr, int prec);
|
31
31
|
VALUE r_mpfr_new_fr_obj(VALUE obj);
|
32
32
|
void r_mpfr_set_robj(MPFR *ptr, VALUE obj, mp_rnd_t rnd);
|
33
|
+
VALUE r_mpfr_robj_to_mpfr(VALUE obj, int argc, VALUE *argv);
|
33
34
|
|
34
35
|
mp_rnd_t r_mpfr_rnd_from_value(VALUE rnd);
|
35
36
|
mp_rnd_t r_mpfr_rnd_from_optional_argument(int min, int max, int argc, VALUE *argv);
|
36
37
|
mp_rnd_t r_mpfr_prec_from_optional_argument(int min, int max, int argc, VALUE *argv);
|
37
38
|
void r_mpfr_get_rnd_prec_from_optional_arguments(mp_rnd_t *rnd, mp_prec_t *prec, int min, int max, int argc, VALUE *argv);
|
38
39
|
|
40
|
+
char *r_mpfr_dump_to_string(MPFR *ptr_s);
|
41
|
+
void r_mpfr_load_string(MPFR *ptr_s, const char *dump);
|
42
|
+
|
39
43
|
#endif /* _RUBY_MPFR_H_ */
|
40
44
|
|
@@ -196,43 +196,19 @@ static VALUE r_mpfr_matrix_marshal_dump(VALUE self)
|
|
196
196
|
{
|
197
197
|
MPFRMatrix *ptr;
|
198
198
|
r_mpfr_get_matrix_struct(ptr, self);
|
199
|
-
mpz_t m;
|
200
|
-
mp_exp_t e;
|
201
|
-
mpz_init(m);
|
202
199
|
int i;
|
203
|
-
|
204
|
-
char *tmp_str, type;
|
200
|
+
char *tmp_str;
|
205
201
|
VALUE ret_ary;
|
206
202
|
ret_ary = rb_ary_new();
|
207
203
|
rb_ary_push(ret_ary, INT2FIX(ptr->row));
|
208
204
|
rb_ary_push(ret_ary, INT2FIX(ptr->column));
|
209
205
|
|
210
206
|
for (i = 0; i < ptr->size; i++) {
|
211
|
-
|
212
|
-
if (mpfr_regular_p(ptr_el)) {
|
213
|
-
e = mpfr_get_z_2exp(m, ptr_el);
|
214
|
-
mpfr_asprintf(&tmp_str, "%c%ld\t%ld\t%Zd", MPFR_DUMP_NUMBER, mpfr_get_prec(ptr_el), (long int)e, m);
|
215
|
-
} else {
|
216
|
-
if (mpfr_zero_p(ptr_el)) {
|
217
|
-
if (mpfr_sgn(ptr_el) >= 0) {
|
218
|
-
type = MPFR_DUMP_PZERO;
|
219
|
-
} else {
|
220
|
-
type = MPFR_DUMP_MZERO;
|
221
|
-
}
|
222
|
-
} else if (mpfr_nan_p(ptr_el)) {
|
223
|
-
type = MPFR_DUMP_NAN;
|
224
|
-
} else if (mpfr_sgn(ptr_el) >= 0) {
|
225
|
-
type = MPFR_DUMP_PINF;
|
226
|
-
} else {
|
227
|
-
type = MPFR_DUMP_MINF;
|
228
|
-
}
|
229
|
-
mpfr_asprintf(&tmp_str, "%c%ld", type, mpfr_get_prec(ptr_el));
|
230
|
-
}
|
207
|
+
tmp_str = r_mpfr_dump_to_string(ptr->data + i);
|
231
208
|
rb_ary_push(ret_ary, rb_str_new2(tmp_str));
|
232
209
|
mpfr_free_str(tmp_str);
|
233
210
|
}
|
234
211
|
|
235
|
-
mpz_clear(m);
|
236
212
|
return ret_ary;
|
237
213
|
}
|
238
214
|
|
@@ -245,51 +221,15 @@ static VALUE r_mpfr_matrix_marshal_load(VALUE self, VALUE dump_ary)
|
|
245
221
|
ptr->column = NUM2INT(rb_ary_entry(dump_ary, 1));
|
246
222
|
ptr->size = ptr->row * ptr->column;
|
247
223
|
ptr->data = ALLOC_N(MPFR, ptr->size);
|
248
|
-
int i
|
249
|
-
|
250
|
-
MPFR *ptr_el;
|
251
|
-
char *dump, type;
|
224
|
+
int i;
|
225
|
+
char *dump;
|
252
226
|
VALUE dump_element;
|
253
|
-
mpz_t m;
|
254
227
|
|
255
228
|
for(i = 0; i < ptr->size; i++){
|
256
229
|
dump_element = rb_ary_entry(dump_ary, i + 2);
|
257
|
-
ptr_el = ptr->data + i;
|
258
230
|
Check_Type(dump_element, T_STRING);
|
259
231
|
dump = RSTRING_PTR(dump_element);
|
260
|
-
|
261
|
-
dump++;
|
262
|
-
if (type == MPFR_DUMP_NUMBER) {
|
263
|
-
mpz_init(m);
|
264
|
-
sscanf(dump, "%ld\t%ld\t", &prec, &e);
|
265
|
-
j = 0;
|
266
|
-
while (j < 2) {
|
267
|
-
if (dump[0] == '\t') {
|
268
|
-
j++;
|
269
|
-
}
|
270
|
-
dump++;
|
271
|
-
}
|
272
|
-
mpz_set_str(m, dump, 10);
|
273
|
-
mpfr_init2(ptr_el, prec);
|
274
|
-
mpfr_set_z_2exp(ptr_el, m, e, MPFR_RNDN);
|
275
|
-
mpz_clear(m);
|
276
|
-
} else {
|
277
|
-
sscanf(dump, "%ld", &prec);
|
278
|
-
mpfr_init2(ptr_el, prec);
|
279
|
-
if (type == MPFR_DUMP_PZERO) {
|
280
|
-
mpfr_set_zero(ptr_el, +1);
|
281
|
-
} else if (type == MPFR_DUMP_MZERO){
|
282
|
-
mpfr_set_zero(ptr_el, -1);
|
283
|
-
} else if (type == MPFR_DUMP_NAN) {
|
284
|
-
mpfr_set_nan(ptr_el);
|
285
|
-
} else if (type == MPFR_DUMP_PINF) {
|
286
|
-
mpfr_set_inf(ptr_el, +1);
|
287
|
-
} else if (type == MPFR_DUMP_MINF) {
|
288
|
-
mpfr_set_inf(ptr_el, -1);
|
289
|
-
} else {
|
290
|
-
rb_raise(rb_eArgError, "Invalid dumped data for marshal_load.");
|
291
|
-
}
|
292
|
-
}
|
232
|
+
r_mpfr_load_string(ptr->data + i, dump);
|
293
233
|
}
|
294
234
|
return self;
|
295
235
|
}
|
@@ -521,7 +461,9 @@ static VALUE r_mpfr_matrix_str_ary(VALUE self, VALUE format_str)
|
|
521
461
|
VALUE ret_val[ptr_self->size];
|
522
462
|
int i;
|
523
463
|
for (i = 0; i < ptr_self->size; i++) {
|
524
|
-
mpfr_asprintf(&tmp_str, format, ptr_self->data + i)
|
464
|
+
if (!mpfr_asprintf(&tmp_str, format, ptr_self->data + i)) {
|
465
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
466
|
+
}
|
525
467
|
ret_val[i] = rb_str_new2(tmp_str);
|
526
468
|
mpfr_free_str(tmp_str);
|
527
469
|
}
|
@@ -541,7 +483,9 @@ static VALUE r_mpfr_matrix_str_ary2(VALUE self, VALUE format_str)
|
|
541
483
|
}
|
542
484
|
for (i = 0; i < ptr_self->size; i += ptr_self->row) {
|
543
485
|
for (j = 0; j < ptr_self->row; j++) {
|
544
|
-
mpfr_asprintf(&tmp_str, format, ptr_self->data + i + j)
|
486
|
+
if (!mpfr_asprintf(&tmp_str, format, ptr_self->data + i + j)) {
|
487
|
+
rb_raise(rb_eFatal, "Can not allocate a string by mpfr_asprintf.");
|
488
|
+
}
|
545
489
|
rb_ary_push(ary[j], rb_str_new2(tmp_str));
|
546
490
|
mpfr_free_str(tmp_str);
|
547
491
|
}
|
data/lib/mpfr/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
RUBY_MPFR_VERSION = '0.0.
|
1
|
+
RUBY_MPFR_VERSION = '0.0.11'
|
data/spec/mpfr/allocate_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__)) + '/spec_helper.rb'
|
2
2
|
|
3
|
-
describe MPFR, 'when allocating objects from
|
3
|
+
describe MPFR, 'when allocating objects from numbers' do
|
4
4
|
it "should equal bignum" do
|
5
5
|
MPFR.set_default_prec(100)
|
6
6
|
num = 1
|
@@ -23,6 +23,17 @@ describe MPFR, 'when allocating objects from integer' do
|
|
23
23
|
|
24
24
|
end
|
25
25
|
|
26
|
+
it "should equal float" do
|
27
|
+
MPFR.set_default_prec(256)
|
28
|
+
error = MPFR.new('1.0e-10')
|
29
|
+
GenerateNumber.float(100) do |f|
|
30
|
+
MPFR.new(f).should == f
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
describe MPFR, 'when allocating from objects that is not numbers' do
|
26
37
|
it "should allocate from string" do
|
27
38
|
MPFR.set_default_prec(53)
|
28
39
|
for i in 0..1000
|
@@ -30,14 +41,15 @@ describe MPFR, 'when allocating objects from integer' do
|
|
30
41
|
end
|
31
42
|
end
|
32
43
|
|
33
|
-
it "should
|
34
|
-
MPFR.
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
44
|
+
it "should raise error" do
|
45
|
+
lambda { MPFR.new(nil) }.should raise_error
|
46
|
+
lambda { MPFR.new(false) }.should raise_error
|
47
|
+
lambda { MPFR.new([]) }.should raise_error
|
48
|
+
lambda { MPFR.new(:sym) }.should raise_error
|
39
49
|
end
|
50
|
+
end
|
40
51
|
|
52
|
+
describe MPFR, 'when creating new objects' do
|
41
53
|
it "should duplicate" do
|
42
54
|
MPFR.set_default_prec(141)
|
43
55
|
for i in 0..1000
|
@@ -68,6 +80,4 @@ describe MPFR, 'when allocating objects from integer' do
|
|
68
80
|
b.should == c
|
69
81
|
end
|
70
82
|
end
|
71
|
-
|
72
83
|
end
|
73
|
-
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-mpfr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 0
|
8
|
-
- 10
|
9
|
-
version: 0.0.10
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.11
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Takayuki YAMAGUCHI
|
@@ -14,39 +10,20 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-02-26 00:00:00 +09:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
17
|
+
name: hoe
|
22
18
|
prerelease: false
|
23
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
20
|
none: false
|
25
21
|
requirements:
|
26
22
|
- - ">="
|
27
23
|
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 2
|
30
|
-
- 0
|
31
|
-
- 4
|
32
|
-
version: 2.0.4
|
24
|
+
version: 2.9.1
|
33
25
|
type: :development
|
34
26
|
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: hoe
|
37
|
-
prerelease: false
|
38
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
segments:
|
44
|
-
- 2
|
45
|
-
- 7
|
46
|
-
- 0
|
47
|
-
version: 2.7.0
|
48
|
-
type: :development
|
49
|
-
version_requirements: *id002
|
50
27
|
description: |-
|
51
28
|
ruby-mpfr is a library to use MPFR[http://www.mpfr.org/] which is a C library for
|
52
29
|
multiple-precision floating-point computations.
|
@@ -127,6 +104,7 @@ files:
|
|
127
104
|
- spec/mpfr_matrix/mpfr_square_matrix_spec.rb
|
128
105
|
- spec/mpfr_matrix/spec_helper.rb
|
129
106
|
- tasks/extconf.rake
|
107
|
+
- .gemtest
|
130
108
|
has_rdoc: true
|
131
109
|
homepage: http://rubyforge.org/projects/ruby-mpfr/
|
132
110
|
licenses: []
|
@@ -142,21 +120,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
142
120
|
requirements:
|
143
121
|
- - ">="
|
144
122
|
- !ruby/object:Gem::Version
|
145
|
-
segments:
|
146
|
-
- 0
|
147
123
|
version: "0"
|
148
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
125
|
none: false
|
150
126
|
requirements:
|
151
127
|
- - ">="
|
152
128
|
- !ruby/object:Gem::Version
|
153
|
-
segments:
|
154
|
-
- 0
|
155
129
|
version: "0"
|
156
130
|
requirements: []
|
157
131
|
|
158
132
|
rubyforge_project: ruby-mpfr
|
159
|
-
rubygems_version: 1.
|
133
|
+
rubygems_version: 1.5.2
|
160
134
|
signing_key:
|
161
135
|
specification_version: 3
|
162
136
|
summary: ruby-mpfr is a library to use MPFR[http://www.mpfr.org/] which is a C library for multiple-precision floating-point computations
|