#include #include #include #include using std::vector; Inverse::Inverse ():Function ("inverse", 1) { } void Inverse::evaluate (SArray & value, vector 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 const &args) const { Index const &dim = args[0]->dim(true); return dim.size() == 2 && dim[0] == dim[1]; } Index Inverse::dim (vector const &args) const { return args[0]->dim(true); }