Class: RLSL::Prism::Emitters::TargetProfile

Inherits:
Struct
  • Object
show all
Defined in:
lib/rlsl/prism/emitters/target_profile.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**attributes) ⇒ TargetProfile

Returns a new instance of TargetProfile.



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 18

def initialize(**attributes)
  super(
    type_map: attributes.fetch(:type_map, {}).freeze,
    vector_constructors: attributes.fetch(:vector_constructors, {}).freeze,
    matrix_constructors: attributes.fetch(:matrix_constructors, {}).freeze,
    texture_functions: attributes.fetch(:texture_functions, {}).freeze,
    default_type_name: attributes.fetch(:default_type_name, "float"),
    math_functions: attributes.fetch(:math_functions, {}).freeze,
    vector_ops: attributes.fetch(:vector_ops, {}).freeze,
    call_resolver: attributes[:call_resolver],
    binary_op_resolver: attributes[:binary_op_resolver]
  )
end

Instance Attribute Details

#binary_op_resolverObject

Returns the value of attribute binary_op_resolver

Returns:

  • (Object)

    the current value of binary_op_resolver



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def binary_op_resolver
  @binary_op_resolver
end

#call_resolverObject

Returns the value of attribute call_resolver

Returns:

  • (Object)

    the current value of call_resolver



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def call_resolver
  @call_resolver
end

#default_type_nameObject

Returns the value of attribute default_type_name

Returns:

  • (Object)

    the current value of default_type_name



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def default_type_name
  @default_type_name
end

#math_functionsObject

Returns the value of attribute math_functions

Returns:

  • (Object)

    the current value of math_functions



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def math_functions
  @math_functions
end

#matrix_constructorsObject

Returns the value of attribute matrix_constructors

Returns:

  • (Object)

    the current value of matrix_constructors



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def matrix_constructors
  @matrix_constructors
end

#texture_functionsObject

Returns the value of attribute texture_functions

Returns:

  • (Object)

    the current value of texture_functions



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def texture_functions
  @texture_functions
end

#type_mapObject

Returns the value of attribute type_map

Returns:

  • (Object)

    the current value of type_map



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def type_map
  @type_map
end

#vector_constructorsObject

Returns the value of attribute vector_constructors

Returns:

  • (Object)

    the current value of vector_constructors



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def vector_constructors
  @vector_constructors
end

#vector_opsObject

Returns the value of attribute vector_ops

Returns:

  • (Object)

    the current value of vector_ops



6
7
8
# File 'lib/rlsl/prism/emitters/target_profile.rb', line 6

def vector_ops
  @vector_ops
end