/home/coin/SVN-release/CoinAll-1.1.0/OS/src/OSUtils/OSDataStructures.h

Go to the documentation of this file.
00001 
00019 #ifndef OSDATASTRUCTURES_H
00020 #define OSDATASTRUCTURES_H
00021 
00022 
00023 
00024 #include "OSConfig.h"
00025 
00026 #ifdef HAVE_CSTDLIB
00027 # include <cstdlib>
00028 #else
00029 # ifdef HAVE_STDLIB_H
00030 #  include <stdlib.h>
00031 # endif
00032 #endif
00033 
00034 
00035 
00036 
00037 
00041 class SparseMatrix {
00042         public:
00043         
00048         bool bDeleteArrays;
00049         
00054         bool isColumnMajor;
00055         
00059         int startSize;
00060         
00064         int valueSize;
00065         
00070         int* starts; 
00071         
00076         int* indexes;
00077 
00082         double* values;
00083         
00088         SparseMatrix();
00089         
00098         SparseMatrix(bool isColumnMajor_, int startSize, int valueSize);
00103         ~SparseMatrix();
00104         
00110         bool display(int secondaryDim);
00111 
00112 }; //SparseMatrix
00113 
00114 
00118 class SparseVector{
00119         public:
00120         
00126         SparseVector(int number);
00127         
00132         SparseVector();
00133         
00138         ~SparseVector();
00139 
00144         bool bDeleteArrays;
00145         
00149         int number;
00150         
00154         int* indexes;
00155 
00159         double* values;
00160 
00161 }; //SparseVector
00162 
00163 
00167 class SparseJacobianMatrix {
00168         public:
00169         
00174         bool bDeleteArrays;
00175         
00179         int startSize;
00180         
00184         int valueSize;
00185         
00190         int* starts; 
00191         
00196         int* conVals; 
00197         
00201         int* indexes;
00202 
00206         double* values;
00207         
00212         SparseJacobianMatrix();
00213         
00220         SparseJacobianMatrix(int startSize, int valueSize);
00221 
00226         ~SparseJacobianMatrix();
00227 
00228 }; //SparseJacobianMatrix
00229 
00230 
00231 
00232 
00233 
00244 class SparseHessianMatrix {
00245         public:
00246         
00251         bool bDeleteArrays;
00252 
00256         int hessDimension;
00257         
00261         int* hessRowIdx; 
00262         
00266         int* hessColIdx; 
00267         
00271         double* hessValues;
00272 
00277         SparseHessianMatrix();
00278         
00285         SparseHessianMatrix(int startSize, int valueSize);
00286 
00291         ~SparseHessianMatrix();
00292 
00293 }; //SparseHessianMatrix
00294 
00298 class QuadraticTerms {
00299 
00300         public:
00301         
00306         int* rowIndexes; 
00307 
00311         int* varOneIndexes; 
00312 
00316         int* varTwoIndexes; 
00317 
00321         double* coefficients; 
00322 
00327         QuadraticTerms();
00328         ~QuadraticTerms();
00329 }; //QuadraticTerms
00330 
00331 
00335 class IntVector{
00336 public:
00337         IntVector();
00338         ~IntVector();
00343         bool bDeleteArrays;
00344         int *el;
00345 };//class IntVector
00346 
00350 class DoubleVector{
00351 public:
00352         DoubleVector();
00353         ~DoubleVector();
00358         bool bDeleteArrays;
00359         double *el;                     
00360 };//class DoubleVector
00361 
00362 #endif
00363 
00364 
00365 
00366 

Generated on Sun Nov 14 14:06:39 2010 for Coin-All by  doxygen 1.4.7