Main Page | Modules | Class List | Directories | File List | Class Members | File Members

mat_triangular.h

Go to the documentation of this file.
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_MAT_TRIANGULAR_H
00030 #define _GAN_MAT_TRIANGULAR_H
00031 
00032 #include <gandalf/linalg/mat_square.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00053 /* function declarations */
00054 Gan_SquMatrix *gan_ltmat_set_size ( Gan_SquMatrix *L, unsigned long size );
00055 Gan_SquMatrix *gan_utmat_set_size ( Gan_SquMatrix *U, unsigned long size );
00056 Gan_SquMatrix *gan_ltmat_fill_va ( Gan_SquMatrix *L, unsigned long size, ... );
00057 Gan_SquMatrix *gan_utmat_fill_va ( Gan_SquMatrix *U, unsigned long size, ... );
00058 Gan_SquMatrix *gan_ltmat_fill_const_q ( Gan_SquMatrix *L,
00059                                         unsigned long size, double value );
00060 Gan_SquMatrix *gan_utmat_fill_const_q ( Gan_SquMatrix *U,
00061                                         unsigned long size, double value );
00062 Gan_Bool gan_ltmat_read_va ( const Gan_SquMatrix *L, unsigned long size, ... );
00063 Gan_Bool gan_utmat_read_va ( const Gan_SquMatrix *U, unsigned long size, ... );
00064 
00078 Gan_SquMatrix *gan_ltmat_alloc ( unsigned long size );
00079 
00092 Gan_SquMatrix *gan_ltmat_form ( Gan_SquMatrix *A, unsigned long size );
00093 
00106 Gan_SquMatrix *gan_ltmat_form_data ( Gan_SquMatrix *A, unsigned long size,
00107                                      double *data, size_t data_size );
00108 
00117 Gan_SquMatrix *gan_utmat_alloc ( unsigned long size );
00118 
00130 Gan_SquMatrix *gan_utmat_form ( Gan_SquMatrix *A, unsigned long size );
00131 
00144 Gan_SquMatrix *gan_utmat_form_data ( Gan_SquMatrix *A, unsigned long size,
00145                                      void *data, size_t data_size );
00146 
00167 Gan_SquMatrix *gan_ltmat_fill_const_s ( unsigned long size, double value );
00168 
00178 Gan_SquMatrix *gan_ltmat_fill_zero_q ( Gan_SquMatrix *A, unsigned long size );
00179 
00190 Gan_SquMatrix *gan_ltmat_fill_zero_s ( unsigned long size );
00191 
00203 Gan_SquMatrix *gan_utmat_fill_const_s ( unsigned long size, double value );
00204 
00215 Gan_SquMatrix *gan_utmat_fill_zero_q ( Gan_SquMatrix *A, unsigned long size );
00216 
00227 Gan_SquMatrix *gan_utmat_fill_zero_s ( unsigned long size );
00228 
00233 /* not user functions */
00234 Gan_SquMatrix *gan_ltmat_form_gen ( Gan_SquMatrix *A, unsigned long size,
00235                                     double *data, size_t data_size );
00236 Gan_SquMatrix *gan_utmat_form_gen ( Gan_SquMatrix *A, unsigned long size,
00237                                     double *data, size_t data_size );
00238 Gan_SquMatrix *gan_ltmat_fill_vap ( Gan_SquMatrix *L,
00239                                     unsigned long size, va_list *aptr );
00240 Gan_SquMatrix *gan_utmat_fill_vap ( Gan_SquMatrix *U,
00241                                     unsigned long size, va_list *aptr );
00242 
00255 #ifdef __cplusplus
00256 }
00257 #endif
00258 
00259 #endif /* #ifndef _GAN_MAT_TRIANGULAR_H */

Generated on Sat May 21 23:52:48 2005 by  doxygen 1.4.3