# Crate geometric_algebra

## Traits

• Negates elements with `grade % 2 == 1`
• Negates elements with `(grade + 3) % 4 < 2`
• Element order reversed
• The exponential function
• General multi vector multiplication
• General multi vector division
• Geometric product grade filtered by `t == (r - s).abs()`
• Raises a number to the scalar power of `-1.0`
• Geometric product grade filtered by `t == s - r`
• The natural logarithm
• Length as scalar
• All elements set to `0.0`, except for the scalar, which is set to `1.0`
• Geometric product grade filtered by `t == r + s`
• Raises a number to an floating point scalar power
• Raises a number to an integer scalar power
• Dual of the geometric product grade filtered by `t == r + s`
• Negates elements with `grade % 4 >= 2`
• Geometric product grade filtered by `t == r - s`
• Geometric product grade filtered by `t == 0`
• Direction without magnitude (set to scalar `-1.0` or `1.0`)
• Square of the magnitude
• `self * other * self.reversion()`
• All elements set to `0.0`