git-svn-id: svn://db.shs.com.ru/pip@399 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -99,6 +99,8 @@ PIVariant::Type PIVariant::typeFromName(const PIString & tname) {
|
|||||||
if (s == "float") return PIVariant::pivFloat;
|
if (s == "float") return PIVariant::pivFloat;
|
||||||
if (s == "double" || s == "real") return PIVariant::pivDouble;
|
if (s == "double" || s == "real") return PIVariant::pivDouble;
|
||||||
if (s == "ldouble" || s == "longdouble") return PIVariant::pivLDouble;
|
if (s == "ldouble" || s == "longdouble") return PIVariant::pivLDouble;
|
||||||
|
if (s == "complexd" || s == "complex<double>") return PIVariant::pivComplexd;
|
||||||
|
if (s == "complexld" || s == "complex<ldouble>" || s == "complex<longdouble>") return PIVariant::pivComplexld;
|
||||||
if (s == "pibitarray" || s == "bitarray") return PIVariant::pivBitArray;
|
if (s == "pibitarray" || s == "bitarray") return PIVariant::pivBitArray;
|
||||||
if (s == "pibytearray" || s == "bytearray" || s == "vector<uchar>" || s == "pivector<uchar>" || s == "vector<unsignedchar>" || s == "pivector<unsignedchar>" ||
|
if (s == "pibytearray" || s == "bytearray" || s == "vector<uchar>" || s == "pivector<uchar>" || s == "vector<unsignedchar>" || s == "pivector<unsignedchar>" ||
|
||||||
s == "vector<char>" || s == "pivector<char>") return PIVariant::pivByteArray;
|
s == "vector<char>" || s == "pivector<char>") return PIVariant::pivByteArray;
|
||||||
@@ -138,6 +140,8 @@ PIString PIVariant::typeName(PIVariant::Type type) {
|
|||||||
case PIVariant::pivFloat: return "Float";
|
case PIVariant::pivFloat: return "Float";
|
||||||
case PIVariant::pivDouble: return "Double";
|
case PIVariant::pivDouble: return "Double";
|
||||||
case PIVariant::pivLDouble: return "LDouble";
|
case PIVariant::pivLDouble: return "LDouble";
|
||||||
|
case PIVariant::pivComplexd: return "Complexd";
|
||||||
|
case PIVariant::pivComplexld: return "Complexld";
|
||||||
case PIVariant::pivBitArray: return "BitArray";
|
case PIVariant::pivBitArray: return "BitArray";
|
||||||
case PIVariant::pivByteArray: return "ByteArray";
|
case PIVariant::pivByteArray: return "ByteArray";
|
||||||
case PIVariant::pivString: return "String";
|
case PIVariant::pivString: return "String";
|
||||||
|
|||||||
@@ -187,6 +187,8 @@ public:
|
|||||||
pivFloat /** float */ ,
|
pivFloat /** float */ ,
|
||||||
pivDouble /** double */ ,
|
pivDouble /** double */ ,
|
||||||
pivLDouble /** ldouble */ ,
|
pivLDouble /** ldouble */ ,
|
||||||
|
pivComplexd /** complexd */ ,
|
||||||
|
pivComplexld /** complexld */ ,
|
||||||
pivBitArray /** PIBitArray */ ,
|
pivBitArray /** PIBitArray */ ,
|
||||||
pivByteArray /** PIByteArray */ ,
|
pivByteArray /** PIByteArray */ ,
|
||||||
pivString /** PIString */ ,
|
pivString /** PIString */ ,
|
||||||
|
|||||||
@@ -161,7 +161,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifdef PIP_FFTW_FLOAT
|
|
||||||
template<> inline const PIVector<complex<float> > & PIFFTW<float>::calcFFT(const PIVector<complex<float> > & in) {return ((_PIFFTW_P_float_*)p)->calcFFT(in);}
|
template<> inline const PIVector<complex<float> > & PIFFTW<float>::calcFFT(const PIVector<complex<float> > & in) {return ((_PIFFTW_P_float_*)p)->calcFFT(in);}
|
||||||
template<> inline const PIVector<complex<float> > & PIFFTW<float>::calcFFT(const PIVector<float> & in) {return ((_PIFFTW_P_float_*)p)->calcFFTR(in);}
|
template<> inline const PIVector<complex<float> > & PIFFTW<float>::calcFFT(const PIVector<float> & in) {return ((_PIFFTW_P_float_*)p)->calcFFTR(in);}
|
||||||
template<> inline const PIVector<complex<float> > & PIFFTW<float>::calcFFTinverse(const PIVector<complex<float> > & in) {return ((_PIFFTW_P_float_*)p)->calcFFTI(in);}
|
template<> inline const PIVector<complex<float> > & PIFFTW<float>::calcFFTinverse(const PIVector<complex<float> > & in) {return ((_PIFFTW_P_float_*)p)->calcFFTI(in);}
|
||||||
@@ -170,7 +169,6 @@ template<> inline void PIFFTW<float>::newP(void *& _p) {_p = new _PIFFTW_P_float
|
|||||||
template<> inline void PIFFTW<float>::deleteP(void *& _p) {if (_p) delete (_PIFFTW_P_float_*)_p; _p = 0;}
|
template<> inline void PIFFTW<float>::deleteP(void *& _p) {if (_p) delete (_PIFFTW_P_float_*)_p; _p = 0;}
|
||||||
|
|
||||||
typedef PIFFTW<float> PIFFTWf;
|
typedef PIFFTW<float> PIFFTWf;
|
||||||
#endif // PIP_FFTW_FLOAT
|
|
||||||
|
|
||||||
|
|
||||||
template<> inline const PIVector<complex<double> > & PIFFTW<double>::calcFFT(const PIVector<complex<double> > & in) {return ((_PIFFTW_P_double_*)p)->calcFFT(in);}
|
template<> inline const PIVector<complex<double> > & PIFFTW<double>::calcFFT(const PIVector<complex<double> > & in) {return ((_PIFFTW_P_double_*)p)->calcFFT(in);}
|
||||||
@@ -183,7 +181,6 @@ template<> inline void PIFFTW<double>::deleteP(void *& _p) {if (_p) delete (_PIF
|
|||||||
typedef PIFFTW<double> PIFFTWd;
|
typedef PIFFTW<double> PIFFTWd;
|
||||||
|
|
||||||
|
|
||||||
#ifdef PIP_FFTW_LDOUBLE
|
|
||||||
template<> inline const PIVector<complex<ldouble> > & PIFFTW<ldouble>::calcFFT(const PIVector<complex<ldouble> > & in) {return ((_PIFFTW_P_ldouble_*)p)->calcFFT(in);}
|
template<> inline const PIVector<complex<ldouble> > & PIFFTW<ldouble>::calcFFT(const PIVector<complex<ldouble> > & in) {return ((_PIFFTW_P_ldouble_*)p)->calcFFT(in);}
|
||||||
template<> inline const PIVector<complex<ldouble> > & PIFFTW<ldouble>::calcFFT(const PIVector<ldouble> & in) {return ((_PIFFTW_P_ldouble_*)p)->calcFFTR(in);}
|
template<> inline const PIVector<complex<ldouble> > & PIFFTW<ldouble>::calcFFT(const PIVector<ldouble> & in) {return ((_PIFFTW_P_ldouble_*)p)->calcFFTR(in);}
|
||||||
template<> inline const PIVector<complex<ldouble> > & PIFFTW<ldouble>::calcFFTinverse(const PIVector<complex<ldouble> > & in) {return ((_PIFFTW_P_ldouble_*)p)->calcFFTI(in);}
|
template<> inline const PIVector<complex<ldouble> > & PIFFTW<ldouble>::calcFFTinverse(const PIVector<complex<ldouble> > & in) {return ((_PIFFTW_P_ldouble_*)p)->calcFFTI(in);}
|
||||||
@@ -192,6 +189,5 @@ template<> inline void PIFFTW<ldouble>::newP(void *& _p) {_p = new _PIFFTW_P_ldo
|
|||||||
template<> inline void PIFFTW<ldouble>::deleteP(void *& _p) {if (_p) delete (_PIFFTW_P_ldouble_*)_p; _p = 0;}
|
template<> inline void PIFFTW<ldouble>::deleteP(void *& _p) {if (_p) delete (_PIFFTW_P_ldouble_*)_p; _p = 0;}
|
||||||
|
|
||||||
typedef PIFFTW<ldouble> PIFFTWld;
|
typedef PIFFTW<ldouble> PIFFTWld;
|
||||||
#endif // PIP_FFTW_LDOUBLE
|
|
||||||
|
|
||||||
#endif // PIFFT_H
|
#endif // PIFFT_H
|
||||||
|
|||||||
@@ -28,12 +28,10 @@
|
|||||||
class PIP_EXPORT PIMutex
|
class PIP_EXPORT PIMutex
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Constructs unlocked mutex
|
//! Constructs unlocked mutex
|
||||||
explicit PIMutex();
|
explicit PIMutex();
|
||||||
|
|
||||||
explicit PIMutex(const PIMutex & );
|
|
||||||
|
|
||||||
|
//! Destroy mutex
|
||||||
~PIMutex();
|
~PIMutex();
|
||||||
|
|
||||||
|
|
||||||
@@ -55,6 +53,7 @@ public:
|
|||||||
bool isLocked() const;
|
bool isLocked() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
explicit PIMutex(const PIMutex & );
|
||||||
void operator =(const PIMutex & );
|
void operator =(const PIMutex & );
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
@@ -62,7 +61,6 @@ private:
|
|||||||
PRIVATE_DECLARATION
|
PRIVATE_DECLARATION
|
||||||
bool inited_;
|
bool inited_;
|
||||||
volatile bool locked;
|
volatile bool locked;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,10 @@ public:
|
|||||||
}
|
}
|
||||||
~PIPipelineThread() {
|
~PIPipelineThread() {
|
||||||
stop();
|
stop();
|
||||||
if (!waitForFinish(1000)) terminate();
|
if (!waitForFinish(1000)) {
|
||||||
|
piCoutObj << "terminating self thread";
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void connectTo(PIPipelineThread<Tout, T> * next) {
|
void connectTo(PIPipelineThread<Tout, T> * next) {
|
||||||
|
|||||||
Reference in New Issue
Block a user