critical fix in engine field access methods
parent
25777f7f27
commit
72330844cc
|
@ -43,10 +43,10 @@ public:
|
||||||
virtual unsigned int GetNumberOfTimesteps() {return numTS;};
|
virtual unsigned int GetNumberOfTimesteps() {return numTS;};
|
||||||
|
|
||||||
//this access functions muss be overloaded by any new engine using a different storage model
|
//this access functions muss be overloaded by any new engine using a different storage model
|
||||||
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) const { return volt[n][x][y][z]; }
|
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) { return volt[n][x][y][z]; }
|
||||||
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int pos[] ) { return volt[n][pos[0]][pos[1]][pos[2]]; }
|
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int pos[3] ) { return volt[n][pos[0]][pos[1]][pos[2]]; }
|
||||||
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) const { return curr[n][x][y][z]; }
|
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) { return curr[n][x][y][z]; }
|
||||||
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int pos[] ) { return curr[n][pos[0]][pos[1]][pos[2]]; }
|
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int pos[3] ) { return curr[n][pos[0]][pos[1]][pos[2]]; }
|
||||||
|
|
||||||
virtual void UpdateVoltages(unsigned int startX, unsigned int numX);
|
virtual void UpdateVoltages(unsigned int startX, unsigned int numX);
|
||||||
virtual void ApplyVoltageExcite();
|
virtual void ApplyVoltageExcite();
|
||||||
|
|
|
@ -83,10 +83,10 @@ public:
|
||||||
virtual ~Engine_Multithread();
|
virtual ~Engine_Multithread();
|
||||||
|
|
||||||
//this access functions muss be overloaded by any new engine using a different storage model
|
//this access functions muss be overloaded by any new engine using a different storage model
|
||||||
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) const { return m_RunEngine->GetVolt(n,x,y,z); }
|
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) { return m_RunEngine->GetVolt(n,x,y,z); }
|
||||||
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int pos[3] ) const { return m_RunEngine->GetVolt(n,pos); }
|
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int pos[3] ) { return m_RunEngine->GetVolt(n,pos); }
|
||||||
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) const { return m_RunEngine->GetCurr(n,x,y,z); }
|
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) { return m_RunEngine->GetCurr(n,x,y,z); }
|
||||||
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int pos[3] ) const { return m_RunEngine->GetCurr(n,pos);}
|
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int pos[3] ) { return m_RunEngine->GetCurr(n,pos);}
|
||||||
|
|
||||||
virtual void setNumThreads( unsigned int numThreads );
|
virtual void setNumThreads( unsigned int numThreads );
|
||||||
virtual void Init();
|
virtual void Init();
|
||||||
|
|
|
@ -33,10 +33,10 @@ public:
|
||||||
virtual unsigned int GetNumberOfTimesteps() {return numTS;};
|
virtual unsigned int GetNumberOfTimesteps() {return numTS;};
|
||||||
|
|
||||||
//this access functions muss be overloaded by any new engine using a different storage model
|
//this access functions muss be overloaded by any new engine using a different storage model
|
||||||
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) const { return f4_volt[n][x][y][z%numVectors].f[z/numVectors]; }
|
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) { return f4_volt[n][x][y][z%numVectors].f[z/numVectors]; }
|
||||||
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int pos[3] ) const { return f4_volt[n][pos[0]][pos[1]][pos[2]%numVectors].f[pos[2]/numVectors]; }
|
inline virtual FDTD_FLOAT& GetVolt( unsigned int n, unsigned int pos[3] ) { return f4_volt[n][pos[0]][pos[1]][pos[2]%numVectors].f[pos[2]/numVectors]; }
|
||||||
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) const { return f4_curr[n][x][y][z%numVectors].f[z/numVectors]; }
|
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int x, unsigned int y, unsigned int z ) { return f4_curr[n][x][y][z%numVectors].f[z/numVectors]; }
|
||||||
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int pos[3] ) const { return f4_curr[n][pos[0]][pos[1]][pos[2]%numVectors].f[pos[2]/numVectors]; }
|
inline virtual FDTD_FLOAT& GetCurr( unsigned int n, unsigned int pos[3] ) { return f4_curr[n][pos[0]][pos[1]][pos[2]%numVectors].f[pos[2]/numVectors]; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Engine_sse(const Operator_sse* op);
|
Engine_sse(const Operator_sse* op);
|
||||||
|
|
Loading…
Reference in New Issue