mech 0.3.3

Mech is a programming language for building reactive systems like robots, games, and animations.
Documentation
Matrix Unit Tests
================

Matrix : Column
----------------

Test column matrix multiplcation with f32
  x = [1<f32> 2<f32> 3<f32>; 4<f32> 5<f32> 6<f32>; 7<f32> 8<f32> 9<f32>] ** [1<f32>; 2<f32>; 3<f32>]
  mat-result = stats/sum(column: x)
  #test += ["Matrix Mult Column:Column f32" 96.0<f32> mat-result]

Test column matrix multiplcation with f64
  x = [1<f64> 2<f64> 3<f64>; 4<f64> 5<f64> 6<f64>; 7<f64> 8<f64> 9<f64>] ** [1<f64>; 2<f64>; 3<f64>]
  mat-result = stats/sum(column: x)
  #test += ["Matrix Mult Column:Column f64" 96.0<f64> mat-result]

Column : Row
----------------

Test row matrix multiplcation with f32
  x = [1<f32>; 2<f32>] ** [3<f32> 4<f32>]
  mat-result = stats/sum(table: x)
  #test += ["Matrix Mult Column:Row f32" 21.0<f32> mat-result]

Test row matrix multiplcation with f64
  x = [1<f64>; 2<f64>] ** [3<f64> 4<f64>]
  mat-result = stats/sum(table: x)
  #test += ["Matrix Mult Column:Row f64" 21.0<f64> mat-result]

Row : Column
----------------

Test row matrix multiplcation with f32
  mat-result = [1<f32> 2<f32>] ** [3<f32>;4<f32>]
  #test += ["Matrix Mult Row:Column f32" 11.0<f32> mat-result]

Test row matrix multiplcation with f64
  mat-result = [1<f64> 2<f64>] ** [3<f64>;4<f64>]
  #test += ["Matrix Mult Row:Column f64" 11.0<f64> mat-result]

Transpose Row
----------------

Test transpose row with f32
  x = [1<f32> 2<f32> 3<f32>]
  mat-result = x ** x'
  #test += ["Transpose Matrix Row f32" 14.0<f32> mat-result]

Test transpose row with f64
  x = [1<f64> 2<f64> 3<f64>]
  mat-result = x ** x'
  #test += ["Transpose Matrix Row  f64" 14.0<f64> mat-result]

Transpose Matrix
----------------

Test transpose matrix with f32
  x = [1<f32> 2<f32>; 3<f32> 4<f32>]
  y = x ** x'
  mat-result = stats/sum(table: y)
  #test += ["Matrix Transpose f32" 52.0<f32> mat-result]

Test transpose matrix with f64
  x = [1<f64> 2<f64>; 3<f64> 4<f64>]
  y = x ** x'
  mat-result = stats/sum(table: y)
  #test += ["Matrix Transpose f64" 52.0<f64> mat-result]

Matrix : Matrix
----------------

Test matrix matrix multiplication with f32
  x = [1<f32> 2<f32>; 3<f32> 4<f32>] ** [5<f32> 6<f32>; 7<f32> 8<f32>]
  mat-result = stats/sum(table: x)
  #test += ["Matrix : Matrix Multiplication f32" 134.0<f32> mat-result]

Test matrix  matrix multiplication with f64
  x = [1<f64> 2<f64>; 3<f64> 4<f64>] ** [5<f64> 6<f64>; 7<f64> 8<f64>]
  mat-result = stats/sum(table: x)
  #test += ["Matrix : Matrix Multiplication f64" 134.0<f64> mat-result]

Matrix : Matrix (Different size matrices)
----------------

Test matrix  (matrix different size matrices) multiplication with f32
  x = [1<f32> 2<f32>; 3<f32> 4<f32>] ** [5<f32> 6<f32> 7<f32>; 8<f32> 9<f32> 10<f32>]
  mat-result = stats/sum(table: x)
  #test += ["Matrix : Matrix Multiplication f32" 234.0<f32> mat-result]

Test matrix  (matrix different size matrices) multiplication with f64
  x = [1<f64> 2<f64>; 3<f64> 4<f64>] ** [5<f64> 6<f64> 7<f64>; 8<f64> 9<f64> 10<f64>]
  mat-result = stats/sum(table: x)
  #test += ["Matrix : Matrix Multiplication f64" 234.0<f64> mat-result]

Row : Matrix
----------------

Test row matrix multiplication with f32
  x = [1<f32> 2<f32> 3<f32>]
  y = [4<f32> 5<f32>; 6<f32> 7<f32>; 8<f32> 9<f32>]
  z = x ** y
  mat-result = stats/sum(row: z)
  #test += ["Row : Matrix Multiplication f32" 86.0<f32> mat-result]

Test row matrix multiplication with f64
  x = [1<f64> 2<f64> 3<f64>]
  y = [4<f64> 5<f64>; 6<f64> 7<f64>; 8<f64> 9<f64>]
  z = x ** y
  mat-result = stats/sum(row: z)
  #test += ["Row : Matrix Multiplication f64" 86.0<f64> mat-result]