#include "forcegrav.h"

SparseVecd ForceGrav::eval(const Vecd &x, const Vecd &v, const Vecd &m) const
{
    int n = m.Elts();
    Vecd ret(3*n);

    for (int i=0; i<n; i++)
    {
        ret[O(i,0)] = _d[0] * m[i];
        ret[O(i,1)] = _d[1] * m[i];
        ret[O(i,2)] = _d[2] * m[i];
    }

    return ret;
}

Force::DblSparse_t ForceGrav::evalDx(const Vecd &x, const Vecd &v, const Vecd &m) const
{
	return DblSparse_t();
}

Force::DblSparse_t ForceGrav::evalDv(const Vecd &x, const Vecd &v, const Vecd &m) const
{
	return DblSparse_t();
}


double ForceGrav::Displacement(const Vecd &x) const {
  return 0;
}
