/home/coin/SVN-release/OS-2.4.0/OS/src/OSUtils/OSMathUtil.h File Reference

#include "OSParameters.h"
#include "OSdtoa.h"
#include "OSErrorClass.h"
#include "OSGeneral.h"
#include <string>

Include dependency graph for OSMathUtil.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MathUtil
 this class has routines for linear algebra. More...

Functions

double os_strtod_wrap (const char *str, char **strEnd)
void getMultIncr (int *i, int *mult, int *incr, int size, int defaultIncr)
 getMultIncr
void getMultIncr (double *a, int *mult, double *incr, int size)
 getMultIncr
int getMult (int *i, int size)
 getMult
int getMult (double *a, int size)
 getMult
double OSRand ()
 OSRand().
double OSiRand (int iMin, int iMax)
 OSiRand(int iMin, int iMax).


Function Documentation

double os_strtod_wrap ( const char *  str,
char **  strEnd 
)

Definition at line 125 of file OSMathUtil.cpp.

References os_strtod().

void getMultIncr ( int *  i,
int *  mult,
int *  incr,
int  size,
int  defaultIncr 
) [inline]

getMultIncr

Identify the next run in an integer array

Parameters:
i holds a pointer to the array to be processed.
mult holds the length of the run. This parameter is passed by reference
incr holds the increment. This parameter is also passed by reference
size holds the number of elements in the array. This parameter is passed by value
defaultIncr holds the default value for incr from the schema file. Using just <el mult="..." saves space whenever a run of two or more elements has been encountered, whereas <el mult="..." incr="..." saves space only for runs of three or more elements. Thus the defaultIncr must be treated specially (and it might change from one schema element to the next).

Definition at line 165 of file OSMathUtil.h.

References k.

Referenced by writeIntVectorData().

void getMultIncr ( double *  a,
int *  mult,
double *  incr,
int  size 
) [inline]

getMultIncr

Identify the next run in an array of type double.

Parameters:
i holds a pointer to the array to be processed.
mult holds the length of the run. This parameter is passed by reference
incr holds the increment. This parameter is also passed by reference
size holds the number of elements in the array. This parameter is passed by value

Definition at line 203 of file OSMathUtil.h.

References k.

int getMult ( int *  i,
int  size 
) [inline]

getMult

Identify the number of duplicates at the start of an integer array

Parameters:
i holds a pointer to the array to be processed.
size holds the number of elements in the array.
Returns:
the length of the run.

Definition at line 243 of file OSMathUtil.h.

References k, and mult().

Referenced by writeDblVectorData().

int getMult ( double *  a,
int  size 
) [inline]

getMult

Identify the number of duplicates at the start of an array of type double

Parameters:
i holds a pointer to the array to be processed.
size holds the number of elements in the array.
Returns:
the length of the run.

Definition at line 271 of file OSMathUtil.h.

References k, and mult().

double OSRand (  ) 

OSRand().

Returns:
a uniformly distributed random number between 0 and 1 (inclusive) The random number generator used, rand(), is not very good and should be replaced by a serious random number generator for serious work.

Definition at line 240 of file OSMathUtil.cpp.

Referenced by GeneralFileHeader::setRandom(), IntVector::setRandom(), OtherOptionEnumeration::setRandom(), BasisStatus::setRandom(), StorageCapacity::setRandom(), CPUSpeed::setRandom(), CPUNumber::setRandom(), TimeSpan::setRandom(), OSOption::setRandom(), GeneralOption::setRandom(), SystemOption::setRandom(), ServiceOption::setRandom(), JobOption::setRandom(), OptimizationOption::setRandom(), InstanceLocationOption::setRandom(), ContactOption::setRandom(), OtherOptions::setRandom(), OtherOption::setRandom(), JobDependencies::setRandom(), DirectoriesAndFiles::setRandom(), PathPairs::setRandom(), PathPair::setRandom(), Processes::setRandom(), VariableOption::setRandom(), InitVariableValues::setRandom(), InitVarValue::setRandom(), InitVariableValuesString::setRandom(), InitVarValueString::setRandom(), IntegerVariableBranchingWeights::setRandom(), SOSVariableBranchingWeights::setRandom(), SOSWeights::setRandom(), BranchingWeight::setRandom(), OtherVariableOption::setRandom(), OtherVarOption::setRandom(), ObjectiveOption::setRandom(), InitObjectiveValues::setRandom(), InitObjValue::setRandom(), InitObjectiveBounds::setRandom(), InitObjBound::setRandom(), OtherObjectiveOption::setRandom(), OtherObjOption::setRandom(), ConstraintOption::setRandom(), InitConstraintValues::setRandom(), InitConValue::setRandom(), InitDualVariableValues::setRandom(), InitDualVarValue::setRandom(), OtherConstraintOption::setRandom(), OtherConOption::setRandom(), SolverOptions::setRandom(), SolverOption::setRandom(), OSResult::setRandom(), GeneralResult::setRandom(), GeneralStatus::setRandom(), GeneralSubstatus::setRandom(), OtherResults::setRandom(), SystemResult::setRandom(), ServiceResult::setRandom(), JobResult::setRandom(), TimingInformation::setRandom(), TimeMeasurement::setRandom(), OptimizationResult::setRandom(), OptimizationSolution::setRandom(), OptimizationSolutionStatus::setRandom(), OptimizationSolutionSubstatus::setRandom(), VariableSolution::setRandom(), VariableValues::setRandom(), VarValue::setRandom(), VariableValuesString::setRandom(), VarValueString::setRandom(), OtherVariableResult::setRandom(), OtherVarResult::setRandom(), ObjectiveSolution::setRandom(), ObjectiveValues::setRandom(), ObjValue::setRandom(), OtherObjectiveResult::setRandom(), OtherObjResult::setRandom(), ConstraintSolution::setRandom(), DualVariableValues::setRandom(), DualVarValue::setRandom(), OtherConstraintResult::setRandom(), OtherConResult::setRandom(), OtherSolutionResults::setRandom(), OtherSolutionResult::setRandom(), OtherSolverOutput::setRandom(), and SolverOutput::setRandom().

double OSiRand ( int  iMin,
int  iMax 
)

OSiRand(int iMin, int iMax).

Returns:
a uniformly distributed random integer between iMin and iMax (inclusive) The random number generator used, rand(), is not very good and should be replaced by a serious random number generator for serious work.

Definition at line 257 of file OSMathUtil.cpp.

Referenced by IntVector::setRandom().


Generated on Thu Sep 22 03:12:18 2011 by  doxygen 1.4.7