Main Page | Files | Data Structures | Functions | Global Variables |
include/gpiv/gpiv-utils_alloc.h
Go to the documentation of this file.
00001 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 c-style: "K&R" -*- */
00002 
00003 /*
00004    libgpiv - library for Particle Image Velocimetry
00005 
00006    Copyright (C) 2007, 2008 Gerber van der Graaf
00007 
00008    This file is part of libgpiv.
00009 
00010    Libgpiv is free software; you can redistribute it and/or modify
00011    it under the terms of the GNU General Public License as published by
00012    the Free Software Foundation; either version 2, or (at your option)
00013    any later version.
00014 
00015    This program is distributed in the hope that it will be useful,
00016    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018    GNU General Public License for more details.
00019 
00020    You should have received a copy of the GNU General Public License
00021    along with this program; if not, write to the Free Software Foundation,
00022    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
00023 
00024 
00025 
00026 
00027 -------------------------------------------------------------------------------
00028 LIBRARY:                 libgpiv:
00029 EXTERNAL FUNCTIONS:
00030                          check_img_exist
00031 
00032                          gpiv_scan_iph,
00033                          gpiv_scan_iph_nl,
00034                          gpiv_fscan_iph, 
00035                          gpiv_scan_cph, 
00036                          gpiv_fscan_cph, 
00037                          gpiv_scan_fph, 
00038                          gpiv_fscan_fph, 
00039                          gpiv_scan_sph, 
00040                          gpiv_fscan_sph, 
00041                          gpiv_sort_3,
00042 
00043 
00044                          gpiv_matrix, 
00045                          gpiv_free_matrix
00046                          gpiv_matrix_index 
00047                          gpiv_free_matrix_index
00048              gpiv_ucmatrix, 
00049                          gpiv_free_ucmatrix
00050                          gpiv_matrix_guint16
00051                          gpiv_free_matrix_guint16
00052              gpiv_imatrix, 
00053                          gpiv_free_imatrix
00054                          gpiv_double_matrix
00055                          gpiv_free_double_matrix
00056                          gpiv_fftw_real_matrix
00057                          gpiv_free_fftw_real_matrix
00058 
00059                          gpiv_vector,
00060                          gpiv_free_vector, 
00061                          gpiv_vector_index,
00062                          gpiv_free_vector_index, 
00063 
00064                          gpiv_dvector,
00065                          gpiv_free_dvector, 
00066                          gpiv_dvector_index,
00067                          gpiv_free_dvector_index, 
00068 
00069                          gpiv_nulvector,
00070                          gpiv_free_nulvector,
00071                          gpiv_nulvector_index,
00072                          gpiv_free_nulvector_index, 
00073 
00074                          gpiv_ulvector,
00075                          gpiv_free_ulvector, 
00076                          gpiv_ulvector_index,
00077                          gpiv_free_ulvector_index, 
00078 
00079                          gpiv_ivector,
00080                          gpiv_free_ivector, 
00081                          gpiv_ivector_index,
00082                          gpiv_free_ivector_index
00083                          gpiv_gbolvector
00084                          gpiv_free_gbolvector
00085 
00086 
00087 LAST MODIFICATION DATE:  $Id: gpiv-utils_alloc.h,v 1.1 2007-11-23 16:12:18 gerber Exp $
00088  --------------------------------------------------------------------------- */
00098 #ifndef __L_UTILS_H__
00099 #define __L_UTILS_H__
00100 
00108 gfloat **
00109 gpiv_matrix             (long           nr,
00110                     long            nc
00111                     );
00112 
00113 
00114 
00121 void 
00122 gpiv_free_matrix            (gfloat         **m
00123                     );
00124 
00125 
00126 
00137 gfloat **
00138 gpiv_matrix_index           (const long     nrl,
00139                      const long     nrh,
00140                      const long     ncl,
00141                      const long         nch
00142                      );
00143 
00144 
00145 
00157 void 
00158 gpiv_free_matrix_index          (gfloat         **m,
00159                     const long      nrl,
00160                     const long      nrh,
00161                     const long      ncl,
00162                     const long      nch
00163                     );
00164 
00165 
00166 
00174 guchar **
00175 gpiv_ucmatrix               (const long     nr,
00176                     const long      nc
00177                     );
00178 
00179 
00180 
00187 void 
00188 gpiv_free_ucmatrix          (guchar         **m
00189                     );
00190 
00191 
00192 
00200 guint8 **
00201 gpiv_matrix_guint8          (const long     nr, 
00202                     const long      nc
00203                     );
00204 
00205 
00206 
00213 void 
00214 gpiv_free_matrix_guint8         (guint8         **m
00215                     );
00216 
00217 
00225 guint16 **
00226 gpiv_matrix_guint16         (const long     nr, 
00227                     const long      nc
00228                     );
00229 
00230 
00231 
00238 void 
00239 gpiv_free_matrix_guint16        (guint16        **m
00240                     );
00241 
00242 
00243 
00254 gint **
00255 gpiv_imatrix_index          (const long     nrl,
00256                     const long      nrh,
00257                     const long      ncl,
00258                     const long      nch
00259                     );
00260 
00261 
00262 
00274 void 
00275 gpiv_free_imatrix_index         (gint           **m, 
00276                     const long      nrl, 
00277                     const long      nrh, 
00278                     const long      ncl, 
00279                                         const long      nch
00280                                         );
00281 
00282 
00283 
00292 gint **
00293 gpiv_imatrix                (const long     nr,
00294                     const long      nc
00295                     );
00296 
00297 
00298 
00306 void 
00307 gpiv_free_imatrix           (gint           **m
00308                     );
00309 
00310 
00311 
00312 double **
00321 gpiv_double_matrix          (const glong        nr, 
00322                     const glong     nc 
00323                     );
00324 
00325 
00326 
00333 void 
00334 gpiv_free_double_matrix         (double         **m
00335                     );
00336 
00337 
00338 #ifndef USE_FFTW3
00339 
00347 fftw_real **
00348 gpiv_fftw_real_matrix           (glong          nr, 
00349                     glong           nc 
00350                     );
00351 
00352 
00353 
00360 void 
00361 gpiv_free_fftw_real_matrix      (fftw_real      **m
00362                     );
00363 
00364 #endif /* USE_FFTW3 */
00365 
00366 
00375 fftw_complex **
00376 gpiv_fftw_complex_matrix        (const long     nr, 
00377                     const long      nc 
00378                     );
00379 
00380 
00381 
00388 void 
00389 gpiv_free_fftw_complex_matrix       (fftw_complex       **m
00390                     );
00391 
00392 
00399 gfloat *
00400 gpiv_vector             (const long     nl
00401                     );
00402 
00403 
00404 
00411 void 
00412 gpiv_free_vector            (gfloat         *vector
00413                     );
00414 
00415 
00416 
00425 gfloat *
00426 gpiv_vector_index           (const long     nl,
00427                     const long      nh
00428                     );
00429 
00430 
00431 
00441 void 
00442 gpiv_free_vector_index          (gfloat         *vector,
00443                     const long      nl,
00444                     const long      nh
00445                     );
00446 
00447 
00448 
00455 gdouble *
00456 gpiv_dvector                (const glong        nl
00457                     );
00458 
00459 
00460 
00467 void
00468 gpiv_free_dvector           (gdouble        *vector
00469                     );
00470 
00471 
00472 
00481 gdouble *
00482 gpiv_dvector_index          (const long     nl, 
00483                     const long      nh
00484                     );
00485 
00486 
00487 
00497 void
00498 gpiv_free_dvector_index         (gdouble        *vector, 
00499                     const long      nl, 
00500                     const long      nh
00501                     );
00502 
00503 
00504 
00511 long *
00512 gpiv_nulvector              (long           nl
00513                     );
00514 
00515 
00516 
00523 void 
00524 gpiv_free_nulvector         (long           *vector
00525                     );
00526 
00527 
00528 
00537 long *
00538 gpiv_nulvector_index            (const long     nl,
00539                     const long      nh
00540                     );
00541 
00542 
00543 
00553 void 
00554 gpiv_free_nulvector_index       (long           *vector,
00555                     const long      nl,
00556                     const long      nh
00557                     );
00558 
00559 
00560 
00567 unsigned long *
00568 gpiv_ulvector               (const long     nl
00569                     );
00570 
00571 
00572 
00579 void 
00580 gpiv_free_ulvector          (unsigned long      *vector
00581                     );
00582 
00583 
00584 
00593 unsigned long *
00594 gpiv_ulvector_index         (const long     nl,
00595                     const long      nh
00596                      );
00597 
00598 
00599 
00609 void 
00610 gpiv_free_ulvector_index        (unsigned long      *vector,
00611                     const long      nl,
00612                     const long      nh
00613                     );
00614 
00615 
00616 
00623 gint *
00624 gpiv_ivector                (const long     nl
00625                     );
00626 
00627 
00628 
00635 void 
00636 gpiv_free_ivector           (gint           *vector
00637                     );
00638 
00639 
00640 
00649 gint *
00650 gpiv_ivector_index          (const long     nl,
00651                     const long      nh
00652                     );
00653 
00654 
00655 
00665 void 
00666 gpiv_free_ivector_index         (gint           *vector,
00667                     const long      nl,
00668                     const long      nh
00669                     );
00670 
00671 
00672 
00679 gboolean *
00680 gpiv_gbolvector             (const glong        nl
00681                     );
00682 
00683 
00684 
00691 void 
00692 gpiv_free_gbolvector            (gboolean       *vector
00693                     );
00694 
00695 
00696 
00697 #endif /* __L_UTILS_H__ */