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