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 |