| 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 | } | 
|---|