WaveletBase class finished. Now to add timing
This commit is contained in:
parent
53ab1eb8c4
commit
8fb53f4b72
@ -51,7 +51,7 @@ public:
|
||||
VTKM_CONT_EXPORT
|
||||
ForwardTransform()
|
||||
{
|
||||
magicNum = 3.14159265;
|
||||
magicNum = 0.0;
|
||||
oddlow = oddhigh = true;
|
||||
filterLen = approxLen = detailLen = 0;
|
||||
this->SetStartPosition();
|
||||
|
@ -30,11 +30,11 @@ void TestWavelets()
|
||||
{
|
||||
std::cout << "Testing Wavelets Worklet" << std::endl;
|
||||
|
||||
vtkm::Id signalLen = 20;
|
||||
vtkm::Id sigLen = 40;
|
||||
|
||||
// make input data array handle
|
||||
std::vector<vtkm::Float64> tmpVector;
|
||||
for( vtkm::Id i = 0; i < signalLen + 8; i++ )
|
||||
for( vtkm::Id i = 0; i < sigLen + 8; i++ )
|
||||
tmpVector.push_back( i + 1 );
|
||||
|
||||
vtkm::cont::ArrayHandle<vtkm::Float64> input1DArray =
|
||||
@ -54,7 +54,7 @@ void TestWavelets()
|
||||
// initialize the worklet
|
||||
vtkm::worklet::Wavelets::ForwardTransform forwardTransform;
|
||||
forwardTransform.SetFilterLength( 9 );
|
||||
forwardTransform.SetCoeffLength( 10, 10 );
|
||||
forwardTransform.SetCoeffLength( sigLen/2, sigLen/2 );
|
||||
forwardTransform.SetOddness( false, true );
|
||||
vtkm::worklet::DispatcherMapField<vtkm::worklet::Wavelets::ForwardTransform>
|
||||
dispatcher(forwardTransform);
|
||||
|
@ -121,9 +121,16 @@ public:
|
||||
}
|
||||
|
||||
// Returns maximum wavelet decompostion level
|
||||
vtkm::Id GetWaveletMaxLevel( vtkm::Id s )
|
||||
vtkm::Id GetWaveletMaxLevel( vtkm::Id sigInLen )
|
||||
{
|
||||
return 0;
|
||||
if( ! this->filter )
|
||||
return 0;
|
||||
else {
|
||||
vtkm::Id filterLen = this->filter->GetFilterLength();
|
||||
vtkm::Id level;
|
||||
this->WaveLengthValidate( sigInLen, filterLen, level );
|
||||
return level;
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -53,10 +53,10 @@ void forward_xform (
|
||||
|
||||
void print_coeffs( const double* cA, const double* cD, size_t num )
|
||||
{
|
||||
for( size_t i = 0; i < num; i++ )
|
||||
{
|
||||
std::cout << cA[i] << ", " << cD[i] << std::endl;
|
||||
}
|
||||
for( size_t i = 0; i < num; i++ )
|
||||
{
|
||||
std::cout << cA[i] << ", " << cD[i] << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void create_array( double* buf, size_t num )
|
||||
@ -67,15 +67,15 @@ void create_array( double* buf, size_t num )
|
||||
|
||||
int main( int argc, char* argv[] )
|
||||
{
|
||||
size_t sigLen = 20;
|
||||
size_t sigLen = 40;
|
||||
double buf[ sigLen+8 ];
|
||||
create_array( buf, sigLen+8 );
|
||||
|
||||
size_t coeffLen = 10;
|
||||
size_t coeffLen = sigLen/2;
|
||||
double cA[coeffLen];
|
||||
double cD[coeffLen];
|
||||
for( size_t i = 0; i < coeffLen; i++ )
|
||||
cA[i] = cD[i] = 3.14159265;
|
||||
for( size_t i = 0; i < coeffLen; i++ )
|
||||
cA[i] = cD[i] = 0.0;
|
||||
|
||||
const double* low_filter = hm4_44;
|
||||
const double* high_filter = h4;
|
||||
@ -86,5 +86,5 @@ int main( int argc, char* argv[] )
|
||||
|
||||
forward_xform( buf, sigLen, low_filter, high_filter, 9, cA, cD, oddlow, oddhigh );
|
||||
|
||||
print_coeffs( cA, cD, coeffLen );
|
||||
print_coeffs( cA, cD, coeffLen );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user