AVFactories.h

Go to the documentation of this file.
00001 /*----------------------------------------------------------------------- 
00002 
00003 File Name: AVFactories.h
00004 
00005 <lalVerbatim file="AVFactoriesHV">
00006 Revision: $Id: AVFactoriesH.m4,v 1.2 2004/11/04 22:48:56 jolien Exp $
00007 </lalVerbatim>
00008 
00009 -------------------------------------------------------------------------*/
00010 
00011 /* <lalLaTeX>
00012 
00013 \section{Header \texttt{AVFactories.h}}
00014 \label{s:AVFactories.h}
00015 
00016 Provides prototype and status code information for use of CreateVector,
00017 CreateArray, ResizeVector, ResizeArray, DestroyVector and DestroyArray
00018 
00019 \subsection*{Synopsis}
00020 \begin{verbatim}
00021 #include <lal/AVFactories.h>
00022 \end{verbatim}
00023 
00024 </lalLaTeX> */
00025 
00026 #ifndef _AVFACTORIES_H
00027 #define _AVFACTORIES_H
00028 
00029 #include <lal/LALDatatypes.h>
00030 #include <stdarg.h>
00031 
00032 #ifdef  __cplusplus
00033 extern "C" {
00034 #endif
00035 
00036 NRCSID (AVFACTORIESH, "$Id: AVFactoriesH.m4,v 1.2 2004/11/04 22:48:56 jolien Exp $");
00037 
00038 /* <lalLaTeX>
00039 
00040 \subsection*{Error conditions}
00041 \input{AVFactoriesHErrTab}
00042 
00043 </lalLaTeX> */
00044 
00045 /*
00046 <lalErrTable file="AVFactoriesHErrTab">
00047 */
00048 #define AVFACTORIESH_ELENGTH 1
00049 #define AVFACTORIESH_EVPTR   2
00050 #define AVFACTORIESH_EUPTR   4
00051 #define AVFACTORIESH_EDPTR   8
00052 #define AVFACTORIESH_EMALLOC 16
00053 #define AVFACTORIESH_MSGELENGTH  "Illegal length."
00054 #define AVFACTORIESH_MSGEVPTR    "Null vector/array handle."
00055 #define AVFACTORIESH_MSGEUPTR    "Non-null vector/array pointer."
00056 #define AVFACTORIESH_MSGEDPTR    "Null vector/array data."
00057 #define AVFACTORIESH_MSGEMALLOC  "Malloc failure."
00058 /*
00059 </lalErrTable>
00060 */
00061 
00062 /* Function prototypes. */
00063 /* <lalLaTeX>
00064 \newpage\input{VectorFactoriesC}
00065 \newpage\input{ArrayFactoriesC}
00066 
00067 \newpage
00068 \subsection{XLAL Functions}
00069 
00070 \subsubsection*{Synopsis}
00071 \begin{verbatim}
00072 #include <lal/AVFactories.h>
00073 
00074 REAL4Vector * XLALCreateVector(UINT4 length);
00075 REAL4Vector * XLALResizeVector(REAL4Vector *vector, UINT4 length);
00076 void XLALDestroyVector(REAL4Vector *vector, UINT4 length);
00077 
00078 <vectype> * XLALCreate<vectype>(UINT4 length );
00079 <vectype> * XLALResize<vectype>(<vectype> *vector, UINT4 length );
00080 void XLALDestroy<vectype>(<vectype> *vector);
00081 
00082 REAL4Array * XLALCreateArrayL(UINT4 ndim, ...);
00083 REAL4Array * XLALCreateArrayV(UINT4 ndim, UINT4 *dims);
00084 REAL4Array * XLALCreateArray(UINT4Vector *dimLength);
00085 REAL4Array * XLALResizeArrayL(REAL4Array *array, UINT4 ndim, ...);
00086 REAL4Array * XLALResizeArrayV(REAL4Array *array, UINT4 ndim, UINT4 *dims);
00087 REAL4Array * XLALResizeArray(REAL4Array *array, UINT4Vector *dimLength);
00088 void XLALDestroyArray(REAL4Array *array);
00089 
00090 <arrtype> * XLALCreate<arrtype>L(UINT4 ndim, ...);
00091 <arrtype> * XLALCreate<arrtype>V(UINT4 ndim, UINT4 *dims);
00092 <arrtype> * XLALCreate<arrtype>(UINT4Vector *dimLength);
00093 <arrtype> * XLALResize<arrtype>L(<arrtype> *array, UINT4 ndim, ...);
00094 <arrtype> * XLALResize<arrtype>V(<arrtype> *array, UINT4 ndim, UINT4 *dims);
00095 <arrtype> * XLALResize<arrtype>(<arrtype> *array, UINT4Vector *dimLength);
00096 void XLALDestroy<arrtype>(<arrtype> *array);
00097 \end{verbatim}
00098 \idx{XLALCreateVector}
00099 \idx{XLALResizeVector}
00100 \idx{XLALDestroyVector}
00101 \idx{XLALCreateArrayL}
00102 \idx{XLALCreateArrayV}
00103 \idx{XLALCreateArray}
00104 \idx{XLALResizeArrayL}
00105 \idx{XLALResizeArrayV}
00106 \idx{XLALResizeArray}
00107 \idx{XLALDestroyArray}
00108 \idx{XLALCreate<type>Vector}
00109 \idx{XLALResize<type>Vector}
00110 \idx{XLALDestroy<type>Vector}
00111 \idx{XLALCreate<type>ArrayL}
00112 \idx{XLALCreate<type>ArrayV}
00113 \idx{XLALCreate<type>Array}
00114 \idx{XLALResize<type>ArrayL}
00115 \idx{XLALResize<type>ArrayV}
00116 \idx{XLALResize<type>Array}
00117 \idx{XLALDestroy<type>Array}
00118 
00119 Here \verb+<vectype>+ is one of
00120 \verb+COMPLEX16Vector+,
00121 \verb+COMPLEX8Vector+,
00122 \verb+REAL8Vector+,
00123 \verb+REAL4Vector+,
00124 \verb+INT8Vector+,
00125 \verb+INT4Vector+,
00126 \verb+INT2Vector+,
00127 \verb+UINT8Vector+,
00128 \verb+UINT4Vector+,
00129 \verb+UINT2Vector+, or
00130 \verb+CHARVector+,
00131 and \verb+<arrtype>+ is one of
00132 \verb+COMPLEX16Array+,
00133 \verb+COMPLEX8Array+,
00134 \verb+REAL8Array+,
00135 \verb+REAL4Array+,
00136 \verb+INT8Array+,
00137 \verb+INT4Array+,
00138 \verb+INT2Array+,
00139 \verb+UINT8Array+,
00140 \verb+UINT4Array+, or
00141 \verb+UINT2Array+.
00142 
00143 \subsubsection*{Description}
00144 
00145 The \verb+XLALCreate<type>Vector+ functions create vectors of the specified
00146 \verb+length+ number of objects of type \verb+<type>+.  The function
00147 \verb+XLALCreateVector+ is the same as \verb+XLALCreateREAL4Vector+.
00148 
00149 The \verb+XLALDestroy<type>Vector+ functions deallocate the memory allocation
00150 pointed to by \verb+vector+ including its contents.  The function
00151 \verb+XLALDestroyVector+ is the same as \verb+XLALDestroyREAL4Vector+.
00152 
00153 The \verb+XLALResize<type>Vector+ functions resize the supplied vector
00154 \verb+vector+ to the new size \verb+length+.  If \verb+vector+ is \verb+NULL+
00155 then this is equivalent to \verb+XLALCreate<type>Vector+.  If \verb+length+
00156 is zero then this is equivalent to \verb+XLALDestroy<type>Vector+ and the
00157 routine returns \verb+NULL+.  Otherwise, the amount of data in the vector
00158 is realloced using \verb+LALRealloc+.  The function
00159 \verb+XLALResizeVector+ is the same as \verb+XLALResizeREAL4Vector+.
00160 
00161 The \verb+XLALCreate<type>Array+
00162 \verb+XLALCreate<type>ArrayL+
00163 \verb+XLALCreate<type>ArrayV+
00164 all create an object of type \verb+<type>Array+.  They differ in the way
00165 that the dimensions of the array are specified.  The function
00166 \verb+XLALCreate<type>Array+ allocates an array with dimensions specified
00167 by the \verb+UINT4Vector+ \verb+dimLength+ which is a vector of dimension
00168 lengths for the array.  The function
00169 \verb+XLALCreate<type>ArrayV+ provides these dimensions with two arguments:
00170 \verb+ndim+ is the number of dimensions and \verb+dims+ is an array of
00171 \verb+UINT4+ values for the dimensions.  The function
00172 \verb+XLALCreate<type>ArrayL+ also specifies the dimensions as arguments.
00173 Here, the first argument, \verb+ndim+, is the number of dimensions, and
00174 this is followed by \verb+ndim+ arguments that provide the dimensions.
00175 Note that for this function, a maximum of 16 dimensions can be provided
00176 (that is, \verb+ndim+ cannot be more than 16 and there cannot be more than
00177 16 arguments after the first).
00178 The \verb+XLALCreateArray+
00179 \verb+XLALCreateArrayL+
00180 \verb+XLALCreateArrayV+
00181 functions are equivalent to the
00182 \verb+XLALCreateREAL4Array+
00183 \verb+XLALCreateREAL4ArrayL+
00184 \verb+XLALCreateREAL4ArrayV+
00185 functions respectively.
00186 
00187 The \verb+XLALDestroy<type>Array+ functions deallocate the memory allocation
00188 pointed to by \verb+array+ including its contents.  The function
00189 \verb+XLALDestroyArray+ is the same as \verb+XLALDestroyREAL4Array+.
00190 
00191 The \verb+XLALResize<type>Array+
00192 \verb+XLALResize<type>ArrayL+
00193 \verb+XLALResize<type>ArrayV+
00194 functions resize the provided array \verb+array+.  The arguments after the
00195 first are interpreted in the same way as for the 
00196 \verb+XLALCreate<type>Array+
00197 \verb+XLALCreate<type>ArrayL+
00198 \verb+XLALCreate<type>ArrayV+
00199 functions.  If \verb+array+ is \verb+NULL+, the resize functions are equivalent
00200 to the corresponding create function.  If \verb+ndim+ is zero for 
00201 \verb+XLALResize<type>ArrayL+ or
00202 \verb+XLALResize<type>ArrayV+, or if \verb+dimLength+ is \verb+NULL+ for
00203 \verb+XLALResize<type>Array+, then these functions are equivalent to
00204 \verb+XLALDestroy<type>Array+.
00205 The \verb+XLALResizeArray+
00206 \verb+XLALResizeArrayL+
00207 \verb+XLALResizeArrayV+
00208 functions are equivalent to the
00209 \verb+XLALResizeREAL4Array+
00210 \verb+XLALResizeREAL4ArrayL+
00211 \verb+XLALResizeREAL4ArrayV+
00212 functions respectively.
00213 
00214 \subsubsection*{Return Values}
00215 
00216 If successful, the create and resize functions return a pointer to the same
00217 data that was passed to the function.  The resize functions will return
00218 a \verb+NULL+ pointer if the size of the new object was zero.  Upon failure
00219 these routines will return \verb+NULL+ and will set \verb+xlalErrno+ to
00220 one of these values: \verb+XLAL_ENOMEM+ if a memory allocation failed,
00221 \verb+XLAL_EBADLEN+ if an invalid length was provided (for example, a
00222 zero-size allocation with a create function), \verb+XLAL_EINVAL+ if an
00223 invalid argument is provided (for example, if the pointer to an
00224 array of dimensions is \verb+NULL+).
00225 
00226 The destroy function does not return any value.  If the function is passed a
00227 \verb+NULL+ pointer, it will set \verb+xlalErrno+ to \verb+XLAL_EFAULT+.
00228 If the function is passed an object that appears corrupted (e.g., a
00229 vector with zero length or will a \verb+NULL+ data pointer) it will set
00230 \verb+xlalErrno+ to \verb+XLAL_EINVAL+.
00231 
00232 </lalLaTeX> */
00233 
00234 
00235 /* 
00236 
00237 
00238 
00239 
00240 
00241 
00242 
00243 
00244 
00245 
00246 
00247 
00248 
00249 
00250 
00251 
00252 
00253 
00254 
00255  * CHAR
00256  */
00257 CHARVector * XLALCreateCHARVector ( UINT4 length );
00258 CHARVector * XLALResizeCHARVector ( CHARVector * vector, UINT4 length );
00259 void XLALDestroyCHARVector ( CHARVector * vector );
00260 void LALCHARCreateVector ( LALStatus *, CHARVector **, UINT4 );
00261 void LALCHARResizeVector ( LALStatus *, CHARVector **, UINT4 );
00262 void LALCHARDestroyVector ( LALStatus *, CHARVector ** );
00263 
00264 
00265 
00266 /* 
00267 
00268 
00269 
00270 
00271 
00272 
00273 
00274 
00275 
00276 
00277 
00278 
00279 
00280 
00281 
00282 
00283 
00284 
00285 
00286  * INT2
00287  */
00288 INT2Vector * XLALCreateINT2Vector ( UINT4 length );
00289 INT2Vector * XLALResizeINT2Vector ( INT2Vector * vector, UINT4 length );
00290 void XLALDestroyINT2Vector ( INT2Vector * vector );
00291 void LALI2CreateVector ( LALStatus *, INT2Vector **, UINT4 );
00292 void LALI2ResizeVector ( LALStatus *, INT2Vector **, UINT4 );
00293 void LALI2DestroyVector ( LALStatus *, INT2Vector ** );
00294 
00295 /* 
00296 
00297 
00298 
00299 
00300 
00301 
00302 
00303 
00304 
00305 
00306 
00307 
00308 
00309 
00310 
00311 
00312 
00313 
00314 
00315 
00316 
00317 
00318 
00319  * INT2
00320  */
00321 INT2Array * XLALCreateINT2ArrayL ( UINT4, ... );
00322 INT2Array * XLALCreateINT2ArrayV ( UINT4, UINT4 * );
00323 INT2Array * XLALCreateINT2Array ( UINT4Vector * );
00324 INT2Array * XLALResizeINT2ArrayL ( INT2Array *, UINT4, ... );
00325 INT2Array * XLALResizeINT2ArrayV ( INT2Array *, UINT4, UINT4 * );
00326 INT2Array * XLALResizeINT2Array ( INT2Array *, UINT4Vector * );
00327 void XLALDestroyINT2Array ( INT2Array * );
00328 void LALI2CreateArray ( LALStatus *, INT2Array **, UINT4Vector * );
00329 void LALI2ResizeArray ( LALStatus *, INT2Array **, UINT4Vector * );
00330 void LALI2DestroyArray ( LALStatus *, INT2Array ** );
00331 
00332 
00333 
00334 /* 
00335 
00336 
00337 
00338 
00339 
00340 
00341 
00342 
00343 
00344 
00345 
00346 
00347 
00348 
00349 
00350 
00351 
00352 
00353 
00354  * INT4
00355  */
00356 INT4Vector * XLALCreateINT4Vector ( UINT4 length );
00357 INT4Vector * XLALResizeINT4Vector ( INT4Vector * vector, UINT4 length );
00358 void XLALDestroyINT4Vector ( INT4Vector * vector );
00359 void LALI4CreateVector ( LALStatus *, INT4Vector **, UINT4 );
00360 void LALI4ResizeVector ( LALStatus *, INT4Vector **, UINT4 );
00361 void LALI4DestroyVector ( LALStatus *, INT4Vector ** );
00362 
00363 /* 
00364 
00365 
00366 
00367 
00368 
00369 
00370 
00371 
00372 
00373 
00374 
00375 
00376 
00377 
00378 
00379 
00380 
00381 
00382 
00383 
00384 
00385 
00386 
00387  * INT4
00388  */
00389 INT4Array * XLALCreateINT4ArrayL ( UINT4, ... );
00390 INT4Array * XLALCreateINT4ArrayV ( UINT4, UINT4 * );
00391 INT4Array * XLALCreateINT4Array ( UINT4Vector * );
00392 INT4Array * XLALResizeINT4ArrayL ( INT4Array *, UINT4, ... );
00393 INT4Array * XLALResizeINT4ArrayV ( INT4Array *, UINT4, UINT4 * );
00394 INT4Array * XLALResizeINT4Array ( INT4Array *, UINT4Vector * );
00395 void XLALDestroyINT4Array ( INT4Array * );
00396 void LALI4CreateArray ( LALStatus *, INT4Array **, UINT4Vector * );
00397 void LALI4ResizeArray ( LALStatus *, INT4Array **, UINT4Vector * );
00398 void LALI4DestroyArray ( LALStatus *, INT4Array ** );
00399 
00400 
00401 
00402 /* 
00403 
00404 
00405 
00406 
00407 
00408 
00409 
00410 
00411 
00412 
00413 
00414 
00415 
00416 
00417 
00418 
00419 
00420 
00421 
00422  * INT8
00423  */
00424 INT8Vector * XLALCreateINT8Vector ( UINT4 length );
00425 INT8Vector * XLALResizeINT8Vector ( INT8Vector * vector, UINT4 length );
00426 void XLALDestroyINT8Vector ( INT8Vector * vector );
00427 void LALI8CreateVector ( LALStatus *, INT8Vector **, UINT4 );
00428 void LALI8ResizeVector ( LALStatus *, INT8Vector **, UINT4 );
00429 void LALI8DestroyVector ( LALStatus *, INT8Vector ** );
00430 
00431 /* 
00432 
00433 
00434 
00435 
00436 
00437 
00438 
00439 
00440 
00441 
00442 
00443 
00444 
00445 
00446 
00447 
00448 
00449 
00450 
00451 
00452 
00453 
00454 
00455  * INT8
00456  */
00457 INT8Array * XLALCreateINT8ArrayL ( UINT4, ... );
00458 INT8Array * XLALCreateINT8ArrayV ( UINT4, UINT4 * );
00459 INT8Array * XLALCreateINT8Array ( UINT4Vector * );
00460 INT8Array * XLALResizeINT8ArrayL ( INT8Array *, UINT4, ... );
00461 INT8Array * XLALResizeINT8ArrayV ( INT8Array *, UINT4, UINT4 * );
00462 INT8Array * XLALResizeINT8Array ( INT8Array *, UINT4Vector * );
00463 void XLALDestroyINT8Array ( INT8Array * );
00464 void LALI8CreateArray ( LALStatus *, INT8Array **, UINT4Vector * );
00465 void LALI8ResizeArray ( LALStatus *, INT8Array **, UINT4Vector * );
00466 void LALI8DestroyArray ( LALStatus *, INT8Array ** );
00467 
00468 
00469 
00470 /* 
00471 
00472 
00473 
00474 
00475 
00476 
00477 
00478 
00479 
00480 
00481 
00482 
00483 
00484 
00485 
00486 
00487 
00488 
00489 
00490  * UINT2
00491  */
00492 UINT2Vector * XLALCreateUINT2Vector ( UINT4 length );
00493 UINT2Vector * XLALResizeUINT2Vector ( UINT2Vector * vector, UINT4 length );
00494 void XLALDestroyUINT2Vector ( UINT2Vector * vector );
00495 void LALU2CreateVector ( LALStatus *, UINT2Vector **, UINT4 );
00496 void LALU2ResizeVector ( LALStatus *, UINT2Vector **, UINT4 );
00497 void LALU2DestroyVector ( LALStatus *, UINT2Vector ** );
00498 
00499 /* 
00500 
00501 
00502 
00503 
00504 
00505 
00506 
00507 
00508 
00509 
00510 
00511 
00512 
00513 
00514 
00515 
00516 
00517 
00518 
00519 
00520 
00521 
00522 
00523  * UINT2
00524  */
00525 UINT2Array * XLALCreateUINT2ArrayL ( UINT4, ... );
00526 UINT2Array * XLALCreateUINT2ArrayV ( UINT4, UINT4 * );
00527 UINT2Array * XLALCreateUINT2Array ( UINT4Vector * );
00528 UINT2Array * XLALResizeUINT2ArrayL ( UINT2Array *, UINT4, ... );
00529 UINT2Array * XLALResizeUINT2ArrayV ( UINT2Array *, UINT4, UINT4 * );
00530 UINT2Array * XLALResizeUINT2Array ( UINT2Array *, UINT4Vector * );
00531 void XLALDestroyUINT2Array ( UINT2Array * );
00532 void LALU2CreateArray ( LALStatus *, UINT2Array **, UINT4Vector * );
00533 void LALU2ResizeArray ( LALStatus *, UINT2Array **, UINT4Vector * );
00534 void LALU2DestroyArray ( LALStatus *, UINT2Array ** );
00535 
00536 
00537 
00538 /* 
00539 
00540 
00541 
00542 
00543 
00544 
00545 
00546 
00547 
00548 
00549 
00550 
00551 
00552 
00553 
00554 
00555 
00556 
00557 
00558  * UINT4
00559  */
00560 UINT4Vector * XLALCreateUINT4Vector ( UINT4 length );
00561 UINT4Vector * XLALResizeUINT4Vector ( UINT4Vector * vector, UINT4 length );
00562 void XLALDestroyUINT4Vector ( UINT4Vector * vector );
00563 void LALU4CreateVector ( LALStatus *, UINT4Vector **, UINT4 );
00564 void LALU4ResizeVector ( LALStatus *, UINT4Vector **, UINT4 );
00565 void LALU4DestroyVector ( LALStatus *, UINT4Vector ** );
00566 
00567 /* 
00568 
00569 
00570 
00571 
00572 
00573 
00574 
00575 
00576 
00577 
00578 
00579 
00580 
00581 
00582 
00583 
00584 
00585 
00586 
00587 
00588 
00589 
00590 
00591  * UINT4
00592  */
00593 UINT4Array * XLALCreateUINT4ArrayL ( UINT4, ... );
00594 UINT4Array * XLALCreateUINT4ArrayV ( UINT4, UINT4 * );
00595 UINT4Array * XLALCreateUINT4Array ( UINT4Vector * );
00596 UINT4Array * XLALResizeUINT4ArrayL ( UINT4Array *, UINT4, ... );
00597 UINT4Array * XLALResizeUINT4ArrayV ( UINT4Array *, UINT4, UINT4 * );
00598 UINT4Array * XLALResizeUINT4Array ( UINT4Array *, UINT4Vector * );
00599 void XLALDestroyUINT4Array ( UINT4Array * );
00600 void LALU4CreateArray ( LALStatus *, UINT4Array **, UINT4Vector * );
00601 void LALU4ResizeArray ( LALStatus *, UINT4Array **, UINT4Vector * );
00602 void LALU4DestroyArray ( LALStatus *, UINT4Array ** );
00603 
00604 
00605 
00606 /* 
00607 
00608 
00609 
00610 
00611 
00612 
00613 
00614 
00615 
00616 
00617 
00618 
00619 
00620 
00621 
00622 
00623 
00624 
00625 
00626  * UINT8
00627  */
00628 UINT8Vector * XLALCreateUINT8Vector ( UINT4 length );
00629 UINT8Vector * XLALResizeUINT8Vector ( UINT8Vector * vector, UINT4 length );
00630 void XLALDestroyUINT8Vector ( UINT8Vector * vector );
00631 void LALU8CreateVector ( LALStatus *, UINT8Vector **, UINT4 );
00632 void LALU8ResizeVector ( LALStatus *, UINT8Vector **, UINT4 );
00633 void LALU8DestroyVector ( LALStatus *, UINT8Vector ** );
00634 
00635 /* 
00636 
00637 
00638 
00639 
00640 
00641 
00642 
00643 
00644 
00645 
00646 
00647 
00648 
00649 
00650 
00651 
00652 
00653 
00654 
00655 
00656 
00657 
00658 
00659  * UINT8
00660  */
00661 UINT8Array * XLALCreateUINT8ArrayL ( UINT4, ... );
00662 UINT8Array * XLALCreateUINT8ArrayV ( UINT4, UINT4 * );
00663 UINT8Array * XLALCreateUINT8Array ( UINT4Vector * );
00664 UINT8Array * XLALResizeUINT8ArrayL ( UINT8Array *, UINT4, ... );
00665 UINT8Array * XLALResizeUINT8ArrayV ( UINT8Array *, UINT4, UINT4 * );
00666 UINT8Array * XLALResizeUINT8Array ( UINT8Array *, UINT4Vector * );
00667 void XLALDestroyUINT8Array ( UINT8Array * );
00668 void LALU8CreateArray ( LALStatus *, UINT8Array **, UINT4Vector * );
00669 void LALU8ResizeArray ( LALStatus *, UINT8Array **, UINT4Vector * );
00670 void LALU8DestroyArray ( LALStatus *, UINT8Array ** );
00671 
00672 
00673 
00674 /* 
00675 
00676 
00677 
00678 
00679 
00680 
00681 
00682 
00683 
00684 
00685 
00686 
00687 
00688 
00689 
00690 
00691 
00692 
00693 
00694  * REAL4
00695  */
00696 REAL4Vector * XLALCreateREAL4Vector ( UINT4 length );
00697 REAL4Vector * XLALResizeREAL4Vector ( REAL4Vector * vector, UINT4 length );
00698 void XLALDestroyREAL4Vector ( REAL4Vector * vector );
00699 void LALSCreateVector ( LALStatus *, REAL4Vector **, UINT4 );
00700 void LALSResizeVector ( LALStatus *, REAL4Vector **, UINT4 );
00701 void LALSDestroyVector ( LALStatus *, REAL4Vector ** );
00702 
00703 /* 
00704 
00705 
00706 
00707 
00708 
00709 
00710 
00711 
00712 
00713 
00714 
00715 
00716 
00717 
00718 
00719 
00720 
00721 
00722 
00723 
00724 
00725 
00726 
00727  * REAL4
00728  */
00729 REAL4Array * XLALCreateREAL4ArrayL ( UINT4, ... );
00730 REAL4Array * XLALCreateREAL4ArrayV ( UINT4, UINT4 * );
00731 REAL4Array * XLALCreateREAL4Array ( UINT4Vector * );
00732 REAL4Array * XLALResizeREAL4ArrayL ( REAL4Array *, UINT4, ... );
00733 REAL4Array * XLALResizeREAL4ArrayV ( REAL4Array *, UINT4, UINT4 * );
00734 REAL4Array * XLALResizeREAL4Array ( REAL4Array *, UINT4Vector * );
00735 void XLALDestroyREAL4Array ( REAL4Array * );
00736 void LALSCreateArray ( LALStatus *, REAL4Array **, UINT4Vector * );
00737 void LALSResizeArray ( LALStatus *, REAL4Array **, UINT4Vector * );
00738 void LALSDestroyArray ( LALStatus *, REAL4Array ** );
00739 
00740 
00741 
00742 /* 
00743 
00744 
00745 
00746 
00747 
00748 
00749 
00750 
00751 
00752 
00753 
00754 
00755 
00756 
00757 
00758 
00759 
00760 
00761 
00762  * REAL8
00763  */
00764 REAL8Vector * XLALCreateREAL8Vector ( UINT4 length );
00765 REAL8Vector * XLALResizeREAL8Vector ( REAL8Vector * vector, UINT4 length );
00766 void XLALDestroyREAL8Vector ( REAL8Vector * vector );
00767 void LALDCreateVector ( LALStatus *, REAL8Vector **, UINT4 );
00768 void LALDResizeVector ( LALStatus *, REAL8Vector **, UINT4 );
00769 void LALDDestroyVector ( LALStatus *, REAL8Vector ** );
00770 
00771 /* 
00772 
00773 
00774 
00775 
00776 
00777 
00778 
00779 
00780 
00781 
00782 
00783 
00784 
00785 
00786 
00787 
00788 
00789 
00790 
00791 
00792 
00793 
00794 
00795  * REAL8
00796  */
00797 REAL8Array * XLALCreateREAL8ArrayL ( UINT4, ... );
00798 REAL8Array * XLALCreateREAL8ArrayV ( UINT4, UINT4 * );
00799 REAL8Array * XLALCreateREAL8Array ( UINT4Vector * );
00800 REAL8Array * XLALResizeREAL8ArrayL ( REAL8Array *, UINT4, ... );
00801 REAL8Array * XLALResizeREAL8ArrayV ( REAL8Array *, UINT4, UINT4 * );
00802 REAL8Array * XLALResizeREAL8Array ( REAL8Array *, UINT4Vector * );
00803 void XLALDestroyREAL8Array ( REAL8Array * );
00804 void LALDCreateArray ( LALStatus *, REAL8Array **, UINT4Vector * );
00805 void LALDResizeArray ( LALStatus *, REAL8Array **, UINT4Vector * );
00806 void LALDDestroyArray ( LALStatus *, REAL8Array ** );
00807 
00808 
00809 
00810 /* 
00811 
00812 
00813 
00814 
00815 
00816 
00817 
00818 
00819 
00820 
00821 
00822 
00823 
00824 
00825 
00826 
00827 
00828 
00829 
00830  * COMPLEX8
00831  */
00832 COMPLEX8Vector * XLALCreateCOMPLEX8Vector ( UINT4 length );
00833 COMPLEX8Vector * XLALResizeCOMPLEX8Vector ( COMPLEX8Vector * vector, UINT4 length );
00834 void XLALDestroyCOMPLEX8Vector ( COMPLEX8Vector * vector );
00835 void LALCCreateVector ( LALStatus *, COMPLEX8Vector **, UINT4 );
00836 void LALCResizeVector ( LALStatus *, COMPLEX8Vector **, UINT4 );
00837 void LALCDestroyVector ( LALStatus *, COMPLEX8Vector ** );
00838 
00839 /* 
00840 
00841 
00842 
00843 
00844 
00845 
00846 
00847 
00848 
00849 
00850 
00851 
00852 
00853 
00854 
00855 
00856 
00857 
00858 
00859 
00860 
00861 
00862 
00863  * COMPLEX8
00864  */
00865 COMPLEX8Array * XLALCreateCOMPLEX8ArrayL ( UINT4, ... );
00866 COMPLEX8Array * XLALCreateCOMPLEX8ArrayV ( UINT4, UINT4 * );
00867 COMPLEX8Array * XLALCreateCOMPLEX8Array ( UINT4Vector * );
00868 COMPLEX8Array * XLALResizeCOMPLEX8ArrayL ( COMPLEX8Array *, UINT4, ... );
00869 COMPLEX8Array * XLALResizeCOMPLEX8ArrayV ( COMPLEX8Array *, UINT4, UINT4 * );
00870 COMPLEX8Array * XLALResizeCOMPLEX8Array ( COMPLEX8Array *, UINT4Vector * );
00871 void XLALDestroyCOMPLEX8Array ( COMPLEX8Array * );
00872 void LALCCreateArray ( LALStatus *, COMPLEX8Array **, UINT4Vector * );
00873 void LALCResizeArray ( LALStatus *, COMPLEX8Array **, UINT4Vector * );
00874 void LALCDestroyArray ( LALStatus *, COMPLEX8Array ** );
00875 
00876 
00877 
00878 /* 
00879 
00880 
00881 
00882 
00883 
00884 
00885 
00886 
00887 
00888 
00889 
00890 
00891 
00892 
00893 
00894 
00895 
00896 
00897 
00898  * COMPLEX16
00899  */
00900 COMPLEX16Vector * XLALCreateCOMPLEX16Vector ( UINT4 length );
00901 COMPLEX16Vector * XLALResizeCOMPLEX16Vector ( COMPLEX16Vector * vector, UINT4 length );
00902 void XLALDestroyCOMPLEX16Vector ( COMPLEX16Vector * vector );
00903 void LALZCreateVector ( LALStatus *, COMPLEX16Vector **, UINT4 );
00904 void LALZResizeVector ( LALStatus *, COMPLEX16Vector **, UINT4 );
00905 void LALZDestroyVector ( LALStatus *, COMPLEX16Vector ** );
00906 
00907 /* 
00908 
00909 
00910 
00911 
00912 
00913 
00914 
00915 
00916 
00917 
00918 
00919 
00920 
00921 
00922 
00923 
00924 
00925 
00926 
00927 
00928 
00929 
00930 
00931  * COMPLEX16
00932  */
00933 COMPLEX16Array * XLALCreateCOMPLEX16ArrayL ( UINT4, ... );
00934 COMPLEX16Array * XLALCreateCOMPLEX16ArrayV ( UINT4, UINT4 * );
00935 COMPLEX16Array * XLALCreateCOMPLEX16Array ( UINT4Vector * );
00936 COMPLEX16Array * XLALResizeCOMPLEX16ArrayL ( COMPLEX16Array *, UINT4, ... );
00937 COMPLEX16Array * XLALResizeCOMPLEX16ArrayV ( COMPLEX16Array *, UINT4, UINT4 * );
00938 COMPLEX16Array * XLALResizeCOMPLEX16Array ( COMPLEX16Array *, UINT4Vector * );
00939 void XLALDestroyCOMPLEX16Array ( COMPLEX16Array * );
00940 void LALZCreateArray ( LALStatus *, COMPLEX16Array **, UINT4Vector * );
00941 void LALZResizeArray ( LALStatus *, COMPLEX16Array **, UINT4Vector * );
00942 void LALZDestroyArray ( LALStatus *, COMPLEX16Array ** );
00943 
00944 
00945 
00946 /* 
00947 
00948 
00949 
00950 
00951 
00952 
00953 
00954 
00955 
00956 
00957 
00958 
00959 
00960 
00961 
00962 
00963 
00964 
00965 
00966  * REAL4
00967  */
00968 REAL4Vector * XLALCreateVector ( UINT4 length );
00969 REAL4Vector * XLALResizeVector ( REAL4Vector * vector, UINT4 length );
00970 void XLALDestroyVector ( REAL4Vector * vector );
00971 void LALCreateVector ( LALStatus *, REAL4Vector **, UINT4 );
00972 void LALResizeVector ( LALStatus *, REAL4Vector **, UINT4 );
00973 void LALDestroyVector ( LALStatus *, REAL4Vector ** );
00974 
00975 /* 
00976 
00977 
00978 
00979 
00980 
00981 
00982 
00983 
00984 
00985 
00986 
00987 
00988 
00989 
00990 
00991 
00992 
00993 
00994 
00995 
00996 
00997 
00998 
00999  * REAL4
01000  */
01001 REAL4Array * XLALCreateArrayL ( UINT4, ... );
01002 REAL4Array *