diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-25 19:28:31 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-25 19:28:31 +0000 |
commit | 57a86f761605b6261d1045558c9cb7c83d723b60 (patch) | |
tree | c8b6d6c234156daafaafce9667932434496f6969 /inverse.c | |
parent | 1bf60c0cfc8e26d4f9e92e044d37169f55ac170b (diff) |
Add under ⍢ and obverse ⍫
Teach inverse() that the inverse of f⍫g is g⍫f
Diffstat (limited to 'inverse.c')
-rw-r--r-- | inverse.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -7,6 +7,15 @@ Function inverse(Function f) { + /* TODO figure out a good way to structure this code */ + if(f.type == FunctypeOp && f.operator.type == OperatortypePrim && f.operator.code == 9 && f.operator.dyadic){ + /* obverse */ + Function newf = f; + newf.operator.left = f.operator.right; + newf.operator.right = f.operator.left; + return newf; + } + Rune *msg = runesmprint("No inverse defined for %S", ppfunction(f)); throwerror(msg, EDomain); return f; |