// File mymath_FunctionSetRoot.lxx

#include <StdFail_NotDone.hxx>
#include <Standard_DimensionError.hxx>


inline Standard_Boolean mymath_FunctionSetRoot::IsDone() const { return Done; }

inline Standard_OStream& operator<<(Standard_OStream& o,
				    const mymath_FunctionSetRoot& F)
{
  F.Dump(o);
  return o;
}


inline const math_Vector& mymath_FunctionSetRoot::Root() const{
  StdFail_NotDone_Raise_if(!Done, " ");
  return Sol;
}


inline const math_Vector& mymath_FunctionSetRoot::FunctionSetErrors() const{
  StdFail_NotDone_Raise_if(!Done, " ");
  return Delta;
}


inline const math_Matrix& mymath_FunctionSetRoot::Derivative() const{
  StdFail_NotDone_Raise_if(!Done, " ");
  return DF;
}

inline void mymath_FunctionSetRoot::Derivative(math_Matrix& Der) const{
  StdFail_NotDone_Raise_if(!Done, " ");
  Standard_DimensionError_Raise_if(Der.ColNumber() != Sol.Length(), " ");
  Der = DF;
}


inline Standard_Integer mymath_FunctionSetRoot::StateNumber() const{
  StdFail_NotDone_Raise_if(!Done, " ");
  return State;
}


inline Standard_Integer mymath_FunctionSetRoot::NbIterations() const{
  StdFail_NotDone_Raise_if(!Done, " ");
  return Kount;
}    

