Skip to content
Snippets Groups Projects
Commit 9bdbf42e authored by Oliver Sander's avatar Oliver Sander Committed by sander@FU-BERLIN.DE
Browse files

A factory that produces sets of test values for various target spaces

[[Imported from SVN: r7306]]
parent 56b8a593
No related branches found
No related tags found
No related merge requests found
#ifndef VALUE_FACTORY_HH
#define VALUE_FACTORY_HH
#include <vector>
#include <dune/gfe/unitvector.hh>
/** \brief A class that creates sets of values of various types, to be used in unit tests
*
* This is the generic dummy. The actual work is done in specializations.
*/
template <class T>
class ValueFactory
{
public:
static void get(std::vector<T>& values);
};
/** \brief A class that creates sets of values of various types, to be used in unit tests
*
* This is the specialization for UnitVector<2>
*/
template <>
class ValueFactory<UnitVector<2> >
{
public:
static void get(std::vector<UnitVector<2> >& values) {
int nTestPoints = 10;
double testPoints[10][2] = {{1,0}, {0.5,0.5}, {0,1}, {-0.5,0.5}, {-1,0}, {-0.5,-0.5}, {0,-1}, {0.5,-0.5}, {0.1,1}, {1,.1}};
values.resize(nTestPoints);
// Set up elements of S^1
for (int i=0; i<nTestPoints; i++) {
Dune::array<double,2> w = {{testPoints[i][0], testPoints[i][1]}};
values[i] = UnitVector<2>(w);
}
}
};
/** \brief A class that creates sets of values of various types, to be used in unit tests
*
* This is the specialization for UnitVector<3>
*/
template <>
class ValueFactory<UnitVector<3> >
{
public:
static void get(std::vector<UnitVector<3> >& values) {
int nTestPoints = 10;
double testPoints[10][3] = {{1,0,0}, {0,1,0}, {-0.838114,0.356751,-0.412667},
{-0.490946,-0.306456,0.81551},{-0.944506,0.123687,-0.304319},
{-0.6,0.1,-0.2},{0.45,0.12,0.517},
{-0.1,0.3,-0.1},{-0.444506,0.123687,0.104319},{-0.7,-0.123687,-0.304319}};
values.resize(nTestPoints);
// Set up elements of S^1
for (int i=0; i<nTestPoints; i++) {
Dune::array<double,3> w = {{testPoints[i][0], testPoints[i][1], testPoints[i][2]}};
values[i] = UnitVector<3>(w);
}
}
};
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment