* This file contains routines that operate solely on matrices.
* -------------------------------------------------------------------------*/
-#include <string.h>
-#include <Math/mat3defs.h>
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#ifdef WIN32
# include <memory.h> /* required for memset() and memcpy() */
-#elif __MWERKS__
-# include <string.h> /* MetroWerks CodeWarrior: memset() & memcpy() */
#endif
+#include <string.h>
+#include <Math/mat3defs.h>
+
+#define USE_MEM
/* #include "macros.h" */
/* -------------------------- Public Routines ---------------------------- */
+#if !defined( USE_XTRA_MAT3_INLINES )
+
/*
* Sets a matrix to identity.
*/
{
register int i;
-#ifdef WIN32
- memset(mat,0x00, sizeof(MAT3mat));
+#ifdef USE_MEM /* WIN32 */
+ memset(mat, 0x00, sizeof(MAT3mat));
#else
bzero (mat, sizeof(MAT3mat));
#endif
void
MAT3zero (MAT3mat mat)
{
-#ifdef WIN32
+#ifdef USE_MEM /* WIN32 */
memset(mat,0x00, sizeof(MAT3mat));
#else
bzero (mat, sizeof(MAT3mat));
void
MAT3copy(MAT3mat to, MAT3mat from)
{
-#ifdef WIN32
+#ifdef USE_MEM /* WIN32 */
memcpy(to, from, sizeof(MAT3mat));
#else
bcopy(from, to, sizeof(MAT3mat));
mat1[i][3] * mat2[3][j]);
MAT3copy (result_mat, tmp_mat);
}
+#endif // !defined( USE_XTRA_MAT3_INLINES )
/*
* This returns the transpose of a matrix. The result matrix may be