Exemplo n.º 1
0
def make_vector(arguments):
    check_argument_number('make-vector', arguments, 1, 2)

    # todo: type check this is an integer
    vector_length = arguments[0].value

    vector = Vector(vector_length)

    # If we're given an initialisation value, use it.
    if len(arguments) == 2:
        init_value = arguments[1]
        for i in range(vector_length):
            vector[i] = init_value
    
    return vector
Exemplo n.º 2
0
 def test_vector_fill(self):
     program = "(let ((v (make-vector 1))) (vector-fill! v 5) v)"
     self.assertEvaluatesAs(
         program,
         Vector.from_list([Integer(5)]))
Exemplo n.º 3
0
 def test_list_to_vector(self):
     program = "(list->vector (list 1 2))"
     self.assertEvaluatesAs(
         program,
         Vector.from_list([Integer(1), Integer(2)]))
Exemplo n.º 4
0
 def test_vector(self):
     program = "(vector 1 2)"
     self.assertEvaluatesAs(
         program,
         Vector.from_list([Integer(1), Integer(2)]))
Exemplo n.º 5
0
 def test_make_vector_with_init(self):
     program = '(make-vector 1 3)'
     self.assertEvaluatesAs(program, Vector.from_list([Integer(3)]))
Exemplo n.º 6
0
 def test_vector_fill(self):
     program = "(let ((v (make-vector 1))) (vector-fill! v 5) v)"
     self.assertEvaluatesAs(program, Vector.from_list([Integer(5)]))
Exemplo n.º 7
0
 def test_list_to_vector(self):
     program = "(list->vector (list 1 2))"
     self.assertEvaluatesAs(program,
                            Vector.from_list([Integer(1),
                                              Integer(2)]))
Exemplo n.º 8
0
 def test_vector(self):
     program = "(vector 1 2)"
     self.assertEvaluatesAs(program,
                            Vector.from_list([Integer(1),
                                              Integer(2)]))
Exemplo n.º 9
0
 def test_make_vector_with_init(self):
     program = '(make-vector 1 3)'
     self.assertEvaluatesAs(program, Vector.from_list([Integer(3)]))
Exemplo n.º 10
0
    def test_make_vector(self):
        program = '(make-vector 0)'
        self.assertEvaluatesAs(program, Vector(0))

        program = '(make-vector 2)'
        self.assertEvaluatesAs(program, Vector(2))