fn mul(self, other:Vec3D<QR>) -> QQR {
        self.x * other.x
        + self.y * other.y
        + self.z * other.z
    }
/// Dot product of two vectors with the `*` operator.
///
/// # Examples
///
/// ```
/// use noether::geom::vec3d::Vec3D;
/// use noether::units::Nanometer;
/// use noether::units::f32consts::NM;
///
/// type PosVec = Vec3D<Nanometer<f32>>;
///
/// assert_eq!(
///     PosVec::from(  1.0, 0.0, 0.0)
///     * PosVec::from(1.0, 0.0, 0.0),
/// // -------------------------------
///     1.0 * NM * NM
/// );
/// assert_eq!(
///     PosVec::from(  1.0, 0.0, 0.0)
///     * PosVec::from(0.0, 1.0, 0.0),
/// // -------------------------------
///     0.0 * NM * NM
/// );
/// assert_eq!(
///     PosVec::from(   3.0, -3.0,  1.0)
///     * PosVec::from( 4.0,  9.0,  2.0),
/// // --------------------------------
///     -13.0 * NM * NM
/// );
/// ```
Dot product of two vectors with the `*` operator.
Dot product of two vectors with the ` * ` operator .
fn mul(self, other:Vec3D<QR>) -> QQR {
        self.x * other.x
        + self.y * other.y
        + self.z * other.z
    }
fn mul ( self , other : Vec3D < QR > ) -> QQR { self . x * other . x + self . y * other . y + self . z * other . z }
Dot product of two vectors with the `*` operator.
Dot product of two vectors with the ` * ` operator .
self
other
Vec3D<QR>
self
other
Vec3D<QR>
examples
```
use noether::geom::vec3d::Vec3D;
use noether::units::Nanometer;
use noether::units::f32consts::NM.

type PosVec = Vec3D>.








` ` ` use noether :: geom :: vec3d :: Vec3D ; use noether :: units :: Nanometer ; use noether :: units :: f32consts :: NM . type PosVec = Vec3D > .