module Rus3::Procedure::Vector

Provides procedures to operate a vector.

Constants

UNDEF

Public Instance Methods

list_to_vector(lst) click to toggle source
  • library procedure (R5RS): (list->vector list)

  • procedre (R7RS): (list->vector list)

# File lib/rus3/procedure/vector.rb, line 69
def list_to_vector(lst)
  Rus3::Vector.list_to_vector(lst)
end
make_vector(k, fill = UNDEF) click to toggle source
  • procedure (R5RS/R7RS): (make-vector k) or (make-vector k fill)

# File lib/rus3/procedure/vector.rb, line 19
def make_vector(k, fill = UNDEF)
  Rus3::Vector.new(k, fill)
end
vector(*objs) click to toggle source
  • library procedure (R5RS/R7RS): (vector obj …)

# File lib/rus3/procedure/vector.rb, line 25
def vector(*objs)
  Rus3::Vector.vector(*objs)
end
vector_fill!(vec, fill, start_index = 0, end_index = -1) click to toggle source
  • library procedure (R5RS): (vector-fill! vector fill)

  • procedure (R7RS): (vector-fill! vector fill start end)

# File lib/rus3/procedure/vector.rb, line 76
def vector_fill!(vec, fill, start_index = 0, end_index = -1)
  end_index = vec.length if end_index == -1

  check_vector(vec)
  check_limits(start_index, end_index, vec.length)

  start_index.upto(end_index - 1) {|i| vec.set!(i, fill)}
end
vector_length(vec) click to toggle source
  • procedure (R5RS/R7RS): (vector-length vector)

# File lib/rus3/procedure/vector.rb, line 31
def vector_length(vec)
  check_vector(vec)
  vec.length
end
vector_ref(vec, k) click to toggle source
  • procedure (R5RS/R7RS): (vector-ref vector, k)

# File lib/rus3/procedure/vector.rb, line 38
def vector_ref(vec, k)
  check_vector(vec)
  check_upper_limit(k, vec.length)
  vec.ref(k)
end
vector_set!(vec, k, obj) click to toggle source
  • procedure (R5RS/R7RS): (vector-set! vector k obj)

# File lib/rus3/procedure/vector.rb, line 46
def vector_set!(vec, k, obj)
  check_vector(vec)
  Rus3::Vector.vector_set!(vec, k, obj)
end
vector_to_list(vec, start_index = 0, end_index = -1) click to toggle source
  • library procedure (R5RS): (vector->list vector)

  • procedure (R7RS):

    (vector->list vector)
    (vector->list vector start)
    (vector->list vector start end)
# File lib/rus3/procedure/vector.rb, line 57
def vector_to_list(vec, start_index = 0, end_index = -1)
  end_index = vec.length if end_index == -1

  check_vector(vec)
  check_limits(start_index, end_index, vec.length)

  list(*vec.ref(start_index...end_index))
end