Home | Develop | Download | Contact
example_ra_indices.cpp

Programa para el testeo de las funciones.

Programa para el testeo de las funciones.Para compilar o código example_ra_indices.cpp:

g++ -static -o example_ra_indices example_ra_indices.cpp -lpdsramm

Para executar o programa:

./example_ra_indices

Retornando por consola:

A:
  0  5 10 15 20
  1  6 11 16 21
  2  7 12 17 22
  3  8 13 18 23
  4  9 14 19 24
Vec:    0,4,1
List:   0,4,1

A.GetRows(List):
  0  5 10 15 20
  4  9 14 19 24
  1  6 11 16 21

B:
  3  8 13 18 23
  4  9 14 19 24
  0  0  0  0  0

A.GetCols(List):
  0 20  5
  1 21  6
  2 22  7
  3 23  8
  4 24  9

V.T():
 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0,6,12,8,1,5,10,13
ID:
<Indices>
<Nel>4</Nel>
<Array>
1
2
5
0
</Array>
</Indices>
1,2,5,0
1
2
1

Código example_ra_indices.cpp:

#include <Pds/Ra>
#include <ctime>
int main(void)
{
Pds::Matrix A(5,5);
A.FillId();
A.Print("\nA:\n");
//(A/Pds::Ra::Pi-4).Print("\nA:\n");
std::srand(std::time(0));
// Getting index vector
std::vector<unsigned int> Vec=Pds::Ra::IndicesRandVector(0,4,3);
std::cout<<"Vec:\t"<<Pds::Ra::IndicesToString(Vec,",")<<"\n";
// Getting index list
std::list<unsigned int> List=Pds::Ra::IndicesRandList(0,4,3);
std::cout<<"List:\t"<<Pds::Ra::IndicesToString(Vec,",")<<"\n";
// Getting rows from matrix and index list
Pds::Matrix B=A.GetRows(List);
B.Print("\nA.GetRows(List):\n");
// Getting rows from matrix and index list
B.Fill(-1.0);
A.GetRows(3,5,B);
B.Print("\nB:\n");
// Getting columns from matrix and index list
B=A.GetCols(List);
B.Print("\nA.GetCols(List):\n");
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13
//Pds::Vector V="1 0 1 1 1 0 0 0 1 0 1 1 0 0";
//Pds::Vector V="1 1 1 1 1 1 1 1 1 1 1 1 1 1";
Pds::Vector V="0 0 0 0 0 0 0 0 0 0 0 0 0 0";
V.T().Print("\nV.T():\n");
std::vector<unsigned int> ID;
std::cout<<Pds::Ra::IndicesToString(ID,",")<<std::endl;
std::cout<<"ID:\n";
std::string str=Pds::Ra::IndicesXmlToString({1, 2 ,5,0},"Indices");
std::cout<<str;
ID=Pds::Ra::IndicesXmlFromString(str,"Indices");
std::cout<<Pds::Ra::IndicesToString(ID,",")<<"\n";
unsigned int lin=0;
unsigned int col=0;
std::cout<<Pds::Ra::Ind2Sub(Pds::Size(3,2),5,lin,col)<<"\n";
std::cout<<lin<<"\n";
std::cout<<col<<"\n";
return 0;
}
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
La clase tipo Pds::Size . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: Size.hpp:57
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix GetCols(unsigned int col_init, unsigned int col_end) const
Retorna una sub matriz escojida desde la columna col_init hasta col_end, inclusive....
bool Fill(Pds::AbstractRV &RV)
Inicializa la matriz con un valor aleatório.
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
bool FillId(void)
Inicializa la matriz con el valor de la posición de cada elemento.
bool GetRows(unsigned int lin_init, unsigned int lin_end, Pds::Matrix &B) const
Retorna una sub matriz escojida desde la linea lin_init hasta lin_end, inclusive. Hace una verificaci...
void Print(const std::string &str, unsigned int precision) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
std::string IndicesToString(std::list< unsigned int > IDs, std::string separator="")
Convierte una lista de indices a un std::string.
std::vector< unsigned int > IndicesXmlFromString(const std::string &str, const std::string &TagName)
Lee una lista de indices desde un std::string en Xml.
std::string IndicesXmlToString(const std::vector< unsigned int > &ID, const std::string &TagName)
Convierte una lista de indices a un std::string en Xml.
std::list< unsigned int > IndicesRandList(unsigned int Init, unsigned int End, unsigned int N)
Retorna una lista aleatoria de indices.
bool Ind2Sub(const Pds::Size Sz, unsigned int ID, unsigned int &lin, unsigned int &col)
Convierte un indice ID a un formato (lin,col).
std::vector< unsigned int > IndicesRandVector(unsigned int Init, unsigned int End, unsigned int N)
Retorna una lista aleatoria de indices.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed