diff --git a/modules/img/alg/src/fft.cc b/modules/img/alg/src/fft.cc index 955f218346844dedbb6e816606664be9f864169b..468bc4992e1ce344d2a69f6ef7e6c1db0bad9d13 100644 --- a/modules/img/alg/src/fft.cc +++ b/modules/img/alg/src/fft.cc @@ -267,6 +267,10 @@ ImageStateBasePtr FFTFnc::VisitState(const ImageStateImpl<T,D>& s) const throw FFTException(ostr.str()); } +// force explicit instantiation to make intel compiler happy +template ImageStateBasePtr FFTFnc::VisitState<float,FrequencyDomain>(const ImageStateImpl<float,FrequencyDomain>& ) const; +template ImageStateBasePtr FFTFnc::VisitState<unsigned short,SpatialDomain>(const ImageStateImpl<unsigned short,SpatialDomain>& ) const; + } //alg ns template class TEMPLATE_DEF_EXPORT image_state::ImageStateConstModOPAlgorithm<alg::FFTFnc>; diff --git a/modules/img/base/src/image_state/binop.cc b/modules/img/base/src/image_state/binop.cc index 16ff05ea217adc5a7f2e414a091902a27507dde4..dc3339aa2939b1f6b1974b0fceadc584eb7b93ab 100644 --- a/modules/img/base/src/image_state/binop.cc +++ b/modules/img/base/src/image_state/binop.cc @@ -103,7 +103,20 @@ template struct fnc_paste_ip<Word,SpatialDomain,Complex,HalfFrequencyDomain>; template struct fnc_paste_ip<Real,FrequencyDomain,Complex,HalfFrequencyDomain>; template struct fnc_paste_ip<Complex,FrequencyDomain,Complex,HalfFrequencyDomain>; template struct fnc_paste_ip<Complex,HalfFrequencyDomain,Complex,HalfFrequencyDomain>; - +template struct fnc_paste_ip<Real,FrequencyDomain,Complex,SpatialDomain>; +template struct fnc_paste_ip<Real,FrequencyDomain,unsigned short,SpatialDomain>; +template struct fnc_paste_ip<Complex,FrequencyDomain,unsigned short,SpatialDomain>; +template struct fnc_paste_ip<Complex,HalfFrequencyDomain,unsigned short,SpatialDomain>; +template struct fnc_paste_ip<Complex,HalfFrequencyDomain,Real,SpatialDomain>; +template struct fnc_paste_ip<Complex,HalfFrequencyDomain,Complex,SpatialDomain>; +template struct fnc_paste_ip<Complex,FrequencyDomain,Complex,SpatialDomain>; +template struct fnc_paste_ip<Complex,FrequencyDomain,Real,SpatialDomain>; +template struct fnc_paste_ip<Real,FrequencyDomain,Real,SpatialDomain>; + +template struct fnc_add_ip<Real,SpatialDomain,Real,SpatialDomain>; +template struct fnc_sub_ip<Real,SpatialDomain,Real,SpatialDomain>; +template struct fnc_mul_ip<Real,SpatialDomain,Real,SpatialDomain>; +template struct fnc_div_ip<Real,SpatialDomain,Real,SpatialDomain>; } template struct dispatch::binary_dispatch_ip<binop::fnc_add_ip>;