// SPDX-License-Identifier: Apache-2.0
//
// Copyright 2008-2016 Conrad Sanderson (http://conradsanderson.id.au)
// Copyright 2008-2016 National ICT Australia (NICTA)
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------

//! \addtogroup typedef_mat_fixed
//! @{

typedef umat::fixed<2, 2> umat22;
typedef umat::fixed<3, 3> umat33;
typedef umat::fixed<4, 4> umat44;
typedef umat::fixed<5, 5> umat55;
typedef umat::fixed<6, 6> umat66;
typedef umat::fixed<7, 7> umat77;
typedef umat::fixed<8, 8> umat88;
typedef umat::fixed<9, 9> umat99;

typedef imat::fixed<2, 2> imat22;
typedef imat::fixed<3, 3> imat33;
typedef imat::fixed<4, 4> imat44;
typedef imat::fixed<5, 5> imat55;
typedef imat::fixed<6, 6> imat66;
typedef imat::fixed<7, 7> imat77;
typedef imat::fixed<8, 8> imat88;
typedef imat::fixed<9, 9> imat99;

typedef fmat::fixed<2, 2> fmat22;
typedef fmat::fixed<3, 3> fmat33;
typedef fmat::fixed<4, 4> fmat44;
typedef fmat::fixed<5, 5> fmat55;
typedef fmat::fixed<6, 6> fmat66;
typedef fmat::fixed<7, 7> fmat77;
typedef fmat::fixed<8, 8> fmat88;
typedef fmat::fixed<9, 9> fmat99;

typedef dmat::fixed<2, 2> dmat22;
typedef dmat::fixed<3, 3> dmat33;
typedef dmat::fixed<4, 4> dmat44;
typedef dmat::fixed<5, 5> dmat55;
typedef dmat::fixed<6, 6> dmat66;
typedef dmat::fixed<7, 7> dmat77;
typedef dmat::fixed<8, 8> dmat88;
typedef dmat::fixed<9, 9> dmat99;

typedef mat::fixed<2, 2> mat22;
typedef mat::fixed<3, 3> mat33;
typedef mat::fixed<4, 4> mat44;
typedef mat::fixed<5, 5> mat55;
typedef mat::fixed<6, 6> mat66;
typedef mat::fixed<7, 7> mat77;
typedef mat::fixed<8, 8> mat88;
typedef mat::fixed<9, 9> mat99;

typedef cx_fmat::fixed<2, 2> cx_fmat22;
typedef cx_fmat::fixed<3, 3> cx_fmat33;
typedef cx_fmat::fixed<4, 4> cx_fmat44;
typedef cx_fmat::fixed<5, 5> cx_fmat55;
typedef cx_fmat::fixed<6, 6> cx_fmat66;
typedef cx_fmat::fixed<7, 7> cx_fmat77;
typedef cx_fmat::fixed<8, 8> cx_fmat88;
typedef cx_fmat::fixed<9, 9> cx_fmat99;

typedef cx_dmat::fixed<2, 2> cx_dmat22;
typedef cx_dmat::fixed<3, 3> cx_dmat33;
typedef cx_dmat::fixed<4, 4> cx_dmat44;
typedef cx_dmat::fixed<5, 5> cx_dmat55;
typedef cx_dmat::fixed<6, 6> cx_dmat66;
typedef cx_dmat::fixed<7, 7> cx_dmat77;
typedef cx_dmat::fixed<8, 8> cx_dmat88;
typedef cx_dmat::fixed<9, 9> cx_dmat99;

typedef cx_mat::fixed<2, 2> cx_mat22;
typedef cx_mat::fixed<3, 3> cx_mat33;
typedef cx_mat::fixed<4, 4> cx_mat44;
typedef cx_mat::fixed<5, 5> cx_mat55;
typedef cx_mat::fixed<6, 6> cx_mat66;
typedef cx_mat::fixed<7, 7> cx_mat77;
typedef cx_mat::fixed<8, 8> cx_mat88;
typedef cx_mat::fixed<9, 9> cx_mat99;

//

typedef uvec::fixed<2> uvec2;
typedef uvec::fixed<3> uvec3;
typedef uvec::fixed<4> uvec4;
typedef uvec::fixed<5> uvec5;
typedef uvec::fixed<6> uvec6;
typedef uvec::fixed<7> uvec7;
typedef uvec::fixed<8> uvec8;
typedef uvec::fixed<9> uvec9;

typedef ivec::fixed<2> ivec2;
typedef ivec::fixed<3> ivec3;
typedef ivec::fixed<4> ivec4;
typedef ivec::fixed<5> ivec5;
typedef ivec::fixed<6> ivec6;
typedef ivec::fixed<7> ivec7;
typedef ivec::fixed<8> ivec8;
typedef ivec::fixed<9> ivec9;

typedef fvec::fixed<2> fvec2;
typedef fvec::fixed<3> fvec3;
typedef fvec::fixed<4> fvec4;
typedef fvec::fixed<5> fvec5;
typedef fvec::fixed<6> fvec6;
typedef fvec::fixed<7> fvec7;
typedef fvec::fixed<8> fvec8;
typedef fvec::fixed<9> fvec9;

