00001 00014 /* This library is free software; you can redistribute it and/or 00015 modify it under the terms of the GNU Lesser General Public 00016 License as published by the Free Software Foundation; either 00017 version 2.1 of the License, or (at your option) any later version. 00018 00019 This library is distributed in the hope that it will be useful, 00020 but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 Lesser General Public License for more details. 00023 00024 You should have received a copy of the GNU Lesser General Public 00025 License along with this library; if not, write to the Free Software 00026 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00027 */ 00028 00029 #ifndef _GAN_4VECTOR_NORM_H 00030 #define _GAN_4VECTOR_NORM_H 00031 00032 #include <gandalf/linalg/4vector.h> 00033 #include <gandalf/linalg/4x4matrix.h> 00034 00035 #ifdef __cplusplus 00036 extern "C" { 00037 #endif 00038 00039 #define GAN_VEC_NORMALISE gan_vec4_normalize 00040 #define GAN_VECTYPE Gan_Vector4 00041 #define GAN_SQUMATTYPE Gan_SquMatrix44 00042 00043 /* 00044 * File: $RCSfile: vec_norm_noc.h,v $ 00045 * Module: Fixed size vector projective normalisation 00046 * Part of: Gandalf Library 00047 * 00048 * Revision: $Revision: 1.7 $ 00049 * Last edited: $Date: 2005/08/22 08:52:18 $ 00050 * Author: $Author: jps $ 00051 * Copyright: (c) 2000 Imagineer Software Limited 00052 * 00053 * Notes: Not to be compiled separately 00054 */ 00055 00056 /* This library is free software; you can redistribute it and/or 00057 modify it under the terms of the GNU Lesser General Public 00058 License as published by the Free Software Foundation; either 00059 version 2.1 of the License, or (at your option) any later version. 00060 00061 This library is distributed in the hope that it will be useful, 00062 but WITHOUT ANY WARRANTY; without even the implied warranty of 00063 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00064 Lesser General Public License for more details. 00065 00066 You should have received a copy of the GNU Lesser General Public 00067 License along with this library; if not, write to the Free Software 00068 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00069 */ 00070 00071 /* normalises an array of vectors b */ 00072 Gan_Bool gan_vec4_normalize ( Gan_Vector4 *b, int n, double term_threshold, 00073 int max_iterations, Gan_SquMatrix44 *Lp ); 00074 00075 #undef GAN_VEC_NORMALISE 00076 #undef GAN_VECTYPE 00077 #undef GAN_SQUMATTYPE 00078 00079 #ifdef __cplusplus 00080 } 00081 #endif 00082 00083 #endif /* #ifndef _GAN_4VECTOR_NORM_H */