00001
00002
00003
00004
00005 #ifndef INCLUDED_PARALL_H
00006 #define INCLUDED_PARALL_H
00007
00008
00009 #include "odesol.h"
00010 #include "vndinl.h"
00011
00023 class PARALL : public SOLUTION
00024 {
00025
00026 public:
00027
00033 PARALL( int n );
00034
00049 PARALL( const VECTOR & Y, const MATRIX & A, const INTERVAL_VECTOR & R );
00050
00059 void SetPointVec ( const VECTOR & Y );
00060
00070 void SetMatrix ( const MATRIX & A );
00071
00078 void SetIntervalVec ( const INTERVAL_VECTOR & R );
00079
00094 void SetParal( const VECTOR & Y, const MATRIX & A,
00095 const INTERVAL_VECTOR & R );
00096
00104 void SetParal( const INTERVAL_VECTOR & Y );
00105
00110 const VECTOR & GetPointVec() const;
00111
00116 const MATRIX & GetMatrix() const;
00117
00122 const INTERVAL_VECTOR & GetIntervalVec() const;
00123
00131 PARALL & operator=( const SOLUTION & S );
00132
00134 virtual ~PARALL();
00135
00136
00137 private:
00138
00140 VECTOR Yj;
00141
00143 MATRIX Aj;
00144
00146 INTERVAL_VECTOR Rj;
00147
00149 void ResizeSpace( int n );
00150
00151 };
00152
00153
00155 typedef PARALL* PtrParall;
00156
00157
00158 inline PARALL :: PARALL( int n ) : SOLUTION( n )
00159 {
00160 assert( n>0 );
00161 ResizeSpace( n );
00162 }
00163
00164
00165 inline void PARALL :: SetPointVec( const VECTOR & Y )
00166 {
00167 assert( GetDim() == Dimension(Y) );
00168 Yj = Y;
00169 }
00170
00171
00172 inline void PARALL :: SetMatrix( const MATRIX & A )
00173 {
00174 assert( Square(A,GetDim()) );
00175 Aj = A;
00176 }
00177
00178
00179 inline void PARALL :: SetIntervalVec( const INTERVAL_VECTOR & R )
00180 {
00181 assert( GetDim() == Dimension(R));
00182 Rj = R;
00183 }
00184
00185
00186 inline const VECTOR & PARALL :: GetPointVec() const
00187 {
00188 return Yj;
00189 }
00190
00191
00192 inline const MATRIX & PARALL :: GetMatrix() const
00193 {
00194 return Aj;
00195 }
00196
00197
00198 inline const INTERVAL_VECTOR & PARALL :: GetIntervalVec() const
00199 {
00200 return Rj;
00201 }
00202
00203
00204 inline PARALL :: ~PARALL()
00205 {
00206 ;
00207 }
00208
00209 #endif