Clp trunk
ClpParameters.hpp
Go to the documentation of this file.
00001 /* $Id$ */
00002 // Copyright (C) 2000, 2002, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 
00006 #ifndef _ClpParameters_H
00007 #define _ClpParameters_H
00008 
00012 enum ClpIntParam {
00015      ClpMaxNumIteration = 0,
00018      ClpMaxNumIterationHotStart,
00037      ClpNameDiscipline,
00040      ClpLastIntParam
00041 };
00042 
00043 enum ClpDblParam {
00047      ClpDualObjectiveLimit,
00051      ClpPrimalObjectiveLimit,
00054      ClpDualTolerance,
00057      ClpPrimalTolerance,
00060      ClpObjOffset,
00062      ClpMaxSeconds,
00064      ClpPresolveTolerance,
00067      ClpLastDblParam
00068 };
00069 
00070 
00071 enum ClpStrParam {
00074      ClpProbName = 0,
00077      ClpLastStrParam
00078 };
00079 
00081 template <class T> inline void
00082 ClpDisjointCopyN( const T * array, const int size, T * newArray)
00083 {
00084      memcpy(reinterpret_cast<void *> (newArray), array, size * sizeof(T));
00085 }
00087 template <class T> inline void
00088 ClpFillN( T * array, const int size, T value)
00089 {
00090      int i;
00091      for (i = 0; i < size; i++)
00092           array[i] = value;
00093 }
00095 template <class T> inline T*
00096 ClpCopyOfArray( const T * array, const int size, T value)
00097 {
00098      T * arrayNew = new T[size];
00099      if (array)
00100           ClpDisjointCopyN(array, size, arrayNew);
00101      else
00102           ClpFillN ( arrayNew, size, value);
00103      return arrayNew;
00104 }
00105 
00107 template <class T> inline T*
00108 ClpCopyOfArray( const T * array, const int size)
00109 {
00110      if (array) {
00111           T * arrayNew = new T[size];
00112           ClpDisjointCopyN(array, size, arrayNew);
00113           return arrayNew;
00114      } else {
00115           return NULL;
00116      }
00117 }
00119 typedef struct {
00120      int typeStruct; // allocated as 1,2 etc
00121      int typeCall;
00122      void * data;
00123 } ClpTrustedData;
00124 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines