dec_number 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ timestamp for config.h
@@ -4,7 +4,7 @@
4
4
  #include "decNumber.h"
5
5
  #include <stdio.h>
6
6
 
7
- // Backwards compat for old rubies
7
+ /* Backwards compat for old rubies */
8
8
  #if !defined(RSTRING_LEN)
9
9
  # define RSTRING_LEN(x) (RSTRING(x)->len)
10
10
  # define RSTRING_PTR(x) (RSTRING(x)->ptr)
@@ -80,7 +80,7 @@ static VALUE con_initialize(int argc, VALUE *argv, VALUE self) {
80
80
 
81
81
  Data_Get_Struct(self, decContext, self_ptr);
82
82
  decContextDefault(self_ptr, DEC_INIT_BASE);
83
- self_ptr->traps = 0; // no traps TODO: error handling
83
+ self_ptr->traps = 0; /* no traps TODO: error handling */
84
84
 
85
85
  if ( NIL_P(digits) ) {
86
86
  self_ptr->digits = DECNUMDIGITS;
@@ -88,7 +88,7 @@ static VALUE con_initialize(int argc, VALUE *argv, VALUE self) {
88
88
  con_set_digits(self,digits);
89
89
  }
90
90
 
91
- // TODO: Handle arguments
91
+ /* TODO: Handle arguments */
92
92
 
93
93
  return self;
94
94
  }
@@ -161,7 +161,7 @@ static VALUE con_set_emax(VALUE self, VALUE new_value) {
161
161
  self_ptr->emax = FIX2INT(new_value);
162
162
  return INT2FIX(self_ptr->emax);
163
163
  }
164
- // /DecContext
164
+ /* /DecContext */
165
165
 
166
166
 
167
167
  /*****
@@ -192,7 +192,7 @@ static VALUE num_initialize(int argc, VALUE *argv, VALUE self) {
192
192
  Data_Get_Struct(self, decNumber, self_ptr);
193
193
 
194
194
  if ( NIL_P(from) ) {
195
- // decNumberFromString(dec_num_ptr, "0", &dec_context);
195
+ /* decNumberFromString(dec_num_ptr, "0", &dec_context); */
196
196
  } else {
197
197
  r_str = rb_funcall(from, rb_intern("to_s"), 0);
198
198
  decNumberFromString(self_ptr, StringValuePtr( r_str ), context_ptr);
@@ -200,7 +200,7 @@ static VALUE num_initialize(int argc, VALUE *argv, VALUE self) {
200
200
  return self;
201
201
  }
202
202
 
203
- // TODO: does this work?
203
+ /* TODO: does this work? */
204
204
  static VALUE dec_number_from_struct(decNumber source_dec_num) {
205
205
  VALUE new;
206
206
  decNumber *dec_num_ptr;
@@ -220,7 +220,7 @@ static VALUE dec_number_from_string(VALUE obj, VALUE from) {
220
220
 
221
221
  Data_Get_Struct(new, decNumber, dec_num_ptr);
222
222
  if ( decNumberIsNaN( dec_num_ptr ) ) {
223
- // FIXME: Just use the sprintf from C, silly
223
+ /* FIXME: Just use the sprintf from C, silly */
224
224
  r_str = rb_funcall( from, rb_intern( "to_s" ), 0 );
225
225
  err = rb_funcall( rb_mKernel, rb_intern( "sprintf" ), 2, rb_str_new2("invalid value for DecNumber: %s"), r_str );
226
226
  rb_raise(rb_eArgError, StringValuePtr( err ) );
@@ -231,7 +231,7 @@ static VALUE dec_number_from_string(VALUE obj, VALUE from) {
231
231
  return ret;
232
232
  }
233
233
 
234
- // TODO: Not sure if this should this return as a NaN when not a number, or as a 0 like nil.to_i
234
+ /* TODO: Not sure if this should this return as a NaN when not a number, or as a 0 like nil.to_i */
235
235
  static VALUE to_dec_number(VALUE obj) {
236
236
  decNumber *dec_num_ptr;
237
237
  VALUE dec_num;
@@ -350,7 +350,7 @@ static VALUE num_negate(VALUE self) {
350
350
  return new;
351
351
  }
352
352
 
353
- // needs to check for things like nil and false, etc, not convert everything. Probably only convert numbers.
353
+ /* needs to check for things like nil and false, etc, not convert everything. Probably only convert numbers. */
354
354
  static VALUE num_compare(VALUE self, VALUE rval) {
355
355
  VALUE ret, result, tmp_obj;
356
356
  int32_t tmp_n, klass;
@@ -477,7 +477,7 @@ static VALUE num_divmod(VALUE self, VALUE rval) {
477
477
  result_rem = rb_funcall( cDecNumber, rb_intern("new"), 0 ); \
478
478
  Data_Get_Struct(result_rem, decNumber, result_rem_ptr);
479
479
 
480
- // There might be a more efficient way to get these
480
+ /* There might be a more efficient way to get these */
481
481
  decNumberDivideInteger( result_int_ptr, self_ptr, rval_ptr, context_ptr );
482
482
  decNumberRemainder( result_rem_ptr, self_ptr, result_int_ptr, context_ptr);
483
483
  result_ary = rb_ary_new3( 2, result_int, result_rem );
@@ -515,7 +515,7 @@ static VALUE num_round(int argc, VALUE *argv, VALUE self) {
515
515
  rb_scan_args( argc, argv, "01", &rval );
516
516
  if ( NIL_P( rval ) ) {
517
517
  rval = INT2FIX( 0 );
518
- } else { // probably not necessary
518
+ } else { /* probably not necessary */
519
519
  if ( ! rb_obj_is_kind_of( rval, cDecNumber ) ) {
520
520
  rval = rb_funcall( rval, rb_intern("to_i"), 0 );
521
521
  }
@@ -553,7 +553,7 @@ void Init_dec_number() {
553
553
  DecContext
554
554
  ****/
555
555
 
556
- // *** constants and enums
556
+ /* *** constants and enums */
557
557
  enum rounding round;
558
558
  VALUE rounding_names, rounding_numbers, round_default_num;
559
559
  cDecContext = rb_define_class("DecContext", rb_cObject);
@@ -577,13 +577,13 @@ void Init_dec_number() {
577
577
  "up", "ROUND_UP", DEC_ROUND_UP );
578
578
  con_setup_rounding_constant( rounding_names, rounding_numbers,
579
579
  "up05", "ROUND_05UP", DEC_ROUND_05UP );
580
- // DEC_ROUND_DEFAULT is a macro with an extra ; so be careful
580
+ /* DEC_ROUND_DEFAULT is a macro with an extra ; so be careful */
581
581
  round = DEC_ROUND_DEFAULT;
582
582
  round_default_num = INT2FIX(round);
583
583
  rb_hash_aset( rounding_numbers, ID2SYM(rb_intern("default")), round_default_num );
584
584
  rb_define_const( cDecContext, "ROUND_DEFAULT", round_default_num );
585
585
 
586
- // *** methods
586
+ /* *** methods */
587
587
  rb_define_alloc_func(cDecContext, con_alloc);
588
588
  rb_define_method(cDecContext, "initialize", con_initialize, -1);
589
589
  rb_define_method(cDecContext, "rounding", con_get_rounding, 0);
@@ -3,7 +3,7 @@ require 'mkmf'
3
3
 
4
4
  decNumber_dir = './decNumber/'
5
5
 
6
- if RUBY_VERSION >= "1.9"
6
+ if RUBY_VERSION >= "1.9" and RUBY_VERSION <= "2.0"
7
7
  begin
8
8
  require "ruby_core_source"
9
9
  rescue LoadError
@@ -31,7 +31,13 @@ $defs += ["-I#{decNumber_dir}"]
31
31
  dir_config('dec_number', decNumber_dir, decNumber_dir)
32
32
  have_library('decNumber','decNumberVersion','decNumber.h') or raise 'decNumber library not found :('
33
33
 
34
- if RUBY_VERSION >= "1.9"
34
+ if RUBY_VERSION >= "2.0"
35
+ $defs.push("-DRUBY20")
36
+ unless create_makefile('dec_number')
37
+ STDERR.puts "\n\ncreate_makefile ate your cat2!"
38
+ exit(1)
39
+ end
40
+ elsif RUBY_VERSION >= "1.9"
35
41
  $defs.push("-DRUBY19")
36
42
  hdrs = Proc.new do
37
43
  have_header("vm_core.h")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dec_number
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-21 00:00:00.000000000 Z
12
+ date: 2012-08-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Wrapper for ICU-decNumber library
15
15
  email:
@@ -26,44 +26,55 @@ files:
26
26
  - ext/dec_number/NOTES
27
27
  - ext/dec_number/extconf.rb
28
28
  - ext/dec_number/bench.rb
29
+ - ext/dec_number/decNumber/decNumber.o
29
30
  - ext/dec_number/decNumber/decimal64.c
31
+ - ext/dec_number/decNumber/config.log
30
32
  - ext/dec_number/decNumber/config.h.in
31
33
  - ext/dec_number/decNumber/Makefile.am
32
34
  - ext/dec_number/decNumber/decPacked.h
33
35
  - ext/dec_number/decNumber/config.guess
36
+ - ext/dec_number/decNumber/stamp-h1
34
37
  - ext/dec_number/decNumber/example6.c
35
38
  - ext/dec_number/decNumber/configure.ac
36
39
  - ext/dec_number/decNumber/decDouble.c
37
40
  - ext/dec_number/decNumber/decQuad.c
38
41
  - ext/dec_number/decNumber/decimal64.h
39
42
  - ext/dec_number/decNumber/decNumberLocal.h
43
+ - ext/dec_number/decNumber/config.h
44
+ - ext/dec_number/decNumber/Makefile
40
45
  - ext/dec_number/decNumber/decNumber.c
41
46
  - ext/dec_number/decNumber/libdecNumber.a
42
47
  - ext/dec_number/decNumber/example2.c
43
48
  - ext/dec_number/decNumber/install-sh
49
+ - ext/dec_number/decNumber/libdecNumber.la
44
50
  - ext/dec_number/decNumber/decimal32.c
45
51
  - ext/dec_number/decNumber/example1.c
46
52
  - ext/dec_number/decNumber/depcomp
47
53
  - ext/dec_number/decNumber/decPacked.c
48
54
  - ext/dec_number/decNumber/decDPD.h
49
55
  - ext/dec_number/decNumber/config.sub
56
+ - ext/dec_number/decNumber/libdecContext.la
50
57
  - ext/dec_number/decNumber/example3.c
51
58
  - ext/dec_number/decNumber/decimal32.h
52
59
  - ext/dec_number/decNumber/example4.c
53
60
  - ext/dec_number/decNumber/example8.c
54
61
  - ext/dec_number/decNumber/Makefile.in
62
+ - ext/dec_number/decNumber/libtool
55
63
  - ext/dec_number/decNumber/ltmain.sh
56
64
  - ext/dec_number/decNumber/example7.c
57
65
  - ext/dec_number/decNumber/configure
58
66
  - ext/dec_number/decNumber/readme.txt
59
67
  - ext/dec_number/decNumber/decSingle.c
60
68
  - ext/dec_number/decNumber/aclocal.m4
69
+ - ext/dec_number/decNumber/config.status
61
70
  - ext/dec_number/decNumber/decQuad.h
62
71
  - ext/dec_number/decNumber/decDouble.h
63
72
  - ext/dec_number/decNumber/decContext.h
73
+ - ext/dec_number/decNumber/decContext.o
64
74
  - ext/dec_number/decNumber/decBasic.c
65
75
  - ext/dec_number/decNumber/decimal128.h
66
76
  - ext/dec_number/decNumber/decContext.c
77
+ - ext/dec_number/decNumber/decNumber.lo
67
78
  - ext/dec_number/decNumber/ICU-license.html
68
79
  - ext/dec_number/decNumber/decnumber.pdf
69
80
  - ext/dec_number/decNumber/autom4te.cache/output.1
@@ -78,6 +89,7 @@ files:
78
89
  - ext/dec_number/decNumber/decNumber.h
79
90
  - ext/dec_number/decNumber/missing
80
91
  - ext/dec_number/decNumber/example5.c
92
+ - ext/dec_number/decNumber/decContext.lo
81
93
  - ext/dec_number/decNumber/decSingle.h
82
94
  - ext/dec_number/decNumber/decCommon.c
83
95
  - ext/dec_number/decNumber/decimal128.c
@@ -87,6 +99,7 @@ files:
87
99
  - dec_number.gemspec
88
100
  - Gemfile
89
101
  - README
102
+ - dec_number-0.2.0.gem
90
103
  - .gemtest
91
104
  homepage: http://github.com/rubypanther/dec_number
92
105
  licenses: []
@@ -108,10 +121,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
121
  version: '0'
109
122
  requirements: []
110
123
  rubyforge_project: dec-number
111
- rubygems_version: 1.8.11
124
+ rubygems_version: 1.8.24
112
125
  signing_key:
113
126
  specification_version: 3
114
127
  summary: ICU-decNumber wrapper for arbitrary precision math with context objects
115
128
  test_files:
116
129
  - test/test_dec_number.rb
117
- has_rdoc: