Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/math_NewtonFunctionSetRoot.lxx is written in an unsupported language. File is not indexed.

0001 // Copyright (c) 1997-1999 Matra Datavision
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 #include <StdFail_NotDone.hxx>
0016 
0017 inline Standard_Boolean math_NewtonFunctionSetRoot::IsSolutionReached(math_FunctionSetWithDerivatives&)
0018 {
0019   for (Standard_Integer i = DeltaX.Lower(); i <= DeltaX.Upper(); ++i)
0020     if ( Abs(DeltaX(i)) > TolX(i) || Abs(FValues(i)) > TolF )
0021       return Standard_False;
0022 
0023   return Standard_True;
0024 }
0025 
0026 inline Standard_Boolean math_NewtonFunctionSetRoot::IsDone() const
0027 {
0028   return Done;
0029 }
0030 
0031 inline Standard_OStream& operator<<(Standard_OStream& o,
0032                                     const math_NewtonFunctionSetRoot& N)
0033 {
0034   N.Dump(o);
0035   return o;
0036 }
0037 
0038 
0039 inline const math_Vector& math_NewtonFunctionSetRoot::Root() const{ 
0040   StdFail_NotDone_Raise_if(!Done, " ");
0041   return Sol;
0042 }
0043 
0044 
0045 inline void math_NewtonFunctionSetRoot::Root(math_Vector& Root) const{
0046   StdFail_NotDone_Raise_if(!Done, " ");
0047   Root = Sol;
0048 }
0049 
0050 
0051 inline const math_Matrix& math_NewtonFunctionSetRoot::Derivative() const{
0052   StdFail_NotDone_Raise_if(!Done, " ");
0053   return Jacobian;
0054 }
0055 
0056 
0057 inline  void math_NewtonFunctionSetRoot::Derivative(math_Matrix& Der) const{
0058   StdFail_NotDone_Raise_if(!Done, " ");
0059   Der = Jacobian;
0060 }
0061 
0062 
0063 inline const math_Vector& math_NewtonFunctionSetRoot::FunctionSetErrors() const{
0064   StdFail_NotDone_Raise_if(!Done, " ");
0065   return DeltaX;
0066 }
0067 
0068 
0069 inline  void math_NewtonFunctionSetRoot::FunctionSetErrors(math_Vector& Err) const{ 
0070   StdFail_NotDone_Raise_if(!Done, " ");
0071   Err = DeltaX;
0072 }
0073 
0074 
0075 inline  Standard_Integer math_NewtonFunctionSetRoot::NbIterations() const{
0076   StdFail_NotDone_Raise_if(!Done, " ");
0077   return Iter;
0078 }
0079 
0080