From c216ac3049102422a41ba2c9476b0dbf4f3e4034 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 16 Jul 2017 00:59:42 +0200 Subject: Use #include instead of #define MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/blind-quaternion-product.c | 52 +++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 24 deletions(-) (limited to 'src/blind-quaternion-product.c') diff --git a/src/blind-quaternion-product.c b/src/blind-quaternion-product.c index 02bed9d..72744da 100644 --- a/src/blind-quaternion-product.c +++ b/src/blind-quaternion-product.c @@ -1,32 +1,11 @@ /* See LICENSE file for copyright and license details. */ +#ifndef TYPE #include "common.h" USAGE("right-hand-stream") -#define PROCESS(TYPE, SUFFIX)\ - static void\ - process_##SUFFIX(struct stream *left, struct stream *right, size_t n)\ - {\ - size_t i;\ - TYPE *lx, *ly, *lz, *la, *rx, *ry, *rz, *ra, x, y, z, a;\ - for (i = 0; i < n; i += 4 * sizeof(TYPE)) {\ - lx = ((TYPE *)(left->buf + i)) + 0, rx = ((TYPE *)(right->buf + i)) + 0;\ - ly = ((TYPE *)(left->buf + i)) + 1, ry = ((TYPE *)(right->buf + i)) + 1;\ - lz = ((TYPE *)(left->buf + i)) + 2, rz = ((TYPE *)(right->buf + i)) + 2;\ - la = ((TYPE *)(left->buf + i)) + 3, ra = ((TYPE *)(right->buf + i)) + 3;\ - x = *lx * *rx - *ly * *ry - *lz * *rz - *la * *ra;\ - y = *lz * *ra - *la * *rz + *lx * *ry + *ly * *rx;\ - z = *la * *ry - *ly * *rz + *lx * *rz + *lz * *rx;\ - a = *ly * *rz - *lz * *rz + *lx * *ra + *la * *rx;\ - *lx = x;\ - *ly = y;\ - *lz = z;\ - *la = a;\ - }\ - } - -PROCESS(double, lf) -PROCESS(float, f) +#define FILE "blind-quaternion-product.c" +#include "define-functions.h" int main(int argc, char *argv[]) @@ -51,3 +30,28 @@ main(int argc, char *argv[]) process_two_streams(&left, &right, STDOUT_FILENO, "", process); return 0; } + +#else + +static void +PROCESS(struct stream *left, struct stream *right, size_t n) +{ + size_t i; + TYPE *lx, *ly, *lz, *la, *rx, *ry, *rz, *ra, x, y, z, a; + for (i = 0; i < n; i += 4 * sizeof(TYPE)) { + lx = ((TYPE *)(left->buf + i)) + 0, rx = ((TYPE *)(right->buf + i)) + 0; + ly = ((TYPE *)(left->buf + i)) + 1, ry = ((TYPE *)(right->buf + i)) + 1; + lz = ((TYPE *)(left->buf + i)) + 2, rz = ((TYPE *)(right->buf + i)) + 2; + la = ((TYPE *)(left->buf + i)) + 3, ra = ((TYPE *)(right->buf + i)) + 3; + x = *lx * *rx - *ly * *ry - *lz * *rz - *la * *ra; + y = *lz * *ra - *la * *rz + *lx * *ry + *ly * *rx; + z = *la * *ry - *ly * *rz + *lx * *rz + *lz * *rx; + a = *ly * *rz - *lz * *rz + *lx * *ra + *la * *rx; + *lx = x; + *ly = y; + *lz = z; + *la = a; + } +} + +#endif -- cgit v1.2.3-70-g09d2