X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=rhawk;h=88112734d6ffbd5d69fa873a6c58766870c68098;hb=cf7a03157ed581ada350fe636c00804c45ef74cc;hp=b2173fc1a7d05d169a2d5324004e4fe0c98aa932;hpb=fed08574b8588fc7aaece73e5c93840db56ac00b;p=~andy%2Frhawk diff --git a/rhawk b/rhawk index b2173fc..8811273 100755 --- a/rhawk +++ b/rhawk @@ -424,10 +424,29 @@ tolower($0) ~ /\/ { } # Vote relay -DST != "#rhnoise" && /\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ { +DST != "#rhnoise" && DST != NICK && +/\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ { 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("") }