Mercurial > vec
annotate test/test.cc @ 48:7d55b2bf8152 default tip
vec: these macros literally never worked, oops
| author | Paper <paper@tflc.us> |
|---|---|
| date | Sat, 09 Aug 2025 16:03:34 -0400 |
| parents | 4b5a557aa64f |
| children |
| rev | line source |
|---|---|
|
17
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
1 #include "vec/vec.h" |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
2 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
3 #include <iostream> |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
4 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
5 /* this test makes sure that vec can be included under C++ */ |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
6 int main(void) |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
7 { |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
8 int ret = 0; |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
9 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
10 VUINT32x8_ALIGNED_ARRAY(varrin); |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
11 VUINT32x8_ALIGNED_ARRAY(varrout); |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
12 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
13 for (int i = 0; i < 8; i++) |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
14 varrin[i] = i; |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
15 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
16 vuint32x8 vec = vuint32x8_load_aligned(varrin); |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
17 vec = vuint32x8_add(vec, vec); |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
18 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
19 vuint32x8_store_aligned(vec, varrout); |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
20 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
21 for (int i = 0; i < 8; i++) |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
22 if (varrout[i] != (uint32_t)(varrin[i] + varrin[i])) |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
23 ret |= 1; |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
24 |
|
41dd962abdd1
*: allow compiling vec in a C++ translation unit
Paper <paper@tflc.us>
parents:
diff
changeset
|
25 return ret; |
|
37
4b5a557aa64f
*: turns out extern is a practical joke. rewrite to be always inline again
Paper <paper@tflc.us>
parents:
17
diff
changeset
|
26 } |
