/* Transformation matrix code V1.50 23/1/04
   See tmat.h for docs
   Copyright 2008 Jeffrey Lee
   This file is part of WOUM.
   WOUM is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.
   WOUM is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   You should have received a copy of the GNU General Public License
   along with WOUM.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef _TMAT_C
#define _TMAT_C

#include <math.h>
#include "tmat.h"
#include "fixconv.h"

/* Prefix of tmat function names/type of tmat */
#define NAME tmat
/* Type of numbers in tmat */
#define TYPE float
/* Type of vectors manipulated */
#define VEC vec
#include "tmatmain.c"
#undef NAME
#undef TYPE
#undef VEC

#define NAME tmat16
#define TYPE f1616
#define VEC vec16
#include "tmatmain.c"
#undef NAME
#undef TYPE
#undef VEC

#define NAME tmat24
#define TYPE f248
#define VEC vec24
#include "tmatmain.c"
#undef NAME
#undef TYPE
#undef VEC

#define NAME tmat20
#define TYPE f2012
#define VEC vec20
#include "tmatmain.c"
#undef NAME
#undef TYPE
#undef VEC

#define NAME tmat48
#define TYPE f4816
#define VEC vec48
#include "tmatmain.c"
#undef NAME
#undef TYPE
#undef VEC

#endif
