#include <config.h>
#include <functions/Inverse.h>
#include <matrix/matrix.h>
#include <sarray/SArray.h>
using std::vector;
Inverse::Inverse ():Function ("inverse", 1)
{
}
void
Inverse::evaluate (SArray & value, vector <SArray const *> const &args) const
{
int n = args[0]->dim(true)[0];
int N = args[0]->length();
double *y = new double[N];
inverse (y, args[0]->value(), n, false);
value.setValue (y, N);
delete y;
}
bool Inverse::checkParameterDim (vector <SArray const*> const &args) const
{
Index const &dim = args[0]->dim(true);
return dim.size() == 2 && dim[0] == dim[1];
}
Index Inverse::dim (vector <SArray const *> const &args) const
{
return args[0]->dim(true);
}
syntax highlighted by Code2HTML, v. 0.9.1