On Friday, 9 February 2018 at 15:45:11 UTC, Amorphorious wrote:
On Friday, 9 February 2018 at 02:40:06 UTC, Nick Sabalausky
(Abscissa) wrote:
Well, that's the difference between a formal library package
release vs sharing a working proof of concept jotted down to
pass time ;)
Yes, but he can go back an add some friendly text at some
point... He knows most about it so it is much easier and
shouldn't take more than a few mins.
Indeed I can, and I have:
https://gist.github.com/Biotronic/833680b37d4afe774c8562fd21554c6b
Doing so after a long, tiring day at work for something I just
did to pass the time, though - not worth it when I wanted a
shower and some sleep. Luckily, today was just as boring, so I
cleaned up the syntax a bit, added more sensible error messages,
and even made it do the right thing by default when you leave out
a rule:
alias complex = Algebra!(
float,
"1,i",
"i" * "i".op = -1);
alias dual = Algebra!(
float,
"1,e",
"e" * "e".op = 0);
alias splitComplex = Algebra!(
float,
"1,j",
"j" * "j".op = 1
);
alias quaternion = Algebra!(
float,
"1,i,j,k",
"i,j,k" * "i,j,k".op = -1,
"i,j,k" * "j,k,i".op = "k,i,j".antiCommutative
);
--
Simen