Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 9d591246 authored by hhakim's avatar hhakim
Browse files

Define Faust::ConstraintGeneric::Display() and specialize the method in other...

Define Faust::ConstraintGeneric::Display() and specialize the method in other constraint classes. Use these functions to refactor Faust::Params.Display().
parent b4f69d64
Branches
Tags
No related merge requests found
......@@ -97,6 +97,7 @@ namespace Faust
virtual void set_default_parameter();
virtual void check_constraint_name()const;
virtual void project(Faust::MatDense<FPP,DEVICE> & mat)const;
virtual void Display() const;
~ConstraintFPP(){};
private:
......
......@@ -147,5 +147,11 @@ void Faust::ConstraintFPP<FPP,DEVICE,FPP2>::project(Faust::MatDense<FPP,DEVICE>
}
}
template<typename FPP,Device DEVICE, typename FPP2>
void Faust::ConstraintFPP<FPP,DEVICE,FPP2>::Display() const
{
Faust::ConstraintGeneric::Display();
std::cout<<" parameter :"<< get_parameter() << std::endl;
}
#endif
......@@ -164,5 +164,11 @@ const char* Faust::ConstraintGeneric::get_constraint_name()const
}
}
void Faust::ConstraintGeneric::Display() const
{
std::cout << this->get_constraint_name();
std::cout<<" nb_row: "<< this->get_rows();
std::cout<<" nb_col: "<< this->get_cols();
}
const char * Faust::ConstraintGeneric::m_className="Faust::ConstraintGeneric::";
......@@ -110,6 +110,7 @@ namespace Faust {
const faust_unsigned_int get_rows() const {return m_nbRows;}
const faust_unsigned_int get_cols() const {return m_nbCols;}
virtual void Display() const;
virtual void set_default_parameter()=0;
virtual void check_constraint_name()const=0;
template<typename FPP, Device DEVICE>
......
......@@ -325,3 +325,5 @@ void Faust::ConstraintGeneric::project(Faust::MatDense<FPP, DEVICE>& mat) const
else if(this->is_constraint_parameter_int<FPP,DEVICE,FPP2>())
dynamic_cast<const Faust::ConstraintInt<FPP,DEVICE>*>(this)->project(mat);
}
......@@ -95,7 +95,7 @@ namespace Faust
virtual void set_default_parameter();
virtual void check_constraint_name()const;
virtual void project(Faust::MatDense<FPP,DEVICE> & mat)const;
virtual void Display() const;
~ConstraintInt(){};
private:
......
......@@ -176,6 +176,11 @@ void Faust::ConstraintInt<FPP,DEVICE>::project(Faust::MatDense<FPP,DEVICE> & mat
}
}
template<typename FPP,Device DEVICE>
void Faust::ConstraintInt<FPP,DEVICE>::Display() const
{
Faust::ConstraintGeneric::Display();
std::cout<<" parameter :"<< get_parameter() << std::endl;
}
......@@ -89,6 +89,7 @@ namespace Faust
virtual void set_default_parameter();
virtual void check_constraint_name()const;
virtual void project(Faust::MatDense<FPP,DEVICE> & mat)const;
virtual void Display() const;
~ConstraintMat(){};
private:
......
......@@ -169,6 +169,13 @@ void Faust::ConstraintMat<FPP,DEVICE>::project(Faust::MatDense<FPP,DEVICE> & mat
break;
}
}
template<typename FPP,Device DEVICE>
void Faust::ConstraintMat<FPP,DEVICE>::Display() const
{
Faust::ConstraintGeneric::Display();
std::cout<<" parameter :";
get_parameter().Display();
}
......
......@@ -342,37 +342,7 @@ void Faust::Params<FPP,DEVICE,FPP2>::Display() const
std::cout<<" RESIDUUMS : "<<std::endl;
for (unsigned int L=0;L<cons[0].size();L++)
{
//std::string type_cons;
//type_cons.resize(0);
//type_cons=get_constraint_type((*cons[jl][L]).get_constraint_type());
std::cout<<"type_cont : "<<cons[jl][L]->template get_type<FPP,DEVICE,FPP2>()<<" ";
std::cout<<(*cons[jl][L]).get_constraint_name();
std::cout<<" nb_row :"<<(*cons[jl][L]).get_rows();
std::cout<<" nb_col :"<<(*cons[jl][L]).get_cols();
if (cons[jl][L]->template is_constraint_parameter_int<FPP,DEVICE,FPP2>())
{
Faust::ConstraintInt<FPP,DEVICE>* const_int = (Faust::ConstraintInt<FPP,DEVICE>*)(cons[jl][L]);
std::cout<<" parameter :"<<(*const_int).get_parameter()<<std::endl;
}
else if (cons[jl][L]->template is_constraint_parameter_real<FPP,DEVICE,FPP2>())
{
Faust::ConstraintFPP<FPP,DEVICE,FPP2>* const_real = (Faust::ConstraintFPP<FPP,DEVICE,FPP2>*)(cons[jl][L]);
std::cout<<" parameter :"<<(*const_real).get_parameter()<<std::endl;
}
else if (cons[jl][L]->template is_constraint_parameter_mat<FPP,DEVICE,FPP2>())
{
Faust::ConstraintMat<FPP,DEVICE>* const_mat = (Faust::ConstraintMat<FPP,DEVICE>*)(cons[jl][L]);
std::cout<<" parameter :"<<std::endl;
(*const_mat).get_parameter().Display();
}
}
cons[jl][L]->Display();
std::cout<<std::endl<<std::endl;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment