source: Sophya/trunk/SophyaProg/Tests/tstndblk.cc@ 491

Last change on this file since 491 was 491, checked in by ansari, 26 years ago

Ajout programmes test (TMatrix Vector ...) Reza+cmv 21/10/99

File size: 4.2 KB
RevLine 
[491]1#include "machdefs.h"
2#include <iostream.h>
3#include <stdlib.h>
4#include <stdio.h>
5#include <string.h>
6#include <math.h>
7#include "outilsinit.h"
8#include "pexceptions.h"
9#include "ndatablock.h"
10
11using namespace PlanckDPC;
12
13////////////////////////////////////////////////////////////////////////////////////////
14int main(int narg,char *arg[])
15{
16PeidaInit();
17float x1[5] = {1.,2.,3.,4.,5.};
18float x2[5] = {10.,20.,30.,40.,50.};
19float x3[5] = {100.,200.,300.,400.,500.};
20
21{ // Pour voir explicitement le travail du destructeur
22
23//-----------------------------------------------------
24cout<<endl<<"Createur par defaut Va"<<endl;
25NDataBlock<int_4> V1; V1.Print(1,99);
26TRY {
27 cout<<endl<<"...Createur par copie V2e(V1)"<<endl;
28 NDataBlock<int_4> V2e(V1);
29} CATCHALL {
30 cout<<"...Exception catched"<<endl;
31} ENDTRY
32
33//-----------------------------------------------------
34cout<<endl<<"Createur A1(3)"<<endl;
35NDataBlock<float> A1(3);
36cout<<endl<<"Createur B1(5)"<<endl;
37NDataBlock<float> B1(5);
38A1.FillFrom(5,x1); A1.Print(0,999);
39B1.FillFrom(5,x1); B1.Print(0,999);
40
41cout<<endl<<"Createur A2(3)"<<endl;
42NDataBlock<float> A2(3);
43A2.FillFrom(5,x2); A2.Print(0,999);
44cout<<endl<<"Createur B2(5)"<<endl;
45NDataBlock<float> B2(5);
46B2.FillFrom(5,x2); B2.Print(0,999);
47
48cout<<endl<<"Createur A3(3)"<<endl;
49NDataBlock<float> A3(3);
50A3.FillFrom(5,x3); A3.Print(0,999);
51cout<<endl<<"Createur B3(5)"<<endl;
52NDataBlock<float> B3(5);
53B3.FillFrom(5,x3); B3.Print(0,999);
54
55//-----------------------------------------------------
56cout<<endl<<"Createur par copie AA1(A1)"<<endl;
57NDataBlock<float> AA1(A1);
58
59cout<<endl<<"Createur par copie BB1(B1)"<<endl;
60NDataBlock<float> BB1(B1);
61
62{cout<<endl<<"Createur par copie {BBB1(B1)}"<<endl;
63NDataBlock<float> BBB1(B1);}
64
65{cout<<endl<<"Createur avec bridge {Abr(5,x3,new Bridge)}"<<endl;
66NDataBlock<float> Abr(5,x3,new Bridge);
67Abr.Print(0,999);
68cout<<"x3 existe encore: "<<x3[0]<<",...,"<<x3[4]<<endl;}
69
70{cout<<endl<<"Createur avec bridge {Abr(5,dum,NULL)}"<<endl;
71float *dum = new float[10];
72for(int i=0;i<10;i++) dum[i] = 1000.+i;
73NDataBlock<float> Abr(10,dum);
74Abr.Print(0,999);}
75
76//-----------------------------------------------------
77cout<<endl<<endl;
78NDataBlock<float> AC(3);
79AC.Reset();
80cout<<endl<<"AC=2"<<endl;
81AC = 2; AC.Print(0,999);
82AC.Reset();
83cout<<endl<<"AC=A1"<<endl;
84AC = A1; AC.Print(0,999);
85
86//-----------------------------------------------------
87cout<<endl<<endl;
88AC.Reset();
89cout<<endl<<"AC+=2"<<endl;
90AC += 2; AC.Print(0,999);
91cout<<endl<<"AC+=2+3"<<endl;
92AC += 2+3; AC.Print(0,999);
93cout<<endl<<"AC+=3"<<endl;
94AC += 3; AC.Print(0,999);
95cout<<endl<<"AC-=3"<<endl;
96AC -= 3; AC.Print(0,999);
97cout<<endl<<"AC*=10"<<endl;
98AC *= 10; AC.Print(0,999);
99cout<<endl<<"AC/=10"<<endl;
100AC /= 10; AC.Print(0,999);
101
102//-----------------------------------------------------
103cout<<endl<<endl;
104AC.Reset(1000);
105cout<<endl<<"AC+=A1"<<endl;
106AC += A1; AC.Print(0,999);
107cout<<endl<<"AC-=A1"<<endl;
108AC.Reset(1000);
109AC -= A1; AC.Print(0,999);
110cout<<endl<<"AC*=A1"<<endl;
111AC.Reset(1000);
112AC *= A1; AC.Print(0,999);
113cout<<endl<<"AC/=A1"<<endl;
114AC.Reset(1000);
115AC /= A1; AC.Print(0,999);
116
117//-----------------------------------------------------
118cout<<endl<<endl;
119cout<<endl<<"AC=A1+2"<<endl;
120AC = A1+2.f; AC.Print(0,999);
121cout<<endl<<"AC=2+A1"<<endl;
122AC = 2.f+A1; AC.Print(0,999);
123cout<<endl<<"AC=A1*2"<<endl;
124AC = A1*2.f; AC.Print(0,999);
125cout<<endl<<"AC=2*A1"<<endl;
126AC = 2.f*A1; AC.Print(0,999);
127cout<<endl<<"AC=A1-2"<<endl;
128AC = A1-2.f; AC.Print(0,999);
129cout<<endl<<"AC=2-A1"<<endl;
130AC = 2.f-A1; AC.Print(0,999);
131cout<<endl<<"AC=A1/2"<<endl;
132AC = A1/2.f; AC.Print(0,999);
133cout<<endl<<"AC=2/A1"<<endl;
134AC = 2.f/A1; AC.Print(0,999);
135
136//-----------------------------------------------------
137cout<<endl<<endl;
138cout<<endl<<"AC=A1+A2"<<endl;
139AC = A1 + A2; AC.Print(0,999);
140cout<<endl<<"AC=A2-A1"<<endl;
141AC = A2 - A1; AC.Print(0,999);
142cout<<endl<<"AC=A1*A2"<<endl;
143AC = A1 * A2; AC.Print(0,999);
144cout<<endl<<"AC=A2/A1"<<endl;
145AC = A2 / A1; AC.Print(0,999);
146
147//-----------------------------------------------------
148cout<<endl<<endl;
149cout<<endl<<"AC=A1+A2+A3"<<" "<<&A1<<","<<&A2<<","<<&A3<<endl;
150AC = A1 + A2 + A3; AC.Print(0,999);
151
152
153cout<<"\n\n\n"<<endl;
154} // Pour voir explicitement le travail du destructeur
155cout<<"Fin du Job"<<endl;
156
157exit(0);
158}
Note: See TracBrowser for help on using the repository browser.