commit 2debbbe6e70b66357fa510850b57c47406a87249
parent 1911be8e3b716e895efc88a05be3c47509f26747
Author: Mattias Andrée <maandree@kth.se>
Date: Wed, 25 Jan 2017 16:56:05 +0100
blind-arithm: add abs
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat:
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/man/blind-arithm.1 b/man/blind-arithm.1
@@ -50,13 +50,18 @@ is the value of the right-hand operand.
.TP
.B log
Calculate the logarithm of the left-hand operand
-and divid it by the logarithm of the rigth-hand operand.
+and divide it by the logarithm of the rigth-hand operand.
.TP
.B min
Select the lowest operand.
.TP
.B max
Select the highest operand.
+.TP
+.B abs
+Calculate the the sum of absolute value of the left-hand
+operand subtracted by the right-hand operand, and the
+right-hand operand
.SH OPTIONS
.TP
.B -a
diff --git a/src/blind-arithm.c b/src/blind-arithm.c
@@ -26,7 +26,8 @@ typedef void (*process_func)(struct stream *left, struct stream *right, size_t n
X(exp, *lh = pow(*lh, rh))\
X(log, *lh = log(*lh) / log(rh))\
X(min, *lh = *lh < rh ? *lh : rh)\
- X(max, *lh = *lh > rh ? *lh : rh)
+ X(max, *lh = *lh > rh ? *lh : rh)\
+ X(abs, *lh = fabs(*lh - rh) + rh)
#define X(NAME, ALGO)\
static void\