source: benchmark/vector/vec2_notemplates.cfa@ 2856982c

ADT ast-experimental
Last change on this file since 2856982c was 1188195, checked in by Dmitry Kobets <dkobets@…>, 6 years ago

Finished floating point vec2

  • Property mode set to 100644
File size: 1.1 KB
Line 
1#include "../../libcfa/src/vec/vec2_f.hfa"
2/* #include <fstream.hfa> */
3#define BENCH_N 1000000000
4#include "../bench.h"
5
6int main(int argc, char* argv[]) {
7 volatile vec2 v1 = {1,2};
8 volatile vec2 v2 = {20.5, 30.2};
9
10 {
11 BENCH(
12 for (n) {
13 volatile float res = dot(v1, v2);
14 asm volatile ("":::"memory");
15 },
16 dot_b
17 );
18 printf("dot: %g\n", dot_b);
19 }
20
21 {
22 BENCH(
23 for (n) {
24 volatile vec2 res = v1 + v2;
25 asm volatile ("":::"memory");
26 },
27 add_b
28 );
29 printf("vector addition: %g\n", add_b);
30 }
31
32 {
33 BENCH(
34 for (n) {
35 volatile vec2 res = normalize(v1);
36 asm volatile ("":::"memory");
37 },
38 normalize_b
39 );
40 printf("normalize: %g\n", normalize_b);
41 }
42
43 {
44 BENCH(
45 for (n) {
46 volatile vec2 res = reflect(v1, v2);
47 asm volatile ("":::"memory");
48 },
49 reflect_b
50 );
51 printf("reflect : %g\n", reflect_b);
52 }
53}
Note: See TracBrowser for help on using the repository browser.