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_cross
  axis_outer
  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.



27
28
29
# File 'lib/kumi/ir/vec/validator.rb', line 27

def initialize(vec_module)
  @vec_module = vec_module
end

Class Method Details

.validate!(vec_module) ⇒ Object



22
23
24
25
# File 'lib/kumi/ir/vec/validator.rb', line 22

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

Instance Method Details

#validate!Object



31
32
33
# File 'lib/kumi/ir/vec/validator.rb', line 31

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