00001 #ifndef _SimTK_SIMMATH_H_ 00002 #define _SimTK_SIMMATH_H_ 00003 00004 /* Portions copyright (c) 2006 Stanford University and Jack Middleton. 00005 * Contributors: 00006 * 00007 * Permission is hereby granted, free of charge, to any person obtaining 00008 * a copy of this software and associated documentation files (the 00009 * "Software"), to deal in the Software without restriction, including 00010 * without limitation the rights to use, copy, modify, merge, publish, 00011 * distribute, sublicense, and/or sell copies of the Software, and to 00012 * permit persons to whom the Software is furnished to do so, subject 00013 * to the following conditions: 00014 * 00015 * The above copyright notice and this permission notice shall be included 00016 * in all copies or substantial portions of the Software. 00017 * 00018 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00019 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00020 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00021 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 00022 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 00023 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 00024 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00025 */ 00026 00027 typedef void* smHandle; 00028 00029 enum { SUCCESS, MALLOC_FAILED, UNKNOWN_OPTIMIZER, UNKNOWN_PARAMETER, INVALID_VALUE }; 00030 enum { TRACE, MAX_FUNCTION_EVALUATIONS, DEFAULT_STEP_LENGTH, LINE_SEARCH_ACCURACY, GRADIENT_CONVERGENCE_TOLERANCE }; 00031 00032 00033 #include "SimTKcommon.h" 00034 #include "simmath/Differentiator.h" 00035 #include "simmath/Optimizer.h" 00036 #include "simmath/Integrator.h" 00037 #include "simmath/TimeStepper.h" 00038 #include "simmath/CPodesIntegrator.h" 00039 #include "simmath/RungeKuttaMersonIntegrator.h" 00040 #include "simmath/RungeKuttaFeldbergIntegrator.h" 00041 #include "simmath/ExplicitEulerIntegrator.h" 00042 #include "simmath/VerletIntegrator.h" 00043 00044 #include "simmath/internal/Function.h" 00045 #include "simmath/internal/Spline.h" 00046 #include "simmath/internal/SplineFitter.h" 00047 #include "simmath/internal/common.h" 00048 #include "simmath/LinearAlgebra.h" 00049 00050 00051 00052 00053 #endif //_SimTK_SIMMATH_H_