Class: Kumi::IR::Vec::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/kumi/ir/vec/validator.rb

Constant Summary collapse

ALLOWED_OPS =
%i[
  constant
  load_input
  load_field
  map
  select
  axis_broadcast
  axis_shift
  axis_index
  reduce
  make_object
].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(vec_module) ⇒ Validator

Returns a new instance of Validator.



25
26
27
# File 'lib/kumi/ir/vec/validator.rb', line 25

def initialize(vec_module)
  @vec_module = vec_module
end

Class Method Details

.validate!(vec_module) ⇒ Object



20
21
22
23
# File 'lib/kumi/ir/vec/validator.rb', line 20

def self.validate!(vec_module)
  new(vec_module).validate!
  vec_module
end

Instance Method Details

#validate!Object



29
30
31
# File 'lib/kumi/ir/vec/validator.rb', line 29

def validate!
  vec_module.each_function { |fn| validate_function(fn) }
end