Mat.opBinary - multiple declarations

Function Mat.opBinary

Build an augmented matrix (add oth to the right of this matrix)

auto opBinary(string op, U, size_t UC) (
  in Mat!(U,rowLength,UC) mat
) const
if (op == "~");
immutable m = IMat2(4, 5, 6, 8);
assert( m ~ IMat2.identity == IMat2x4(4, 5, 1, 0, 6, 8, 0, 1));

Function Mat.opBinary

Add/Subtract by a matrix to its right.

auto opBinary(string op, U) (
  in Mat!(U,rowLength,columnLength) oth
) const
if ((op == "+" || op == "-") && !is(CommonType!(T, U) == void));

Function Mat.opBinary

Multiply by a matrix to its right.

auto opBinary(string op, U, size_t UR, size_t UC) (
  in Mat!(U,UR,UC) oth
) const
if (op == "*" && (columnLength == UR) && !is(CommonType!(T, U) == void));

Function Mat.opBinary

Multiply a matrix by a vector to its right.

auto opBinary(string op, U, size_t N) (
  in Vec!(U,N) vec
) const
if (op == "*" && (N == columnLength) && !is(CommonType!(T, U) == void));

Function Mat.opBinary

Operation of a matrix with a scalar on its right.

auto opBinary(string op, U) (
  in U val
) const
if ((op == "+" || op == "-" || op == "*" || op == "/") && !is(CommonType!(T, U) == void));