pub fn dual_mut(&mut self) {
        let mut result = Self::zero();
        result.data[0] =  self.data[7];
        result.data[1] =  self.data[5];
        result.data[2] =  self.data[6];
        result.data[3] =  self.data[4];
        result.data[4] = -self.data[3];
        result.data[5] = -self.data[1];
        result.data[6] = -self.data[2];
        result.data[7] = -self.data[0];
        *self = result;
    }
/// Compute the dual of a multivector mutably in place.
///
/// # Example
/// 
/// ```
/// # use cggeomalg::e3ga::{
/// #     EuclideanMultivector3,
/// # };
/// #
/// let mut result = EuclideanMultivector3::new(1, 2, 3, 4, 5, 6, 7, 8);
/// let expected = EuclideanMultivector3::new(8, 6, 7, 5, -4, -2, -3, -1);
/// result.dual_mut();
/// 
/// assert_eq!(result, expected);
/// ```
Compute the dual of a multivector mutably in place.
Compute the dual of a multivector mutably in place .
pub fn dual_mut(&mut self) {
        let mut result = Self::zero();
        result.data[0] =  self.data[7];
        result.data[1] =  self.data[5];
        result.data[2] =  self.data[6];
        result.data[3] =  self.data[4];
        result.data[4] = -self.data[3];
        result.data[5] = -self.data[1];
        result.data[6] = -self.data[2];
        result.data[7] = -self.data[0];
        *self = result;
    }
pub fn dual_mut ( & mut self ) { let mut result = Self :: zero ( ) ; result . data [ 0 ] = self . data [ 7 ] ; result . data [ 1 ] = self . data [ 5 ] ; result . data [ 2 ] = self . data [ 6 ] ; result . data [ 3 ] = self . data [ 4 ] ; result . data [ 4 ] = - self . data [ 3 ] ; result . data [ 5 ] = - self . data [ 1 ] ; result . data [ 6 ] = - self . data [ 2 ] ; result . data [ 7 ] = - self . data [ 0 ] ; * self = result ; }
Compute the dual of a multivector mutably in place.
Compute the dual of a multivector mutably in place .
&mut self
example
None
use cggeomalg::e3ga::{
None
euclideanmultivector3,
None
};


assert_eq!(result, expected);
```
assert_eq! ( result expected ) ; ` ` `