class Rserve::REXP::Double
Constants
- NA
- NA_ARRAY
Attributes
payload[R]
Public Class Methods
infinite?(value)
click to toggle source
# File lib/rserve/rexp/double.rb, line 63 def self.infinite?(value) value.respond_to?(:infinite?) and !value.infinite?.nil? end
new(data, attrs=nil)
click to toggle source
Calls superclass method
Rserve::REXP::new
# File lib/rserve/rexp/double.rb, line 18 def initialize(data, attrs=nil) @payload=case data when Numeric [data.to_f] when Array data else raise ArgumentError, "Should be Numeric or Array" end super(attrs) end
Public Instance Methods
as_doubles()
click to toggle source
# File lib/rserve/rexp/double.rb, line 43 def as_doubles @payload.map do |v| na?(v) ? nil : v.to_f end end
as_integers()
click to toggle source
# File lib/rserve/rexp/double.rb, line 38 def as_integers @payload.map do |v| (na?(v) or Double.infinite?(v)) ? nil : v.to_i end end
as_strings()
click to toggle source
# File lib/rserve/rexp/double.rb, line 48 def as_strings @payload.map {|v| v.to_f.to_s} end
integer?()
click to toggle source
# File lib/rserve/rexp/double.rb, line 32 def integer? true end
length()
click to toggle source
# File lib/rserve/rexp/double.rb, line 29 def length payload.length end
na?(value=:nil)
click to toggle source
# File lib/rserve/rexp/double.rb, line 52 def na?(value=:nil) #if value.nil? # @payload.map {|v| v.respond_to? :nan and v.nan?} #else # value.respond_to? :nan? and value.nan? #end #p @payload return _na?(value) unless value==:nil @payload.map {|v| _na?(v) } end
numeric?()
click to toggle source
# File lib/rserve/rexp/double.rb, line 35 def numeric? true end
to_debug_string()
click to toggle source
Calls superclass method
Rserve::REXP#to_debug_string
# File lib/rserve/rexp/double.rb, line 68 def to_debug_string t=super t << "{" << @payload.map(&:to_s).join(",") << "}" end
to_ruby_internal()
click to toggle source
Calls superclass method
Rserve::REXP::Vector#to_ruby_internal
# File lib/rserve/rexp/double.rb, line 72 def to_ruby_internal if dim if dim.size==2 as_matrix else as_nested_array end else super end end
Protected Instance Methods
_na?(value)
click to toggle source
# File lib/rserve/rexp/double.rb, line 86 def _na?(value) return true if value.nil? if value.is_a? Float return true if value.nan? return false if value.infinite? end value.to_i == NA end