Programa para el testeo de las funciones.
Programa para el testeo de las funciones.Para compilar o código example_vector_dsp.cpp:
g++ -static -o example_vector_dsp example_vector_dsp.cpp -lpdsramm
Para executar o programa:
Retornando por consola:
A.T():
1 -1 5 -1 1 2 -1
B.T():
1 2 3
A.Conv(B).T():
1 1 6 6 14 1 6 4 -3
A.Conv1D(B,2,Pds::Ra::Full).T():
1 1 6 6 14 1 6 4 -3
A.Conv(B,true).T():
1 6 6 14 1 6 4
A.Conv1D(B,1,Pds::Ra::Same).T():
1 6 6 14 1 6 4
7 1
A.Conv1D(B,1,Pds::Ra::Full).T():
1 1 6 6 14 1 6 4 -3
9 1
A.Conv1D(B,1,Pds::Ra::Valid).T():
6 6 14 1 6
5 1
A.XCorr(B).T():
3 -1 14 6 6 7 2 0 -1
A.XCorr(B,true).T():
14 6 6 7 2 0 -1
A.T():
1 -1 5 -1 1 2 -1
Block[0].T(): 1 5 2 -1
Block[1].T(): 1 5 2 -1
Pds::Vector::FlattenVectorBlock(Block).T(): 1 5 2 -1 1 5 2 -1
Código example_vector_dsp.cpp:
#include <Pds/Ra>
#include <cmath>
int main(void)
{
R.
T().
Print(
"\nA.Conv(B).T():\n");
R.
T().
Print(
"\nA.Conv1D(B,2,Pds::Ra::Full).T():\n");
R.
T().
Print(
"\nA.Conv(B,Pds::Ra::Same).T():\n");
R.
T().
Print(
"\nA.Conv1D(B,1,Pds::Ra::Same).T():\n");
R.
T().
Print(
"\nA.Conv1D(B,1,Pds::Ra::Full).T():\n");
R.
T().
Print(
"\nA.Conv1D(B,1,Pds::Ra::Valid).T():\n");
R.
T().
Print(
"\nA.XCorr(B).T():\n");
R.
T().
Print(
"\nA.XCorr(B,true).T():\n");
std::vector<Pds::Vector> Block;
Block[0].T().Print("Block[0].T():\t");
Block[1].T().Print("Block[1].T():\t");
return 0;
}
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
unsigned int Nlin(void) const
Retorna el número de lineas de la matriz.
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.
Pds::Vector Conv(const Pds::Vector &B, Pds::Ra::Padding Padding=Pds::Ra::Full) const
Calcula la convolución entre A y B.
Pds::Vector Conv1D(const Pds::Vector &B, unsigned int Stride=1, Pds::Ra::Padding Padding=Pds::Ra::Full) const
Calcula la convolución entre A y B.
static std::vector< Pds::Vector > MaxPoolingVectorBlock(const std::vector< Pds::Vector > &A, unsigned int LinPool)
Aplica max pooling a cada matriz de lineas y columnas.
static Pds::Vector FlattenVectorBlock(const std::vector< Pds::Vector > &Block)
Convierte a Pds::Vector un VectorBlock.
static Pds::Size Conv1DOutputSize(unsigned int Anlin, unsigned int Bnlin, unsigned int Stride, Pds::Ra::Padding Padding)
Calcula el tamaño de la matriz resultado de la convolucion de A y B.
Pds::Vector XCorr(const Pds::Vector &B, bool Same=false) const
Calcula la correlacion cruzada entre A y B.