test.cxx   test.cxx 
skipping to change at line 1051 skipping to change at line 1051
destMultiArray(volume), destMultiArray(volume),
true); true);
shouldEqualSequence(volume.begin(),volume.end(),desired.begin() ); shouldEqualSequence(volume.begin(),volume.end(),desired.begin() );
} }
typedef MultiArrayShape<3>::type Shape; typedef MultiArrayShape<3>::type Shape;
MultiArrayView<3, double> vol(Shape(12,10,35), volume_data); MultiArrayView<3, double> vol(Shape(12,10,35), volume_data);
MultiArray<3, double> res(vol.shape()); MultiArray<3, double> res(vol.shape());
separableMultiDistSquared(srcMultiArrayRange(vol), destMulti Array(res), false); separableMultiDistSquared(srcMultiArrayRange(vol), destMultiArray(r es), false);
shouldEqualSequence(res.data(), res.data()+res.elementCount( ), ref_dist2); shouldEqualSequence(res.data(), res.data()+res.elementCount(), ref_ dist2);
} }
void testDistanceAxesPermutation() void testDistanceAxesPermutation()
{ {
typedef MultiArrayShape<3>::type Shape; typedef MultiArrayShape<3>::type Shape;
MultiArrayView<3, double> vol(Shape(12,10,35), volume_data); MultiArrayView<3, double> vol(Shape(12,10,35), volume_data);
MultiArray<3, double> res1(vol.shape()), res2(vol.shape()); MultiArray<3, double> res1(vol.shape()), res2(vol.shape());
MultiArrayView<3, double, StridedArrayTag> pvol(vol.transpose()), p res2(res2.transpose()); MultiArrayView<3, double, StridedArrayTag> pvol(vol.transpose()), p res2(res2.transpose());
separableMultiDistSquared(srcMultiArrayRange(vol), destMultiArray(r es1), true); separableMultiDistSquared(srcMultiArrayRange(vol), destMultiArray(r es1), true);
separableMultiDistSquared(srcMultiArrayRange(pvol), destMultiArray( pres2), true); separableMultiDistSquared(srcMultiArrayRange(pvol), destMultiArray( pres2), true);
shouldEqualSequence(res1.data(), res1.data()+res1.elementCou nt(), res2.data()); shouldEqualSequence(res1.data(), res1.data()+res1.elementCount(), r es2.data());
separableMultiDistSquared(srcMultiArrayRange(vol), destMulti Array(res1), false); separableMultiDistSquared(srcMultiArrayRange(vol), destMultiArray(r es1), false);
separableMultiDistSquared(srcMultiArrayRange(pvol), destMultiArray( pres2), false); separableMultiDistSquared(srcMultiArrayRange(pvol), destMultiArray( pres2), false);
shouldEqualSequence(res1.data(), res1.data()+res1.elementCou nt(), res2.data()); shouldEqualSequence(res1.data(), res1.data()+res1.elementCount(), r es2.data());
} }
void testDistanceVolumesAnisoptopic() void testDistanceVolumesAnisoptopic()
{ {
double epsilon = 1e-14; double epsilon = 1e-14;
TinyVector<double, 3> pixelPitch(1.2, 1.0, 2.4); TinyVector<double, 3> pixelPitch(1.2, 1.0, 2.4);
DoubleVolume desired(volume); DoubleVolume desired(volume);
for(std::list<std::list<IntVec> >::iterator list_iter=pointslists.b egin(); for(std::list<std::list<IntVec> >::iterator list_iter=pointslists.b egin();
list_iter!=pointslists .end(); ++list_iter){ list_iter!=pointslists.end(); ++l ist_iter){
for(DoubleVolume::iterator vol_iter = volume.begin(); vol_iter != volume.end(); ++vol_iter) for(DoubleVolume::iterator vol_iter = volume.begin(); vol_iter != volume.end(); ++vol_iter)
*vol_iter=0; *vol_iter=0;
for(std::list<IntVec>::iterator iter=(*list_iter).begin(); iter !=(*list_iter).end(); ++iter) for(std::list<IntVec>::iterator iter=(*list_iter).begin(); iter !=(*list_iter).end(); ++iter)
*(volume.traverser_begin()+*iter)=1; *(volume.traverser_begin()+*iter)=1;
IntVec temp; IntVec temp;
for(int z=0; z<DEPTH; ++z) for(int z=0; z<DEPTH; ++z)
for(int y=0; y<HEIGHT; ++y) for(int y=0; y<HEIGHT; ++y)
{ {
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/