source: Sophya/trunk/SophyaProg/Tests/tsttvec.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: 2.4 KB
Line 
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 "cvector.h"
10#include "tvector.h"
11#include "nbrandom.h"
12
13using namespace PlanckDPC;
14
15////////////////////////////////////////////////////////////////////////////////////////
16int main(int narg,char *arg[])
17{
18PeidaInit();
19r_8 v[10] = {1,2,3,4,5,6,7,8,9,10};
20{
21cout<<"TVector(10)"<<endl;
22TVector<r_8> v1(10);
23{for(int i=0;i<10;i++) v1(i)=100+i;}
24cout<<"nel="<<v1.NElts()<<endl<<v1;
25
26{
27cout << " Test ecriture PPersist TVector " << endl;
28FIO_TVector<r_8> ftv(v1);
29ftv.Write("tvec.ppf");
30}
31{
32cout << " Test lecture PPersist TVector " << endl;
33FIO_TVector<r_8> ftv("tvec.ppf");
34cout<<"Vlue:"<<(TVector<r_8>)ftv<<endl;
35}
36
37
38cout<<"TVector(10,v,br)"<<endl;
39TVector<r_8> v2(10,v,new Bridge); cout<<v2;
40
41cout<<"TVector()"<<endl;
42TVector<r_8> v3; cout<<v3;
43
44cout<<"v3 = v1"<<endl;
45v3 = v1; cout<<v3;
46
47cout<<"v3 = 123456"<<endl;
48v3 = 123456.; cout<<v3;
49
50cout<<"ps = v1 * v2"<<endl;
51r_8 ps = v1 * v2; cout<<"ps="<<ps<<endl;
52
53cout<<"v2 = 10.*v1"<<endl;
54v2 = 10.*v1; cout<<v2;
55cout<<"v2 = v2*0.1"<<endl;
56v2 = v2*0.1; cout<<v2;
57
58cout<<"v2 = v1/10."<<endl;
59v2 = v1/10.; cout<<v2;
60cout<<"v2 = v2/0.1"<<endl;
61v2 = v2/0.1; cout<<v2;
62
63cout<<"v2 = 10.+v1"<<endl;
64v2 = 10.+v1; cout<<v2;
65cout<<"v2 = v2-10."<<endl;
66v2 = v2-10.; cout<<v2;
67
68cout<<"v2 = 10.-v1"<<endl;
69v2 = 10.-v1; cout<<v2;
70cout<<"v2 = (-1.)*v2+10."<<endl;
71v2 = (-1.)*v2+10.; cout<<v2;
72
73cout<<"v2 += 10."<<endl;
74v2 += 10.; cout<<v2;
75cout<<"v2 -= 10."<<endl;
76v2 -= 10.; cout<<v2;
77cout<<"v2 *= 10."<<endl;
78v2 *= 10.; cout<<v2;
79cout<<"v2 /= 10."<<endl;
80v2 /= 10.; cout<<v2;
81
82cout<<"v3.ReSize(4)"<<endl;
83v3.ReSize(4);
84{for(int i=0;i<4;i++) v3(i)=i+1;} cout<<v3;
85TMatrix<r_8> M(2,4);
86{for(int i=0;i<8;i++) M[i]=i+1;} cout<<M;
87TVector<r_8> v4(10);
88v4 = M*v3; cout<<v4;
89
90cout<<"LinSolve(A,B,X)"<<endl;
91TMatrix<r_8> A(5,5);
92TVector<r_8> B(5);
93{for(int i=0;i<25;i++) {A[i]=drand01(); if(i<5) B(i)=drand01();}}
94TVector<r_8> X;
95X = B;
96cout<<"A = "<<A; cout<<"B = "<<B;
97r_8 d=0.;
98d = LinSolve(A,B,X);
99cout<<"d="<<d<<endl; cout<<"X = "<<X;
100X = A*X; cout<<"A*X = "<<X;
101X -= B; cout<<"B-X = "<<X;
102cout<<"LinSolveInPlace(A,B)"<<endl;
103X = B;
104d = LinSolveInPlace(A,X);
105cout<<"d="<<d<<endl; cout<<"X = "<<X;
106
107cout<<"Conversion en ancien Vector"<<endl;
108Vector Vold(v1);
109cout<<"Vold = "<<Vold;
110
111} // destruction de toutes les vecteurs
112exit(0);
113}
Note: See TracBrowser for help on using the repository browser.