aboutsummaryrefslogtreecommitdiff
path: root/sys/libmath/loop.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libmath/loop.h')
-rw-r--r--sys/libmath/loop.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/sys/libmath/loop.h b/sys/libmath/loop.h
deleted file mode 100644
index a877d84..0000000
--- a/sys/libmath/loop.h
+++ /dev/null
@@ -1,114 +0,0 @@
-#pragma once
-
-/* increment operator */
-#define INC2(x) INC_##x
-#define INC1(x) INC2(x)
-#define INC(x) INC1(x)
-
-#define INC_0 1
-#define INC_1 2
-#define INC_2 3
-#define INC_3 4
-#define INC_4 5
-#define INC_5 6
-#define INC_6 7
-#define INC_7 8
-#define INC_8 9
-#define INC_9 10
-#define INC_10 11
-#define INC_11 12
-#define INC_12 13
-#define INC_13 14
-#define INC_14 15
-#define INC_15 16
-
-#define ROUNDBY(x, n) ((x) & ~((n)-1))
-
-/* subtraction tables */
-#define SUB2(x, y) SUB_##x##_##y
-#define SUB1(x, y) SUB2(x, y)
-#define SUB(x, y) SUB1(x, y)
-#define SUB_8_0 8
-#define SUB_8_1 7
-#define SUB_8_2 6
-#define SUB_8_3 5
-#define SUB_8_4 4
-#define SUB_8_5 3
-#define SUB_8_6 2
-#define SUB_8_7 1
-#define SUB_8_8 0
-#define SUB_7_0 7
-#define SUB_7_1 6
-#define SUB_7_2 5
-#define SUB_7_3 4
-#define SUB_7_4 3
-#define SUB_7_5 2
-#define SUB_7_6 1
-#define SUB_7_7 0
-#define SUB_6_0 6
-#define SUB_6_1 5
-#define SUB_6_2 4
-#define SUB_6_3 3
-#define SUB_6_4 2
-#define SUB_6_5 1
-#define SUB_6_6 0
-#define SUB_5_0 5
-#define SUB_5_1 4
-#define SUB_5_2 3
-#define SUB_5_3 2
-#define SUB_5_4 1
-#define SUB_5_5 0
-#define SUB_4_0 4
-#define SUB_4_1 3
-#define SUB_4_2 2
-#define SUB_4_3 1
-#define SUB_4_4 0
-#define SUB_3_0 3
-#define SUB_3_1 2
-#define SUB_3_2 1
-#define SUB_3_3 0
-#define SUB_2_0 2
-#define SUB_2_1 1
-#define SUB_2_2 0
-#define SUB_1_0 1
-#define SUB_1_1 0
-
-/* rounding operator */
-#define ROUNDBY(x, n) ((x) & ~((n)-1))
-
-/* loop unrolling (vertical) */
-#define LOOP1(I,STMT,...) STMT(I,__VA_ARGS__)
-#define LOOP2(I,STMT,...) STMT(I,__VA_ARGS__) LOOP1(INC(I),STMT,__VA_ARGS__)
-#define LOOP3(I,STMT,...) STMT(I,__VA_ARGS__) LOOP2(INC(I),STMT,__VA_ARGS__)
-#define LOOP4(I,STMT,...) STMT(I,__VA_ARGS__) LOOP3(INC(I),STMT,__VA_ARGS__)
-#define LOOP5(I,STMT,...) STMT(I,__VA_ARGS__) LOOP4(INC(I),STMT,__VA_ARGS__)
-#define LOOP6(I,STMT,...) STMT(I,__VA_ARGS__) LOOP5(INC(I),STMT,__VA_ARGS__)
-#define LOOP7(I,STMT,...) STMT(I,__VA_ARGS__) LOOP6(INC(I),STMT,__VA_ARGS__)
-#define LOOP8(I,STMT,...) STMT(I,__VA_ARGS__) LOOP7(INC(I),STMT,__VA_ARGS__)
-#define LOOP9(I,STMT,...) STMT(I,__VA_ARGS__) LOOP8(INC(I),STMT,__VA_ARGS__)
-#define LOOP10(I,STMT,...) STMT(I,__VA_ARGS__) LOOP9(INC(I),STMT,__VA_ARGS__)
-#define LOOP11(I,STMT,...) STMT(I,__VA_ARGS__) LOOP10(INC(I),STMT,__VA_ARGS__)
-#define LOOP12(I,STMT,...) STMT(I,__VA_ARGS__) LOOP11(INC(I),STMT,__VA_ARGS__)
-#define LOOP13(I,STMT,...) STMT(I,__VA_ARGS__) LOOP12(INC(I),STMT,__VA_ARGS__)
-#define LOOP14(I,STMT,...) STMT(I,__VA_ARGS__) LOOP13(INC(I),STMT,__VA_ARGS__)
-#define LOOP15(I,STMT,...) STMT(I,__VA_ARGS__) LOOP14(INC(I),STMT,__VA_ARGS__)
-#define LOOP16(I,STMT,...) STMT(I,__VA_ARGS__) LOOP15(INC(I),STMT,__VA_ARGS__)
-
-#define _LOOP_(n,I,STMT,...) LOOP##n(I,STMT,__VA_ARGS__)
-#define LOOP(n,I,STMT,...) _LOOP_(n,I,STMT,__VA_ARGS__)
-
-/* loop expansion (horizontal) */
-#define EXPAND0(I,TERM,OP,...)
-#define EXPAND1(I,TERM,OP,...) TERM(I,__VA_ARGS__)
-#define EXPAND2(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND1(INC(I),TERM,OP,__VA_ARGS__)
-#define EXPAND3(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND2(INC(I),TERM,OP,__VA_ARGS__)
-#define EXPAND4(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND3(INC(I),TERM,OP,__VA_ARGS__)
-#define EXPAND5(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND4(INC(I),TERM,OP,__VA_ARGS__)
-#define EXPAND6(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND5(INC(I),TERM,OP,__VA_ARGS__)
-#define EXPAND7(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND6(INC(I),TERM,OP,__VA_ARGS__)
-#define EXPAND8(I,TERM,OP,...) TERM(I,__VA_ARGS__) OP EXPAND7(INC(I),TERM,OP,__VA_ARGS__)
-
-#define _EXPAND_(n,I,TERM,OP,...) EXPAND##n(I,TERM,OP,__VA_ARGS__)
-#define EXPAND(n,I,TERM,OP,...) _EXPAND_(n,I,TERM,OP,__VA_ARGS__)
-#define EXPAND_TRI1(n,I,TERM,OP,...) EXPAND(n,I,TERM,OP,__VA_ARGS__)
-#define EXPAND_TRI(n,I,TERM,OP,...) EXPAND_TRI1(SUB(n,I),I,TERM,OP,__VA_ARGS__)