|  | 
|  | 
| Matrix< NumberS > | myra::bothcat (const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, const CMatrixRange< NumberS > &C, const CMatrixRange< NumberS > &D) | 
|  | Returns [A B; C D]. 
 | 
|  | 
| Matrix< NumberD > | myra::bothcat (const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, const CMatrixRange< NumberD > &C, const CMatrixRange< NumberD > &D) | 
|  | Returns [A B; C D]. 
 | 
|  | 
| Matrix< NumberC > | myra::bothcat (const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, const CMatrixRange< NumberC > &C, const CMatrixRange< NumberC > &D) | 
|  | Returns [A B; C D]. 
 | 
|  | 
| Matrix< NumberZ > | myra::bothcat (const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, const CMatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &D) | 
|  | Returns [A B; C D]. 
 | 
|  | 
|  | 
| Matrix< NumberS > | myra::bothcat (const Array2< CMatrixRange< NumberS > > &ranges) | 
|  | Returns [A B C; D E F], note this requires size and initializer_list braces, as in: bothcat(2,3,{A,B,C,D,E,F}) 
 | 
|  | 
| Matrix< NumberD > | myra::bothcat (const Array2< CMatrixRange< NumberD > > &ranges) | 
|  | Returns [A B C; D E F], note this requires size and initializer_list braces, as in: bothcat(2,3,{A,B,C,D,E,F}) 
 | 
|  | 
| Matrix< NumberC > | myra::bothcat (const Array2< CMatrixRange< NumberC > > &ranges) | 
|  | Returns [A B C; D E F], note this requires size and initializer_list braces, as in: bothcat(2,3,{A,B,C,D,E,F}) 
 | 
|  | 
| Matrix< NumberZ > | myra::bothcat (const Array2< CMatrixRange< NumberZ > > &ranges) | 
|  | Returns [A B C; D E F], note this requires size and initializer_list braces, as in: bothcat(2,3,{A,B,C,D,E,F}) 
 | 
|  | 
Routines to concatenate Matrix's in two-by-two fashion.