Ignore:
Timestamp:
Nov 14, 2003, 1:34:56 PM (22 years ago)
Author:
aubourg
Message:

pb longs sur magique

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ArchTOIPipe/Kernel/toisegment.h

    r2135 r2454  
    55//                               Christophe Magneville
    66//                               Reza Ansari
    7 // $Id: toisegment.h,v 1.20 2002-07-26 10:36:19 ansari Exp $
     7// $Id: toisegment.h,v 1.21 2003-11-14 12:34:55 aubourg Exp $
    88
    99#ifndef TOISEGMENT_H
     
    3232  ~TOISegmented();
    3333
    34   virtual double        getData(int i);
    35   virtual void          getData(int i, double& data,  uint_8& flag);
    36   virtual void          getData(int i, int n, double* data, uint_8* flg=0);
    37   virtual void          putData(int i, double  value, uint_8  flag=0);
    38   virtual void          putData(int i, int n, double const* val, uint_8 const* flg=0);
    39   virtual void          wontNeedBefore(int i);
     34  virtual double        getData(long i);
     35  virtual void          getData(long i, double& data,  uint_8& flag);
     36  virtual void          getData(long i, int n, double* data, uint_8* flg=0);
     37  virtual void          putData(long i, double  value, uint_8  flag=0);
     38  virtual void          putData(long i, int n, double const* val, uint_8 const* flg=0);
     39  virtual void          wontNeedBefore(long i);
    4040  virtual void          putDone();
    4141  virtual void          addConsumer(TOIProcessor*);
    4242
    4343  // Methodes ignorees car on reimplemente les methodes de base
    44   virtual DataStatus    isDataAvail(int iStart, int iEnd);
    45   virtual DataStatus    isDataAvail(int i);
    46   virtual DataStatus isDataAvailNL(int i);
    47   virtual DataStatus    isDataAvailNL(int iStart, int iEnd); // abstract
    48   virtual void          waitForData(int iStart, int iEnd);
    49   virtual void          waitForData(int i);
     44  virtual DataStatus    isDataAvail(long iStart, long iEnd);
     45  virtual DataStatus    isDataAvail(long i);
     46  virtual DataStatus isDataAvailNL(long i);
     47  virtual DataStatus    isDataAvailNL(long iStart, long iEnd); // abstract
     48  virtual void          waitForData(long iStart, long iEnd);
     49  virtual void          waitForData(long i);
    5050  virtual void          waitForAnyData();
    51   virtual int           nextDataAvail(int iAfter); // abstract
     51  virtual long           nextDataAvail(long iAfter); // abstract
    5252  virtual bool          hasSomeData(); // abstract
    53   virtual void          doGetData(int i, double& data, uint_8& flag); // abs
    54   virtual void          doPutData(int i, double value, uint_8 flag=0); // abs
     53  virtual void          doGetData(long i, double& data, uint_8& flag); // abs
     54  virtual void          doPutData(long i, double value, uint_8 flag=0); // abs
    5555
    5656 
     
    7676    int  getRefCount();
    7777   
    78     void putData(int sn, double data, uint_8 flag);
    79     void putData(int sn, int n, double const* data, uint_8 const* flag);
    80     inline double getData(int sn);
    81     inline uint_8 getFlag(int sn);
    82     void getData(int sn, int n, double* data, uint_8* flag);
    83 
    84     bool isPastEnd(int sn) {
     78    void putData(long sn, double data, uint_8 flag);
     79    void putData(long sn, int n, double const* data, uint_8 const* flag);
     80    inline double getData(long sn);
     81    inline uint_8 getFlag(long sn);
     82    void getData(long sn, int n, double* data, uint_8* flag);
     83
     84    bool isPastEnd(long sn) {
    8585      return sn >= sn0+bufferSize;
    8686    }
     
    9494    }
    9595
    96     void checkInRange(int sn) {
     96    void checkInRange(long sn) {
    9797      if (sn < sn0 || sn >= sn0+bufferSize) {
    9898        cerr << "TOISegment: out of range access in buffer segment " << sn << " not in "
     
    105105    int status;      // NEW, WRITE, COMMITTED
    106106    int bufferSize; 
    107     int sn0;         // Samplenum du premier echantillon
     107    long sn0;         // Samplenum du premier echantillon
    108108
    109109    int refcount;    // Nombre de vues qui utilisent
     
    123123    ~MasterView();
    124124
    125     void putData(int sn, double data, uint_8 flag);
    126     double getData(int sn);
    127     uint_8 getFlag(int sn);
    128     void   getData(int i, int n, double* data, uint_8* flg);
    129     void   putData(int i, int n, double const* val, uint_8 const* flg);
     125    void putData(long sn, double data, uint_8 flag);
     126    double getData(long sn);
     127    uint_8 getFlag(long sn);
     128    void   getData(long i, int n, double* data, uint_8* flg);
     129    void   putData(long i, int n, double const* val, uint_8 const* flg);
    130130    BufferView* getView(); // thread-specific
    131131    void putDone();
     
    147147    int maxSegments;
    148148    int segmentSize;
    149     int sn0;                         // First sn in first segment
     149    long sn0;                         // First sn in first segment
    150150    vector<BufferSegment*> segments; // Committed segments
    151151    int nConsumers;
     
    174174    ~BufferView();
    175175
    176     double getData(int sn);
    177     uint_8 getFlag(int sn);   
    178     void   getData(int i, int n, double* data, uint_8* flg);
    179 
    180     void wontNeedBefore(int sn);
     176    double getData(long sn);
     177    uint_8 getFlag(long sn);   
     178    void   getData(long i, int n, double* data, uint_8* flg);
     179
     180    void wontNeedBefore(long sn);
    181181   
    182182  protected:
    183     void wait(int sn);  // Passe en attente d'un nouveau segment -- lecture
     183    void wait(long sn);  // Passe en attente d'un nouveau segment -- lecture
    184184    void sync();  // recupere les nouveaux segments, resync avec master
    185     void ensure(int sn);
     185    void ensure(long sn);
    186186
    187187    bool waiting;
    188     int  waitingFor;
     188    long  waitingFor;
    189189
    190190    friend class MasterView;
    191191    MasterView* master;
    192192    vector<BufferSegment*> segments; // Committed
    193     int sn0;
     193    long sn0;
    194194    int segmentSize;
    195     int firstNeeded;
     195    long firstNeeded;
    196196  }; 
    197197
     
    204204/***********************************/
    205205
    206 double TOISegmented::BufferSegment::getData(int sn) {
     206double TOISegmented::BufferSegment::getData(long sn) {
    207207  checkCommitted();
    208208  checkInRange(sn);
     
    210210}
    211211
    212 uint_8 TOISegmented::BufferSegment::getFlag(int sn) {
     212uint_8 TOISegmented::BufferSegment::getFlag(long sn) {
    213213  checkCommitted();
    214214  checkInRange(sn);
Note: See TracChangeset for help on using the changeset viewer.