e4456a82d037a69b77feb72087e5e6fffc104987
[libfirm] / vector.c
1 #include "adt/array.h"
2
3 #include "vector.h"
4
5 vector *vector_copy(pbqp *pbqp, vector *v)
6 {
7         int i;
8         int len;
9         vector *copy = obstack_alloc(pbqp->obstack, sizeof(*copy));
10
11         assert(copy);
12
13         len = v->len;
14
15         for (i = 0; i < len; ++i) {
16                 copy->entries[i] = v->entries[i];
17         }
18
19         return copy;
20 }
21
22 void vector_add(vector *sum, vector *summand)
23 {
24         int i;
25         int len;
26
27         assert(sum);
28         assert(summand);
29         assert(sum->len == summand->len);
30
31         len = sum->len;
32
33         for (i = 0; i < len; ++i) {
34                 sum->entries[i] += summand->entries[i];
35         }
36 }