source: Sophya/trunk/Poubelle/DPC:FitsIOServer/Tests/tstndblk.cc@ 658

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

no message

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