From 2928df0a4b4be30cde2b11bdcf2698875d5b9536 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Tue, 20 Mar 2018 19:06:50 -0400 Subject: new system --- lib/dihinf.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lib/dihinf.c (limited to 'lib/dihinf.c') diff --git a/lib/dihinf.c b/lib/dihinf.c new file mode 100644 index 0000000..4f88a7a --- /dev/null +++ b/lib/dihinf.c @@ -0,0 +1,28 @@ + +#include "dihinf.h" + +dihinf_t *dihinf_compose(h_t g1i, const dihinf_t *g2) { + // we only need to consider the action of reflections + dihinf_t *g3 = (dihinf_t *)malloc(1 * sizeof(dihinf_t)); + + g3->r = !g2->r; + g3->i = g1i - g2->i; + + return g3; +} + +h_t dihinf_act(h_t gi, h_t s) { + // we only need to consider the action of reflections + + return gi - s; +} + +h_t dihinf_inverse_act(const dihinf_t *g, h_t s) { + if (g->r) { + return g->i - s; + } else { + return s - g->i; + } +} + + -- cgit v1.2.3-70-g09d2