00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 #include <stdlib.h>
00051 #include <stdio.h>
00052 #include <string.h>
00053
00054 #include <lal/LALConfig.h>
00055 #include <lal/PrintVector.h>
00056
00057 #ifdef HAVE_UNISTD_H
00058 #include <unistd.h>
00059 #endif
00060
00061 #ifdef HAVE_GETOPT_H
00062 #include <getopt.h>
00063 #endif
00064
00065 #include <lal/LALStdlib.h>
00066 #include <lal/AVFactories.h>
00067
00068 #define CODES_(x) #x
00069 #define CODES(x) CODES_(x)
00070
00071 NRCSID( MAIN, "$Id: VectorFactoriesTest.m4,v 1.8 2003/09/29 00:33:24 dwchin Exp $" );
00072
00073 extern char *optarg;
00074 extern int optind;
00075
00076 int lalDebugLevel = 0;
00077 int verbose = 0;
00078
00079 static void
00080 Usage (const char *program, int exitflag);
00081
00082 static void
00083 ParseOptions (int argc, char *argv[]);
00084
00085 static void
00086 TestStatus (LALStatus *status, const char *expectedCodes, int exitCode);
00087
00088 static void
00089 ClearStatus (LALStatus *status);
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113 static void ZVectorFactoriesTest ( void )
00114 {
00115 const UINT4 length = 16;
00116 static LALStatus status;
00117 static COMPLEX16Vector *vector = ( COMPLEX16Vector * )NULL;
00118 static COMPLEX16Vector vstore;
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128 LALZCreateVector ( &status, &vector, length );
00129 TestStatus( &status, CODES( 0 ), 1 );
00130
00131 if (verbose)
00132 {
00133 printf("VFT line %d:\n", __LINE__);
00134 printf(" vector->length = %d\n", vector->length);
00135 }
00136
00137 memset( vector->data, 0, length*sizeof( COMPLEX16 ) );
00138
00139 if (verbose)
00140 {
00141 LALZPrintVector ( vector );
00142 }
00143
00144
00145
00146 LALZResizeVector ( &status, &vector, length*3 );
00147 TestStatus( &status, CODES( 0 ), 1 );
00148
00149 if (verbose)
00150 {
00151 printf("VFT line %d:\n", __LINE__);
00152 printf(" vector->length = %d\n", vector->length);
00153 }
00154
00155
00156 memset( vector->data, 0, length*sizeof( COMPLEX16 ) );
00157
00158 if (verbose)
00159 {
00160 LALZPrintVector ( vector );
00161 }
00162
00163
00164 LALZResizeVector ( &status, &vector, length*2 );
00165 TestStatus( &status, CODES( 0 ), 1 );
00166
00167 if (verbose)
00168 {
00169 printf("VFT line %d:\n", __LINE__);
00170 printf(" vector->length = %d\n", vector->length);
00171 LALZPrintVector ( vector );
00172 }
00173
00174
00175 LALZDestroyVector ( &status, &vector );
00176 TestStatus( &status, CODES( 0 ), 1 );
00177
00178 if (verbose)
00179 {
00180 printf("VFT line %d:\n", __LINE__);
00181 printf(" vector = %#x\n", (unsigned int)vector);
00182 }
00183
00184 LALCheckMemoryLeaks();
00185
00186
00187 LALZResizeVector ( &status, &vector, length );
00188 TestStatus( &status, CODES( 0 ), 1 );
00189
00190 if (verbose)
00191 {
00192 printf("VFT line %d:\n", __LINE__);
00193 printf(" vector->length = %d\n", vector->length);
00194 }
00195
00196 memset( vector->data, 0, length*sizeof( COMPLEX16 ) );
00197
00198 if (verbose)
00199 {
00200 LALZPrintVector ( vector );
00201 }
00202
00203 LALZResizeVector ( &status, &vector, 0 );
00204 TestStatus( &status, CODES( 0 ), 1);
00205
00206 if (verbose)
00207 {
00208 printf("VFT line %d:\n", __LINE__);
00209 printf(" vector = %#x\n", (unsigned int)vector);
00210 }
00211
00212 LALCheckMemoryLeaks();
00213
00214
00215
00216
00217
00218
00219
00220
00221 #ifndef LAL_NDEBUG
00222
00223 if ( ! lalNoDebug )
00224 {
00225 if (verbose)
00226 {
00227 printf("VFT line %d\n", __LINE__);
00228 printf(" vector = %#x\n", (unsigned int)vector);
00229 }
00230
00231 LALZCreateVector ( &status, &vector, 0 );
00232 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00233
00234 LALZResizeVector ( &status, &vector, 0 );
00235 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00236
00237 LALZDestroyVector ( &status, NULL );
00238 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00239
00240 LALZCreateVector ( &status, NULL, length );
00241 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00242
00243 LALZDestroyVector ( &status, &vector );
00244 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00245
00246 vector = &vstore;
00247 LALZCreateVector ( &status, &vector, length );
00248 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00249
00250 LALZDestroyVector ( &status, &vector );
00251 TestStatus( &status, CODES( AVFACTORIESH_EDPTR ), 1 );
00252 }
00253
00254 #else
00255 vector = &vstore;
00256 #endif
00257
00258 LALCheckMemoryLeaks();
00259 printf( "PASS: tests of LALZCreateVector, LALZResizeVector, and LALZDestroyVector \n" );
00260
00261 return;
00262 }
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287 static void CVectorFactoriesTest ( void )
00288 {
00289 const UINT4 length = 16;
00290 static LALStatus status;
00291 static COMPLEX8Vector *vector = ( COMPLEX8Vector * )NULL;
00292 static COMPLEX8Vector vstore;
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302 LALCCreateVector ( &status, &vector, length );
00303 TestStatus( &status, CODES( 0 ), 1 );
00304
00305 if (verbose)
00306 {
00307 printf("VFT line %d:\n", __LINE__);
00308 printf(" vector->length = %d\n", vector->length);
00309 }
00310
00311 memset( vector->data, 0, length*sizeof( COMPLEX8 ) );
00312
00313 if (verbose)
00314 {
00315 LALCPrintVector ( vector );
00316 }
00317
00318
00319
00320 LALCResizeVector ( &status, &vector, length*3 );
00321 TestStatus( &status, CODES( 0 ), 1 );
00322
00323 if (verbose)
00324 {
00325 printf("VFT line %d:\n", __LINE__);
00326 printf(" vector->length = %d\n", vector->length);
00327 }
00328
00329
00330 memset( vector->data, 0, length*sizeof( COMPLEX8 ) );
00331
00332 if (verbose)
00333 {
00334 LALCPrintVector ( vector );
00335 }
00336
00337
00338 LALCResizeVector ( &status, &vector, length*2 );
00339 TestStatus( &status, CODES( 0 ), 1 );
00340
00341 if (verbose)
00342 {
00343 printf("VFT line %d:\n", __LINE__);
00344 printf(" vector->length = %d\n", vector->length);
00345 LALCPrintVector ( vector );
00346 }
00347
00348
00349 LALCDestroyVector ( &status, &vector );
00350 TestStatus( &status, CODES( 0 ), 1 );
00351
00352 if (verbose)
00353 {
00354 printf("VFT line %d:\n", __LINE__);
00355 printf(" vector = %#x\n", (unsigned int)vector);
00356 }
00357
00358 LALCheckMemoryLeaks();
00359
00360
00361 LALCResizeVector ( &status, &vector, length );
00362 TestStatus( &status, CODES( 0 ), 1 );
00363
00364 if (verbose)
00365 {
00366 printf("VFT line %d:\n", __LINE__);
00367 printf(" vector->length = %d\n", vector->length);
00368 }
00369
00370 memset( vector->data, 0, length*sizeof( COMPLEX8 ) );
00371
00372 if (verbose)
00373 {
00374 LALCPrintVector ( vector );
00375 }
00376
00377 LALCResizeVector ( &status, &vector, 0 );
00378 TestStatus( &status, CODES( 0 ), 1);
00379
00380 if (verbose)
00381 {
00382 printf("VFT line %d:\n", __LINE__);
00383 printf(" vector = %#x\n", (unsigned int)vector);
00384 }
00385
00386 LALCheckMemoryLeaks();
00387
00388
00389
00390
00391
00392
00393
00394
00395 #ifndef LAL_NDEBUG
00396
00397 if ( ! lalNoDebug )
00398 {
00399 if (verbose)
00400 {
00401 printf("VFT line %d\n", __LINE__);
00402 printf(" vector = %#x\n", (unsigned int)vector);
00403 }
00404
00405 LALCCreateVector ( &status, &vector, 0 );
00406 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00407
00408 LALCResizeVector ( &status, &vector, 0 );
00409 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00410
00411 LALCDestroyVector ( &status, NULL );
00412 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00413
00414 LALCCreateVector ( &status, NULL, length );
00415 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00416
00417 LALCDestroyVector ( &status, &vector );
00418 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00419
00420 vector = &vstore;
00421 LALCCreateVector ( &status, &vector, length );
00422 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00423
00424 LALCDestroyVector ( &status, &vector );
00425 TestStatus( &status, CODES( AVFACTORIESH_EDPTR ), 1 );
00426 }
00427
00428 #else
00429 vector = &vstore;
00430 #endif
00431
00432 LALCheckMemoryLeaks();
00433 printf( "PASS: tests of LALCCreateVector, LALCResizeVector, and LALCDestroyVector \n" );
00434
00435 return;
00436 }
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461 static void DVectorFactoriesTest ( void )
00462 {
00463 const UINT4 length = 16;
00464 static LALStatus status;
00465 static REAL8Vector *vector = ( REAL8Vector * )NULL;
00466 static REAL8Vector vstore;
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476 LALDCreateVector ( &status, &vector, length );
00477 TestStatus( &status, CODES( 0 ), 1 );
00478
00479 if (verbose)
00480 {
00481 printf("VFT line %d:\n", __LINE__);
00482 printf(" vector->length = %d\n", vector->length);
00483 }
00484
00485 memset( vector->data, 0, length*sizeof( REAL8 ) );
00486
00487 if (verbose)
00488 {
00489 LALDPrintVector ( vector );
00490 }
00491
00492
00493
00494 LALDResizeVector ( &status, &vector, length*3 );
00495 TestStatus( &status, CODES( 0 ), 1 );
00496
00497 if (verbose)
00498 {
00499 printf("VFT line %d:\n", __LINE__);
00500 printf(" vector->length = %d\n", vector->length);
00501 }
00502
00503
00504 memset( vector->data, 0, length*sizeof( REAL8 ) );
00505
00506 if (verbose)
00507 {
00508 LALDPrintVector ( vector );
00509 }
00510
00511
00512 LALDResizeVector ( &status, &vector, length*2 );
00513 TestStatus( &status, CODES( 0 ), 1 );
00514
00515 if (verbose)
00516 {
00517 printf("VFT line %d:\n", __LINE__);
00518 printf(" vector->length = %d\n", vector->length);
00519 LALDPrintVector ( vector );
00520 }
00521
00522
00523 LALDDestroyVector ( &status, &vector );
00524 TestStatus( &status, CODES( 0 ), 1 );
00525
00526 if (verbose)
00527 {
00528 printf("VFT line %d:\n", __LINE__);
00529 printf(" vector = %#x\n", (unsigned int)vector);
00530 }
00531
00532 LALCheckMemoryLeaks();
00533
00534
00535 LALDResizeVector ( &status, &vector, length );
00536 TestStatus( &status, CODES( 0 ), 1 );
00537
00538 if (verbose)
00539 {
00540 printf("VFT line %d:\n", __LINE__);
00541 printf(" vector->length = %d\n", vector->length);
00542 }
00543
00544 memset( vector->data, 0, length*sizeof( REAL8 ) );
00545
00546 if (verbose)
00547 {
00548 LALDPrintVector ( vector );
00549 }
00550
00551 LALDResizeVector ( &status, &vector, 0 );
00552 TestStatus( &status, CODES( 0 ), 1);
00553
00554 if (verbose)
00555 {
00556 printf("VFT line %d:\n", __LINE__);
00557 printf(" vector = %#x\n", (unsigned int)vector);
00558 }
00559
00560 LALCheckMemoryLeaks();
00561
00562
00563
00564
00565
00566
00567
00568
00569 #ifndef LAL_NDEBUG
00570
00571 if ( ! lalNoDebug )
00572 {
00573 if (verbose)
00574 {
00575 printf("VFT line %d\n", __LINE__);
00576 printf(" vector = %#x\n", (unsigned int)vector);
00577 }
00578
00579 LALDCreateVector ( &status, &vector, 0 );
00580 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00581
00582 LALDResizeVector ( &status, &vector, 0 );
00583 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00584
00585 LALDDestroyVector ( &status, NULL );
00586 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00587
00588 LALDCreateVector ( &status, NULL, length );
00589 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00590
00591 LALDDestroyVector ( &status, &vector );
00592 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00593
00594 vector = &vstore;
00595 LALDCreateVector ( &status, &vector, length );
00596 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00597
00598 LALDDestroyVector ( &status, &vector );
00599 TestStatus( &status, CODES( AVFACTORIESH_EDPTR ), 1 );
00600 }
00601
00602 #else
00603 vector = &vstore;
00604 #endif
00605
00606 LALCheckMemoryLeaks();
00607 printf( "PASS: tests of LALDCreateVector, LALDResizeVector, and LALDDestroyVector \n" );
00608
00609 return;
00610 }
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635 static void SVectorFactoriesTest ( void )
00636 {
00637 const UINT4 length = 16;
00638 static LALStatus status;
00639 static REAL4Vector *vector = ( REAL4Vector * )NULL;
00640 static REAL4Vector vstore;
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650 LALSCreateVector ( &status, &vector, length );
00651 TestStatus( &status, CODES( 0 ), 1 );
00652
00653 if (verbose)
00654 {
00655 printf("VFT line %d:\n", __LINE__);
00656 printf(" vector->length = %d\n", vector->length);
00657 }
00658
00659 memset( vector->data, 0, length*sizeof( REAL4 ) );
00660
00661 if (verbose)
00662 {
00663 LALSPrintVector ( vector );
00664 }
00665
00666
00667
00668 LALSResizeVector ( &status, &vector, length*3 );
00669 TestStatus( &status, CODES( 0 ), 1 );
00670
00671 if (verbose)
00672 {
00673 printf("VFT line %d:\n", __LINE__);
00674 printf(" vector->length = %d\n", vector->length);
00675 }
00676
00677
00678 memset( vector->data, 0, length*sizeof( REAL4 ) );
00679
00680 if (verbose)
00681 {
00682 LALSPrintVector ( vector );
00683 }
00684
00685
00686 LALSResizeVector ( &status, &vector, length*2 );
00687 TestStatus( &status, CODES( 0 ), 1 );
00688
00689 if (verbose)
00690 {
00691 printf("VFT line %d:\n", __LINE__);
00692 printf(" vector->length = %d\n", vector->length);
00693 LALSPrintVector ( vector );
00694 }
00695
00696
00697 LALSDestroyVector ( &status, &vector );
00698 TestStatus( &status, CODES( 0 ), 1 );
00699
00700 if (verbose)
00701 {
00702 printf("VFT line %d:\n", __LINE__);
00703 printf(" vector = %#x\n", (unsigned int)vector);
00704 }
00705
00706 LALCheckMemoryLeaks();
00707
00708
00709 LALSResizeVector ( &status, &vector, length );
00710 TestStatus( &status, CODES( 0 ), 1 );
00711
00712 if (verbose)
00713 {
00714 printf("VFT line %d:\n", __LINE__);
00715 printf(" vector->length = %d\n", vector->length);
00716 }
00717
00718 memset( vector->data, 0, length*sizeof( REAL4 ) );
00719
00720 if (verbose)
00721 {
00722 LALSPrintVector ( vector );
00723 }
00724
00725 LALSResizeVector ( &status, &vector, 0 );
00726 TestStatus( &status, CODES( 0 ), 1);
00727
00728 if (verbose)
00729 {
00730 printf("VFT line %d:\n", __LINE__);
00731 printf(" vector = %#x\n", (unsigned int)vector);
00732 }
00733
00734 LALCheckMemoryLeaks();
00735
00736
00737
00738
00739
00740
00741
00742
00743 #ifndef LAL_NDEBUG
00744
00745 if ( ! lalNoDebug )
00746 {
00747 if (verbose)
00748 {
00749 printf("VFT line %d\n", __LINE__);
00750 printf(" vector = %#x\n", (unsigned int)vector);
00751 }
00752
00753 LALSCreateVector ( &status, &vector, 0 );
00754 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00755
00756 LALSResizeVector ( &status, &vector, 0 );
00757 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00758
00759 LALSDestroyVector ( &status, NULL );
00760 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00761
00762 LALSCreateVector ( &status, NULL, length );
00763 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00764
00765 LALSDestroyVector ( &status, &vector );
00766 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00767
00768 vector = &vstore;
00769 LALSCreateVector ( &status, &vector, length );
00770 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00771
00772 LALSDestroyVector ( &status, &vector );
00773 TestStatus( &status, CODES( AVFACTORIESH_EDPTR ), 1 );
00774 }
00775
00776 #else
00777 vector = &vstore;
00778 #endif
00779
00780 LALCheckMemoryLeaks();
00781 printf( "PASS: tests of LALSCreateVector, LALSResizeVector, and LALSDestroyVector \n" );
00782
00783 return;
00784 }
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806
00807
00808
00809 static void I2VectorFactoriesTest ( void )
00810 {
00811 const UINT4 length = 16;
00812 static LALStatus status;
00813 static INT2Vector *vector = ( INT2Vector * )NULL;
00814 static INT2Vector vstore;
00815
00816
00817
00818
00819
00820
00821
00822
00823
00824 LALI2CreateVector ( &status, &vector, length );
00825 TestStatus( &status, CODES( 0 ), 1 );
00826
00827 if (verbose)
00828 {
00829 printf("VFT line %d:\n", __LINE__);
00830 printf(" vector->length = %d\n", vector->length);
00831 }
00832
00833 memset( vector->data, 0, length*sizeof( INT2 ) );
00834
00835 if (verbose)
00836 {
00837 LALI2PrintVector ( vector );
00838 }
00839
00840
00841
00842 LALI2ResizeVector ( &status, &vector, length*3 );
00843 TestStatus( &status, CODES( 0 ), 1 );
00844
00845 if (verbose)
00846 {
00847 printf("VFT line %d:\n", __LINE__);
00848 printf(" vector->length = %d\n", vector->length);
00849 }
00850
00851
00852 memset( vector->data, 0, length*sizeof( INT2 ) );
00853
00854 if (verbose)
00855 {
00856 LALI2PrintVector ( vector );
00857 }
00858
00859
00860 LALI2ResizeVector ( &status, &vector, length*2 );
00861 TestStatus( &status, CODES( 0 ), 1 );
00862
00863 if (verbose)
00864 {
00865 printf("VFT line %d:\n", __LINE__);
00866 printf(" vector->length = %d\n", vector->length);
00867 LALI2PrintVector ( vector );
00868 }
00869
00870
00871 LALI2DestroyVector ( &status, &vector );
00872 TestStatus( &status, CODES( 0 ), 1 );
00873
00874 if (verbose)
00875 {
00876 printf("VFT line %d:\n", __LINE__);
00877 printf(" vector = %#x\n", (unsigned int)vector);
00878 }
00879
00880 LALCheckMemoryLeaks();
00881
00882
00883 LALI2ResizeVector ( &status, &vector, length );
00884 TestStatus( &status, CODES( 0 ), 1 );
00885
00886 if (verbose)
00887 {
00888 printf("VFT line %d:\n", __LINE__);
00889 printf(" vector->length = %d\n", vector->length);
00890 }
00891
00892 memset( vector->data, 0, length*sizeof( INT2 ) );
00893
00894 if (verbose)
00895 {
00896 LALI2PrintVector ( vector );
00897 }
00898
00899 LALI2ResizeVector ( &status, &vector, 0 );
00900 TestStatus( &status, CODES( 0 ), 1);
00901
00902 if (verbose)
00903 {
00904 printf("VFT line %d:\n", __LINE__);
00905 printf(" vector = %#x\n", (unsigned int)vector);
00906 }
00907
00908 LALCheckMemoryLeaks();
00909
00910
00911
00912
00913
00914
00915
00916
00917 #ifndef LAL_NDEBUG
00918
00919 if ( ! lalNoDebug )
00920 {
00921 if (verbose)
00922 {
00923 printf("VFT line %d\n", __LINE__);
00924 printf(" vector = %#x\n", (unsigned int)vector);
00925 }
00926
00927 LALI2CreateVector ( &status, &vector, 0 );
00928 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00929
00930 LALI2ResizeVector ( &status, &vector, 0 );
00931 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
00932
00933 LALI2DestroyVector ( &status, NULL );
00934 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00935
00936 LALI2CreateVector ( &status, NULL, length );
00937 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
00938
00939 LALI2DestroyVector ( &status, &vector );
00940 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00941
00942 vector = &vstore;
00943 LALI2CreateVector ( &status, &vector, length );
00944 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
00945
00946 LALI2DestroyVector ( &status, &vector );
00947 TestStatus( &status, CODES( AVFACTORIESH_EDPTR ), 1 );
00948 }
00949
00950 #else
00951 vector = &vstore;
00952 #endif
00953
00954 LALCheckMemoryLeaks();
00955 printf( "PASS: tests of LALI2CreateVector, LALI2ResizeVector, and LALI2DestroyVector \n" );
00956
00957 return;
00958 }
00959
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970
00971
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981
00982
00983 static void I4VectorFactoriesTest ( void )
00984 {
00985 const UINT4 length = 16;
00986 static LALStatus status;
00987 static INT4Vector *vector = ( INT4Vector * )NULL;
00988 static INT4Vector vstore;
00989
00990
00991
00992
00993
00994
00995
00996
00997
00998 LALI4CreateVector ( &status, &vector, length );
00999 TestStatus( &status, CODES( 0 ), 1 );
01000
01001 if (verbose)
01002 {
01003 printf("VFT line %d:\n", __LINE__);
01004 printf(" vector->length = %d\n", vector->length);
01005 }
01006
01007 memset( vector->data, 0, length*sizeof( INT4 ) );
01008
01009 if (verbose)
01010 {
01011 LALI4PrintVector ( vector );
01012 }
01013
01014
01015
01016 LALI4ResizeVector ( &status, &vector, length*3 );
01017 TestStatus( &status, CODES( 0 ), 1 );
01018
01019 if (verbose)
01020 {
01021 printf("VFT line %d:\n", __LINE__);
01022 printf(" vector->length = %d\n", vector->length);
01023 }
01024
01025
01026 memset( vector->data, 0, length*sizeof( INT4 ) );
01027
01028 if (verbose)
01029 {
01030 LALI4PrintVector ( vector );
01031 }
01032
01033
01034 LALI4ResizeVector ( &status, &vector, length*2 );
01035 TestStatus( &status, CODES( 0 ), 1 );
01036
01037 if (verbose)
01038 {
01039 printf("VFT line %d:\n", __LINE__);
01040 printf(" vector->length = %d\n", vector->length);
01041 LALI4PrintVector ( vector );
01042 }
01043
01044
01045 LALI4DestroyVector ( &status, &vector );
01046 TestStatus( &status, CODES( 0 ), 1 );
01047
01048 if (verbose)
01049 {
01050 printf("VFT line %d:\n", __LINE__);
01051 printf(" vector = %#x\n", (unsigned int)vector);
01052 }
01053
01054 LALCheckMemoryLeaks();
01055
01056
01057 LALI4ResizeVector ( &status, &vector, length );
01058 TestStatus( &status, CODES( 0 ), 1 );
01059
01060 if (verbose)
01061 {
01062 printf("VFT line %d:\n", __LINE__);
01063 printf(" vector->length = %d\n", vector->length);
01064 }
01065
01066 memset( vector->data, 0, length*sizeof( INT4 ) );
01067
01068 if (verbose)
01069 {
01070 LALI4PrintVector ( vector );
01071 }
01072
01073 LALI4ResizeVector ( &status, &vector, 0 );
01074 TestStatus( &status, CODES( 0 ), 1);
01075
01076 if (verbose)
01077 {
01078 printf("VFT line %d:\n", __LINE__);
01079 printf(" vector = %#x\n", (unsigned int)vector);
01080 }
01081
01082 LALCheckMemoryLeaks();
01083
01084
01085
01086
01087
01088
01089
01090
01091 #ifndef LAL_NDEBUG
01092
01093 if ( ! lalNoDebug )
01094 {
01095 if (verbose)
01096 {
01097 printf("VFT line %d\n", __LINE__);
01098 printf(" vector = %#x\n", (unsigned int)vector);
01099 }
01100
01101 LALI4CreateVector ( &status, &vector, 0 );
01102 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
01103
01104 LALI4ResizeVector ( &status, &vector, 0 );
01105 TestStatus( &status, CODES( AVFACTORIESH_ELENGTH ), 1 );
01106
01107 LALI4DestroyVector ( &status, NULL );
01108 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
01109
01110 LALI4CreateVector ( &status, NULL, length );
01111 TestStatus( &status, CODES( AVFACTORIESH_EVPTR ), 1 );
01112
01113 LALI4DestroyVector ( &status, &vector );
01114 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
01115
01116 vector = &vstore;
01117 LALI4CreateVector ( &status, &vector, length );
01118 TestStatus( &status, CODES( AVFACTORIESH_EUPTR ), 1 );
01119
01120 LALI4DestroyVector ( &status, &vector );
01121 TestStatus( &status, CODES( AVFACTORIESH_EDPTR ), 1 );
01122 }
01123
01124 #else
01125 vector = &vstore;
01126 #endif
01127
01128 LALCheckMemoryLeaks();
01129 printf( "PASS: tests of LALI4CreateVector, LALI4ResizeVector, and LALI4DestroyVector \n" );
01130
01131 return;
01132 }
01133
01134
01135
01136
01137
01138
01139
01140
01141
01142
01143
01144
01145
01146
01147
01148
01149
01150
01151
01152
01153
01154
01155
01156
01157 static void I8VectorFactoriesTest ( void )
01158 {
01159 const UINT4 length = 16;
01160 static LALStatus status;
01161 static INT8Vector *vector = ( INT8Vector * )NULL;
01162 static INT8Vector vstore;
01163
01164
01165
01166
01167
01168
01169
01170
01171
01172 LALI8CreateVector ( &status, &vector, length );
01173 TestStatus( &status, CODES( 0 ), 1 );
01174
01175 if (verbose)
01176 {
01177 printf("VFT line %d:\n", __LINE__);
01178 printf(" vector->length = %d\n", vector->length);
01179 }
01180
01181 memset( vector->data, 0, length*sizeof( INT8 ) );
01182
01183 if (verbose)
01184 {
01185 LALI8PrintVector ( vector );
01186 }
01187
01188
01189
01190 LALI8ResizeVector ( &status, &vector, length*3 );
01191 TestStatus( &status, CODES( 0 ), 1 );
01192
01193 if (verbose)
01194 {
01195 printf("VFT line %d:\n", __LINE__);
01196 printf(" vector->length = %d\n", vector->length);
01197 }
01198
01199
01200 memset( vector->data, 0, length*sizeof( INT8 ) );
01201
01202 if (verbose)
01203 {
01204 LALI8PrintVector ( vector );
01205 }
01206
01207
01208 LALI8ResizeVector ( &status, &vector, length*2 );
01209 TestStatus( &sta