class Ikra::Translator::CommandTranslator::ForLoopKernelLauncher

Attributes

before_loop[R]
from_expr[R]
to_expr[R]
var_name[R]

Public Class Methods

new( kernel_builder:, from_expr: "0", to_expr:, var_name: "i", before_loop: "") click to toggle source
Calls superclass method
# File lib/translator/kernel_launcher/for_loop_kernel_launcher.rb, line 5
def initialize(
    kernel_builder:, 
    from_expr: "0", 
    to_expr:, 
    var_name: "i", 
    before_loop: "")

    super(kernel_builder)
    @from_expr = from_expr
    @to_expr = to_expr
    @var_name = var_name
    @before_loop = before_loop
end

Public Instance Methods

build_kernel_launcher() click to toggle source
Calls superclass method
# File lib/translator/kernel_launcher/for_loop_kernel_launcher.rb, line 24
def build_kernel_launcher
    Log.info("Building for-loop kernel launcher")

    assert_ready_to_build

    result = before_loop + "\n"
    result = result + "for (int #{var_name} = #{from_expr}; #{var_name}  < #{to_expr}; #{var_name} ++)\n{"

    result = result + super
    result = result + "\n}\n"

    return result
end