rserve-client 0.2.3 → 0.2.4
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.
- data.tar.gz.sig +0 -0
- data/History.txt +3 -0
- data/lib/rserve.rb +1 -1
- data/lib/rserve/rexp.rb +1 -1
- data/lib/rserve/rexp/double.rb +2 -2
- data/spec/rserve_rexpfactory_spec.rb +24 -2
- metadata +3 -3
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
data/lib/rserve.rb
CHANGED
data/lib/rserve/rexp.rb
CHANGED
@@ -406,7 +406,7 @@ module Rserve
|
|
406
406
|
end
|
407
407
|
|
408
408
|
# Hack: change attribute row.names according to spec
|
409
|
-
if !attr.nil? and attr.as_list.has_name? 'class' and attr.as_list['class'].as_string=='data.frame' and attr.as_list['row.names'].as_integers[0]==REXP::Integer::NA
|
409
|
+
if !attr.nil? and attr.as_list.has_name? 'class' and attr.as_list['class'].as_string=='data.frame' and (attr.as_list['row.names'].is_a?(REXP::Integer)) and attr.as_list['row.names'].as_integers[0]==REXP::Integer::NA
|
410
410
|
v.attributes['row.names']=(1..(-attr.as_list['row.names'].as_integers[1])).to_a
|
411
411
|
end
|
412
412
|
|
data/lib/rserve/rexp/double.rb
CHANGED
@@ -49,8 +49,8 @@ module Rserve
|
|
49
49
|
#else
|
50
50
|
# value.respond_to? :nan? and value.nan?
|
51
51
|
#end
|
52
|
-
return value.to_i
|
53
|
-
@payload.map {|v| v.to_i==NA}
|
52
|
+
return ((value.is_a? Float and value.nan?) or value.to_i==NA) unless value.nil?
|
53
|
+
@payload.map {|v| ((v.is_a? Float and v.nan?) or v.to_i==NA)}
|
54
54
|
end
|
55
55
|
def to_debug_string
|
56
56
|
t=super
|
@@ -55,9 +55,21 @@ describe Rserve::Protocol::REXPFactory do
|
|
55
55
|
la.as_integers.should==(-10..10).to_a
|
56
56
|
end
|
57
57
|
it "should process double vector with NA" do
|
58
|
-
la=@r.eval("c(
|
58
|
+
la=@r.eval("c(0.03091136, NA, 0.07456851, 0.90000000)")
|
59
59
|
la.should be_instance_of(Rserve::REXP::Double)
|
60
|
-
la.na?.should==[false,false,
|
60
|
+
la.na?.should==[false,true, false, false]
|
61
|
+
end
|
62
|
+
it "should process double vector with NaN" do
|
63
|
+
la=@r.eval("c(NaN,1.3)")
|
64
|
+
la.should be_instance_of(Rserve::REXP::Double)
|
65
|
+
la.na?.should==[true,false]
|
66
|
+
end
|
67
|
+
it "should process list with double vectors with NA" do
|
68
|
+
la=@r.eval("list(RMSE=c(0.03091136, NA, 0.07456851, 0.90000000))")
|
69
|
+
vector=la.as_list[0]
|
70
|
+
vector.should be_instance_of(Rserve::REXP::Double)
|
71
|
+
vector.na?.should==[false,true, false, false]
|
72
|
+
|
61
73
|
|
62
74
|
end
|
63
75
|
it "should process string vector" do
|
@@ -121,6 +133,16 @@ describe Rserve::Protocol::REXPFactory do
|
|
121
133
|
la.attr.as_list['class'].to_ruby.should=="data.frame"
|
122
134
|
la.attr.as_list['row.names'].to_ruby.should==[nil,-10]
|
123
135
|
end
|
136
|
+
it "should process data.frame with string row.names" do
|
137
|
+
@r.void_eval("df<-data.frame(a=1:10,b=1:10);
|
138
|
+
attr(df,'row.names')<-c('a','b','c',4,5,6,7,8,9,10);")
|
139
|
+
la=@r.eval("df")
|
140
|
+
la.should be_true
|
141
|
+
la.attr.as_list['names'].to_ruby.should==%w{a b}
|
142
|
+
la.attr.as_list['class'].to_ruby.should=="data.frame"
|
143
|
+
la.attr.as_list['row.names'].to_ruby.should==%w{a b c 4 5 6 7 8 9 10}
|
144
|
+
end
|
145
|
+
|
124
146
|
it "should process a nested array" do
|
125
147
|
@r.void_eval("c=1:8; attr(c,'dim')<-c(2,2,2)")
|
126
148
|
la=@r.eval("c")
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 4
|
9
|
+
version: 0.2.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Claudio Bustos
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
rpP0jjs0
|
36
36
|
-----END CERTIFICATE-----
|
37
37
|
|
38
|
-
date: 2010-07-
|
38
|
+
date: 2010-07-06 00:00:00 -04:00
|
39
39
|
default_executable:
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
metadata.gz.sig
CHANGED
Binary file
|