Class: BOAST::Dimension

Inherits:
Object show all
Defined in:
lib/BOAST/Algorithm.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(v1 = nil, v2 = nil) ⇒ Dimension

Returns a new instance of Dimension.



1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
# File 'lib/BOAST/Algorithm.rb', line 1058

def initialize(v1=nil,v2=nil)
  @size = nil
  @val1 = nil
  @val2 = nil
  if v2.nil? and v1 then
    @val1 = BOAST::get_array_start
    @val2 = v1 + BOAST::get_array_start - 1
    @size = v1
  else
    @val1 = v1
    @val2 = v2
  end
end

Instance Attribute Details

#sizeObject (readonly)

Returns the value of attribute size.



1057
1058
1059
# File 'lib/BOAST/Algorithm.rb', line 1057

def size
  @size
end

#val1Object (readonly)

Returns the value of attribute val1.



1055
1056
1057
# File 'lib/BOAST/Algorithm.rb', line 1055

def val1
  @val1
end

#val2Object (readonly)

Returns the value of attribute val2.



1056
1057
1058
# File 'lib/BOAST/Algorithm.rb', line 1056

def val2
  @val2
end

Class Method Details

.parens(*args, &block) ⇒ Object



1051
1052
1053
# File 'lib/BOAST/Algorithm.rb', line 1051

def self.parens(*args,&block)
  return self::new(*args,&block)
end

Instance Method Details

#to_sObject



1088
1089
1090
# File 'lib/BOAST/Algorithm.rb', line 1088

def to_s
  self.to_str
end

#to_strObject



1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
# File 'lib/BOAST/Algorithm.rb', line 1071

def to_str
  s = ""
  if @val2 then
    if BOAST::get_lang == FORTRAN then
      s += @val1.to_s
      s += ":"
      s += @val2.to_s
    elsif [C, CL, CUDA].include?( BOAST::get_lang ) then
      s += (@val2 - @val1 + 1).to_s
    end
  elsif @val1.nil? then
    return nil
  else
    s += @val1.to_s
  end
  return s
end