Home | Develop | Download | Contact
test_matrix_static_array.cpp
1 
9 #include <iostream>
10 #include <Pds/Ra>
11 #include <cmath>
12 
13 int main(void)
14 {
15  std::string str;
16  Pds::Matrix A=Pds::Eye(3);
17 
18  unsigned int Nlin=2;
19  unsigned int Ncol=2;
20  double **array=NULL;
21 
22  char filepath[]="filedat.txt";
23 
24 
25 
26  array=Pds::Array<double>::ArrayAllocate(Nlin,Ncol);
27  if(array==NULL) return 0;
28 
29  array[0][0]=0.0/0.0; array[0][1]=0.0/1.0;
30  array[1][0]=1.0/0.0; array[1][1]=1.0/1.0;
31  std::cout<<"\n";
32 
33 
34  Pds::Array<double>::ArraySave(filepath,array,Nlin,Ncol);
35 
36  std::cout <<"ArrayAllocate(Nlin,Ncol):\n"
37  <<Pds::Array<double>::ArrayToString(array,Nlin,Ncol);
38 
40  if(array==NULL) std::cout<<"Array released.\n\n\n";
41 
42  A.Print("A:\n");
43 
45  if(array==NULL) {std::cout<<"Error Alocate.\n";return 0;}
46  else std::cout<<"New array allocated.\n";
47 
48  std::cout <<"ArrayAllocate(A):\n"
50 
52  if(array==NULL) std::cout<<"Array released.\n\n\n";
53 
54 
55 
56  array=Pds::Matrix::ArrayAllocate(sin,A);
57  if(array==NULL) {std::cout<<"Error Alocate.\n";return 0;}
58  else std::cout<<"New array allocated.\n";
59 
60  std::cout <<"ArrayAllocate(sin,A):\n"
62 
64  if(array==NULL) std::cout<<"Array released.\n\n\n";
65 
66 
67 
68  array=Pds::Array<double>::ArrayLoad(filepath,Nlin,Ncol);
69  if(array==NULL) {std::cout<<"Error Alocate.\n";return 0;}
70  else std::cout<<"New array allocated.\n";
71 
72  std::cout <<"ArrayLoad(filepath,Nlin,Ncol):\n"
73  <<Pds::Array<double>::ArrayToString(array,Nlin,Ncol);
74 
76  if(array==NULL) std::cout<<"Array released.\n\n\n";
77 
78 
79 
80  array=Pds::Array<double>::ArrayFromString("1 2 3\n4 5 6\n",Nlin,Ncol);
81  if(array==NULL) {std::cout<<"Error Alocate.\n";return 0;}
82  else std::cout<<"New array allocated.\n";
83 
84  std::cout <<"ArrayFromString(\"1 2 3\\n4 5 6\\n\",Nlin,Ncol):\n"
85  <<Pds::Array<double>::ArrayToString(array,Nlin,Ncol);
86 
88  if(array==NULL) std::cout<<"Array released.\n\n\n";
89 
90 
91 
92  array=Pds::Array<double>::ArrayColFromString("1 2 3\n4 5 6\n",Nlin,Ncol);
93  if(array==NULL) {std::cout<<"Error Alocate.\n";return 0;}
94  else std::cout<<"New array allocated.\n";
95 
96  std::cout <<"ArrayColFromString(\"1 2 3\\n4 5 6\\n\",Nlin,Ncol):\n"
97  <<Pds::Array<double>::ArrayToString(array,Nlin,Ncol);
98 
99  return 0;
100 }
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:86
static Datum ** ArrayLoad(const std::string &filepath, unsigned int &Nlin, unsigned int &Ncol)
Lee de un archivo un arreglo de Nlin lineas y Ncol columnas (arreglo de arreglos).
static Datum ** ArrayColFromString(const std::string &str, unsigned int &Nlin, unsigned int &Ncol)
Convierte un sdt::string con arreglo de Nlin lineas y 1 columna a un arreglo.
static Datum ** ArrayAllocate(const Pds::Matrix &A)
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de una m...
static void ArrayRelease(Datum **&array, unsigned int Nlin)
Libera un arreglo de Nlin lineas y Ncol columnas (arreglo de arreglos) Adicionalmente carga con NULL ...
static std::string ArrayToString(Datum **array, unsigned int Nlin, unsigned int Ncol)
Convierte a un sdt::string un arreglo de Nlin lineas y Ncol columnas (arreglo de arreglos).
static Datum ** ArrayFromString(const std::string &str, unsigned int &Nlin, unsigned int &Ncol)
Convierte un sdt::string con arreglo de Nlin lineas y Ncol columnas a un arreglo.
static bool ArraySave(const std::string &filepath, Datum **array, unsigned int Nlin, unsigned int Ncol)
Salva en un archivo un arreglo de Nlin lineas y Ncol columnas (arreglo de arreglos).
Pds::Matrix Eye(unsigned int N)
Retorna una matriz con unos en la diagonal y el resto ceros.
static double ** ArrayAllocate(double(*func)(double), const Pds::Matrix &A)
crea dinámicamente un arreglo de A.Nlin() lineas y A.Ncol() columnas, con los datos copiados de aplic...
void Print(std::string str) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
unsigned int Ncol(void) const
Retorna el numero de columnas de la matriz.
unsigned int Nlin(void) const
Retorna el numero de lineas de la matriz.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed