From cf7a03157ed581ada350fe636c00804c45ef74cc Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Fri, 11 Sep 2015 07:13:58 +0000 Subject: [PATCH] Add fun operators --- rhawk | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rhawk b/rhawk index f1478f6..8811273 100755 --- a/rhawk +++ b/rhawk @@ -429,6 +429,24 @@ DST != "#rhnoise" && DST != NICK && say("#rhnoise", "(" DST ") " FROM ": " MSG); } +# Fun operators +function bang(a, b) { + if (a=="nan") return "nan"; + if (b=="nan") return "nan"; + if (a==b) return "nan"; + if (a==0) return "+0"; + if (b==0) return "-0"; + return 1/(1/a - 1/b); +} + +/^ *[+-]?[0-9]*\.?[0-9]+( *\? *[+-]?[0-9]*\.?[0-9]+)+ *$/ { + gsub(/?/, " "); + _num = $1+0; + for (_i=2; _i<=NF; _i++) + _num = bang(_num, $_i+0); + reply(_num); +} + # Misc { fflush("") } -- 2.43.2