Method: Charty::VectorAdapters::NArrayAdapter#notnull

Defined in:
lib/charty/vector_adapters/narray_adapter.rb

#notnullObject



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/charty/vector_adapters/narray_adapter.rb', line 158

def notnull
  case data
  when Numo::RObject
    i, n = 0, length
    notnull_data = Numo::Bit.zeros(n)
    while i < n
      notnull_data[i] = ! Util.missing?(data[i])
      i += 1
    end
  when ->(x) { x.respond_to?(:isnan) }
    notnull_data = ~data.isnan
  else
    notnull_data = Numo::Bit.ones(length)
  end
  Charty::Vector.new(notnull_data, index: index, name: name)
end