typedef dvec::fixed<2> dvec2;
typedef dvec::fixed<3> dvec3;
typedef dvec::fixed<4> dvec4;
typedef dvec::fixed<5> dvec5;
typedef dvec::fixed<6> dvec6;
typedef dvec::fixed<7> dvec7;
typedef dvec::fixed<8> dvec8;
typedef dvec::fixed<9> dvec9;

typedef vec::fixed<2> vec2;
typedef vec::fixed<3> vec3;
typedef vec::fixed<4> vec4;
typedef vec::fixed<5> vec5;
typedef vec::fixed<6> vec6;
typedef vec::fixed<7> vec7;
typedef vec::fixed<8> vec8;
typedef vec::fixed<9> vec9;

typedef cx_fvec::fixed<2> cx_fvec2;
typedef cx_fvec::fixed<3> cx_fvec3;
typedef cx_fvec::fixed<4> cx_fvec4;
typedef cx_fvec::fixed<5> cx_fvec5;
typedef cx_fvec::fixed<6> cx_fvec6;
typedef cx_fvec::fixed<7> cx_fvec7;
typedef cx_fvec::fixed<8> cx_fvec8;
typedef cx_fvec::fixed<9> cx_fvec9;

typedef cx_dvec::fixed<2> cx_dvec2;
typedef cx_dvec::fixed<3> cx_dvec3;
typedef cx_dvec::fixed<4> cx_dvec4;
typedef cx_dvec::fixed<5> cx_dvec5;
typedef cx_dvec::fixed<6> cx_dvec6;
typedef cx_dvec::fixed<7> cx_dvec7;
typedef cx_dvec::fixed<8> cx_dvec8;
typedef cx_dvec::fixed<9> cx_dvec9;

typedef cx_vec::fixed<2> cx_vec2;
typedef cx_vec::fixed<3> cx_vec3;
typedef cx_vec::fixed<4> cx_vec4;
typedef cx_vec::fixed<5> cx_vec5;
typedef cx_vec::fixed<6> cx_vec6;
typedef cx_vec::fixed<7> cx_vec7;
typedef cx_vec::fixed<8> cx_vec8;
typedef cx_vec::fixed<9> cx_vec9;

//

typedef ucolvec::fixed<2> ucolvec2;
typedef ucolvec::fixed<3> ucolvec3;
typedef ucolvec::fixed<4> ucolvec4;
typedef ucolvec::fixed<5> ucolvec5;
typedef ucolvec::fixed<6> ucolvec6;
typedef ucolvec::fixed<7> ucolvec7;
typedef ucolvec::fixed<8> ucolvec8;
typedef ucolvec::fixed<9> ucolvec9;

typedef icolvec::fixed<2> icolvec2;
typedef icolvec::fixed<3> icolvec3;
typedef icolvec::fixed<4> icolvec4;
typedef icolvec::fixed<5> icolvec5;
typedef icolvec::fixed<6> icolvec6;
typedef icolvec::fixed<7> icolvec7;
typedef icolvec::fixed<8> icolvec8;
typedef icolvec::fixed<9> icolvec9;

typedef fcolvec::fixed<2> fcolvec2;
typedef fcolvec::fixed<3> fcolvec3;
typedef fcolvec::fixed<4> fcolvec4;
typedef fcolvec::fixed<5> fcolvec5;
typedef fcolvec::fixed<6> fcolvec6;
typedef fcolvec::fixed<7> fcolvec7;
typedef fcolvec::fixed<8> fcolvec8;
typedef fcolvec::fixed<9> fcolvec9;

typedef dcolvec::fixed<2> dcolvec2;
typedef dcolvec::fixed<3> dcolvec3;
typedef dcolvec::fixed<4> dcolvec4;
typedef dcolvec::fixed<5> dcolvec5;
typedef dcolvec::fixed<6> dcolvec6;
typedef dcolvec::fixed<7> dcolvec7;
typedef dcolvec::fixed<8> dcolvec8;
typedef dcolvec::fixed<9> dcolvec9;

typedef colvec::fixed<2> colvec2;
typedef colvec::fixed<3> colvec3;
typedef colvec::fixed<4> colvec4;
typedef colvec::fixed<5> colvec5;
typedef colvec::fixed<6> colvec6;
typedef colvec::fixed<7> colvec7;
typedef colvec::fixed<8> colvec8;
typedef colvec::fixed<9> colvec9;

typedef cx_fcolvec::fixed<2> cx_fcolvec2;
typedef cx_fcolvec::fixed<3> cx_fcolvec3;
typedef cx_fcolvec::fixed<4> cx_fcolvec4;
typedef cx_fcolvec::fixed<5> cx_fcolvec5;
typedef cx_fcolvec::fixed<6> cx_fcolvec6;
typedef cx_fcolvec::fixed<7> cx_fcolvec7;
typedef cx_fcolvec::fixed<8> cx_fcolvec8;
typedef cx_fcolvec::fixed<9> cx_fcolvec9;

