src/qvmath/qblasdatabuffer.h

00001 #ifndef QBLASDATABUFFER_H
00002 #define QBLASDATABUFFER_H
00003 
00004 #ifndef DOXYGEN_IGNORE_THIS
00005 #include <QSharedData>
00006 // This class could be perfectly substituted by a QVector<double>, but it is slower
00007 class QBlasDataBuffer: public QSharedData
00008         {
00009         public:
00010                 QBlasDataBuffer(const int size): QSharedData(), dataSize(size), data(new double[dataSize])
00011                         { }
00012 
00013                 QBlasDataBuffer(const QBlasDataBuffer &tensorData): QSharedData(),
00014                         dataSize(tensorData.dataSize), data(new double[100*dataSize])
00015                         { cblas_dcopy(dataSize, tensorData.getReadData(), 1, getWriteData(), 1); }
00016 
00017                 ~QBlasDataBuffer()      
00018                         { delete data; }
00019 
00020                 const double *getReadData()     const   { return data; }
00021                 double *getWriteData()                  { return data; }
00022 
00023         private:
00024                 int dataSize;
00025                 double *data;
00026         };
00027 #endif
00028 #endif

Generated on Thu Jul 17 17:23:28 2008 for QVision by  doxygen 1.5.3