| [221] | 1 | #define BZ_GENERATE_GLOBAL_INSTANCES | 
|---|
|  | 2 |  | 
|---|
|  | 3 | /* | 
|---|
|  | 4 | * This module contains instances of global variables and objects. | 
|---|
|  | 5 | * The preprocessor symbol _bz_global normally expands to "extern", | 
|---|
|  | 6 | * but the declaration of BZ_GENERATE_GLOBAL_INSTANCES causes it | 
|---|
|  | 7 | * to expand to "" for this source file.  This ensures that globals | 
|---|
|  | 8 | * will have one unique instance, in libblitz.a. | 
|---|
|  | 9 | */ | 
|---|
|  | 10 |  | 
|---|
|  | 11 | #include <blitz/indexexpr.h>      // Tensor index objects | 
|---|
|  | 12 | #include <blitz/bzdebug.h>        // Test suite globals | 
|---|
|  | 13 | #include <blitz/array.h>          // Dummy array object (_dummyArray) | 
|---|
|  | 14 |  | 
|---|
|  | 15 | // NEEDS_WORK: after switch from RCS to CVS, get a version identifier. | 
|---|
|  | 16 | char* _blitz_id = "@(#) Blitz++ class library"; | 
|---|
|  | 17 |  | 
|---|
|  | 18 | // Instatiation explicite de vecteurs et matrices | 
|---|
|  | 19 |  | 
|---|
|  | 20 | using namespace blitz ; | 
|---|
|  | 21 |  | 
|---|
|  | 22 | void tst_instance_arrays_forlibs() | 
|---|
|  | 23 | { | 
|---|
|  | 24 | Array<int,1> iv(3), iv2(3); | 
|---|
|  | 25 | Array<long,1> lv(3), lv2(3); | 
|---|
|  | 26 | Array<float,1> fv(3), fv2(3); | 
|---|
|  | 27 | Array<double,1> dv(3), dv2(3); | 
|---|
|  | 28 | Array<int,2> im(3,3); | 
|---|
|  | 29 | Array<long,2> lm(3,3); | 
|---|
|  | 30 | Array<float,2> fm(3,3); | 
|---|
|  | 31 | Array<double,2> dm(3,3); | 
|---|
|  | 32 | dv = 1.5, 22.66, 333.777; | 
|---|
|  | 33 | dm = 9.1, 88.22, 777.333, | 
|---|
|  | 34 | 8.2, 77.33, 666.444, | 
|---|
|  | 35 | 7.3, 66.44, 555.333; | 
|---|
|  | 36 | firstIndex i; | 
|---|
|  | 37 | secondIndex j; | 
|---|
|  | 38 | dv2 = sum(dm(i,j)*dv(j),j); | 
|---|
|  | 39 | iv = lv = fv = dv; | 
|---|
|  | 40 | im = lm = fm = dm; | 
|---|
|  | 41 | fv2 = sum(fm(i,j)*fv(j),j); | 
|---|
|  | 42 | iv2 = sum(im(i,j)*iv(j),j); | 
|---|
|  | 43 | lv2 = sum(lm(i,j)*lv(j),j); | 
|---|
|  | 44 | } | 
|---|