From 7668d984110d4cab09c2359c23cf760929dbb6e5 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 4 Apr 2015 16:06:53 +0200 Subject: Experimental --- monad.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/monad.go b/monad.go index 14a1d68..083a3de 100644 --- a/monad.go +++ b/monad.go @@ -9,7 +9,19 @@ var monads = map[rune]Monad{ '÷': reciprocal, } -func identity(d complex128) complex128 { return d } +func identity(d complex128) complex128 { return cmplx.Conj(d) } func negate(d complex128) complex128 { return -d } func direction(d complex128) complex128 { return d / complex(cmplx.Abs(d), 0) } func reciprocal(d complex128) complex128 { return 1.0 / d } + +var dyads = map[rune]Dyad{ + '+': plus, + '-': minus, + '×': times, + '÷': divide, +} + +func plus(a, w complex128) complex128 { return a + w } +func minus(a, w complex128) complex128 { return a - w } +func times(a, w complex128) complex128 { return a * w } +func divide(a, w complex128) complex128 { return a / w } -- cgit v1.2.3