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 == "double" || s == "real") return PIVariant::pivDouble;
|
||||
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 == "pibytearray" || s == "bytearray" || s == "vector<uchar>" || s == "pivector<uchar>" || s == "vector<unsignedchar>" || s == "pivector<unsignedchar>" ||
|
||||
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::pivDouble: return "Double";
|
||||
case PIVariant::pivLDouble: return "LDouble";
|
||||
case PIVariant::pivComplexd: return "Complexd";
|
||||
case PIVariant::pivComplexld: return "Complexld";
|
||||
case PIVariant::pivBitArray: return "BitArray";
|
||||
case PIVariant::pivByteArray: return "ByteArray";
|
||||
case PIVariant::pivString: return "String";
|
||||
|
||||
@@ -187,6 +187,8 @@ public:
|
||||
pivFloat /** float */ ,
|
||||
pivDouble /** double */ ,
|
||||
pivLDouble /** ldouble */ ,
|
||||
pivComplexd /** complexd */ ,
|
||||
pivComplexld /** complexld */ ,
|
||||
pivBitArray /** PIBitArray */ ,
|
||||
pivByteArray /** PIByteArray */ ,
|
||||
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<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);}
|
||||
@@ -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;}
|
||||
|
||||
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);}
|
||||
@@ -183,7 +181,6 @@ template<> inline void PIFFTW<double>::deleteP(void *& _p) {if (_p) delete (_PIF
|
||||
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<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);}
|
||||
@@ -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;}
|
||||
|
||||
typedef PIFFTW<ldouble> PIFFTWld;
|
||||
#endif // PIP_FFTW_LDOUBLE
|
||||
|
||||
#endif // PIFFT_H
|
||||
|
||||
@@ -28,12 +28,10 @@
|
||||
class PIP_EXPORT PIMutex
|
||||
{
|
||||
public:
|
||||
|
||||
//! Constructs unlocked mutex
|
||||
explicit PIMutex();
|
||||
|
||||
explicit PIMutex(const PIMutex & );
|
||||
|
||||
//! Destroy mutex
|
||||
~PIMutex();
|
||||
|
||||
|
||||
@@ -55,6 +53,7 @@ public:
|
||||
bool isLocked() const;
|
||||
|
||||
private:
|
||||
explicit PIMutex(const PIMutex & );
|
||||
void operator =(const PIMutex & );
|
||||
|
||||
void init();
|
||||
@@ -62,7 +61,6 @@ private:
|
||||
PRIVATE_DECLARATION
|
||||
bool inited_;
|
||||
volatile bool locked;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,10 @@ public:
|
||||
}
|
||||
~PIPipelineThread() {
|
||||
stop();
|
||||
if (!waitForFinish(1000)) terminate();
|
||||
if (!waitForFinish(1000)) {
|
||||
piCoutObj << "terminating self thread";
|
||||
terminate();
|
||||
}
|
||||
}
|
||||
template <typename T>
|
||||
void connectTo(PIPipelineThread<Tout, T> * next) {
|
||||
|
||||
Reference in New Issue
Block a user