typedef cx_dcolvec::fixed<2> cx_dcolvec2;
typedef cx_dcolvec::fixed<3> cx_dcolvec3;
typedef cx_dcolvec::fixed<4> cx_dcolvec4;
typedef cx_dcolvec::fixed<5> cx_dcolvec5;
typedef cx_dcolvec::fixed<6> cx_dcolvec6;
typedef cx_dcolvec::fixed<7> cx_dcolvec7;
typedef cx_dcolvec::fixed<8> cx_dcolvec8;
typedef cx_dcolvec::fixed<9> cx_dcolvec9;

typedef cx_colvec::fixed<2> cx_colvec2;
typedef cx_colvec::fixed<3> cx_colvec3;
typedef cx_colvec::fixed<4> cx_colvec4;
typedef cx_colvec::fixed<5> cx_colvec5;
typedef cx_colvec::fixed<6> cx_colvec6;
typedef cx_colvec::fixed<7> cx_colvec7;
typedef cx_colvec::fixed<8> cx_colvec8;
typedef cx_colvec::fixed<9> cx_colvec9;

//

typedef urowvec::fixed<2> urowvec2;
typedef urowvec::fixed<3> urowvec3;
typedef urowvec::fixed<4> urowvec4;
typedef urowvec::fixed<5> urowvec5;
typedef urowvec::fixed<6> urowvec6;
typedef urowvec::fixed<7> urowvec7;
typedef urowvec::fixed<8> urowvec8;
typedef urowvec::fixed<9> urowvec9;

typedef irowvec::fixed<2> irowvec2;
typedef irowvec::fixed<3> irowvec3;
typedef irowvec::fixed<4> irowvec4;
typedef irowvec::fixed<5> irowvec5;
typedef irowvec::fixed<6> irowvec6;
typedef irowvec::fixed<7> irowvec7;
typedef irowvec::fixed<8> irowvec8;
typedef irowvec::fixed<9> irowvec9;

typedef frowvec::fixed<2> frowvec2;
typedef frowvec::fixed<3> frowvec3;
typedef frowvec::fixed<4> frowvec4;
typedef frowvec::fixed<5> frowvec5;
typedef frowvec::fixed<6> frowvec6;
typedef frowvec::fixed<7> frowvec7;
typedef frowvec::fixed<8> frowvec8;
typedef frowvec::fixed<9> frowvec9;

typedef drowvec::fixed<2> drowvec2;
typedef drowvec::fixed<3> drowvec3;
typedef drowvec::fixed<4> drowvec4;
typedef drowvec::fixed<5> drowvec5;
typedef drowvec::fixed<6> drowvec6;
typedef drowvec::fixed<7> drowvec7;
typedef drowvec::fixed<8> drowvec8;
typedef drowvec::fixed<9> drowvec9;

typedef rowvec::fixed<2> rowvec2;
typedef rowvec::fixed<3> rowvec3;
typedef rowvec::fixed<4> rowvec4;
typedef rowvec::fixed<5> rowvec5;
typedef rowvec::fixed<6> rowvec6;
typedef rowvec::fixed<7> rowvec7;
typedef rowvec::fixed<8> rowvec8;
typedef rowvec::fixed<9> rowvec9;

typedef cx_frowvec::fixed<2> cx_frowvec2;
typedef cx_frowvec::fixed<3> cx_frowvec3;
typedef cx_frowvec::fixed<4> cx_frowvec4;
typedef cx_frowvec::fixed<5> cx_frowvec5;
typedef cx_frowvec::fixed<6> cx_frowvec6;
typedef cx_frowvec::fixed<7> cx_frowvec7;
typedef cx_frowvec::fixed<8> cx_frowvec8;
typedef cx_frowvec::fixed<9> cx_frowvec9;

typedef cx_drowvec::fixed<2> cx_drowvec2;
typedef cx_drowvec::fixed<3> cx_drowvec3;
typedef cx_drowvec::fixed<4> cx_drowvec4;
typedef cx_drowvec::fixed<5> cx_drowvec5;
typedef cx_drowvec::fixed<6> cx_drowvec6;
typedef cx_drowvec::fixed<7> cx_drowvec7;
typedef cx_drowvec::fixed<8> cx_drowvec8;
typedef cx_drowvec::fixed<9> cx_drowvec9;

typedef cx_rowvec::fixed<2> cx_rowvec2;
typedef cx_rowvec::fixed<3> cx_rowvec3;
typedef cx_rowvec::fixed<4> cx_rowvec4;
typedef cx_rowvec::fixed<5> cx_rowvec5;
typedef cx_rowvec::fixed<6> cx_rowvec6;
typedef cx_rowvec::fixed<7> cx_rowvec7;
typedef cx_rowvec::fixed<8> cx_rowvec8;
typedef cx_rowvec::fixed<9> cx_rowvec9;

//! @}
