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.



965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'lib/BOAST/Algorithm.rb', line 965

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.



964
965
966
# File 'lib/BOAST/Algorithm.rb', line 964

def size
  @size
end

#val1Object (readonly)

Returns the value of attribute val1.



962
963
964
# File 'lib/BOAST/Algorithm.rb', line 962

def val1
  @val1
end

#val2Object (readonly)

Returns the value of attribute val2.



963
964
965
# File 'lib/BOAST/Algorithm.rb', line 963

def val2
  @val2
end

Class Method Details

.parens(*args, &block) ⇒ Object



958
959
960
# File 'lib/BOAST/Algorithm.rb', line 958

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

Instance Method Details

#to_sObject



995
996
997
# File 'lib/BOAST/Algorithm.rb', line 995

def to_s
  self.to_str
end

#to_strObject



978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
# File 'lib/BOAST/Algorithm.rb', line 978

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