Main Page   Modules   Compound List   File List   Compound Members   File Members  

matf_diagonal.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_MATF_DIAGONAL_H
00030 #define _GAN_MATF_DIAGONAL_H
00031 
00032 #include <gandalf/linalg/matf_square.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00054 /* function declarations */
00055 Gan_SquMatrix_f *gan_diagmatf_set_size ( Gan_SquMatrix_f *A,
00056                                          unsigned long size );
00057 Gan_SquMatrix_f *gan_diagmatf_fill_va ( Gan_SquMatrix_f *A,
00058                                         unsigned long size, ... );
00059 Gan_SquMatrix_f *gan_diagmatf_fill_const_q ( Gan_SquMatrix_f *A,
00060                                              unsigned long size, float value );
00061 Gan_Bool gan_diagmatf_read_va ( Gan_SquMatrix_f *A, unsigned long size,
00062                                 ... );
00063 Gan_SquMatrix_f *gan_diagmatf_diag_thres ( Gan_SquMatrix_f *A,
00064                                            unsigned null_space,
00065                                            float thres, int *indexptr,
00066                                            float **elptr );
00067 Gan_SquMatrix_f *gan_diagmatf_inv_diag_thres ( Gan_SquMatrix_f *A,
00068                                                unsigned null_space,
00069                                                float thres );
00070 struct Gan_Matrix_f *gan_diagmatIf_lmult_inf_q ( Gan_SquMatrix_f *A,
00071                                                  struct Gan_Matrix_f *B,
00072                                                  struct Gan_Matrix_f *C );
00073 
00087 Gan_SquMatrix_f *gan_diagmatf_alloc ( unsigned long size );
00088 
00100 Gan_SquMatrix_f *gan_diagmatf_form ( Gan_SquMatrix_f *A, unsigned long size );
00101 
00114 Gan_SquMatrix_f *gan_diagmatf_form_data ( Gan_SquMatrix_f *A,
00115                                           unsigned long size,
00116                                           void *data, size_t data_size );
00117 
00137 Gan_SquMatrix_f *
00138  gan_diagmatf_fill_const_s ( unsigned long size, float value );
00139 
00150 Gan_SquMatrix_f *
00151  gan_diagmatf_fill_zero_q ( Gan_SquMatrix_f *A, unsigned long size );
00152 
00162 Gan_SquMatrix_f *
00163  gan_diagmatf_fill_zero_s ( unsigned long size );
00164 
00183 Gan_Matrix_f *gan_diagmatIf_lmult_inf_s ( Gan_SquMatrix_f *A,
00184                                           Gan_Matrix_f *B );
00185 
00195 Gan_Matrix_f *gan_diagmatIf_lmult_inf_i ( Gan_SquMatrix_f *A,
00196                                           Gan_Matrix_f *B );
00197 
00202 /* not user functions */
00203 Gan_SquMatrix_f *gan_diagmatf_form_gen ( Gan_SquMatrix_f *A,
00204                                          unsigned long size,
00205                                          float *data, size_t data_size );
00206 Gan_SquMatrix_f *gan_diagmatf_fill_vap ( Gan_SquMatrix_f *A,
00207                                          unsigned long size, va_list *aptr );
00208 
00221 #ifdef __cplusplus
00222 }
00223 #endif
00224 
00225 #endif /* #ifndef _GAN_MATF_DIAGONAL_H */

Generated on Mon Oct 13 16:14:33 2003 by doxygen1.3-rc1