void
SignalFilter::createFrequencyFilter (double* adFilter) const
{
- double x;
- int i;
- for (x = m_dFilterMin, i = 0; i < m_nFilterPoints; x += m_dFilterInc, i++)
+ double xstart = m_dFilterMin;
+#if HAVE_OPENMP
+ #pragma omp parallel for
+#endif
+ for (int i = 0; i < m_nFilterPoints; i++) {
+ double x = xstart + (i * m_dFilterInc);
adFilter[i] = frequencyResponse (x);
+ }
}
for (int i = 1; i <= sidelen; i++ )
m_adFilter [center + i] = m_adFilter [center - i] = c / (4 * (i * i) - 1);
} else {
- double x = m_dFilterMin;
- for (int i = 0; i < m_nFilterPoints; i++, x += m_dFilterInc) {
+ double xstart = m_dFilterMin;
+#if HAVE_OPENMP
+ #pragma omp parallel for
+#endif
+ for (int i = 0; i < m_nFilterPoints; i++) {
+ double x = xstart + (i * m_dFilterInc);
if (haveAnalyticSpatial(m_idFilter))
m_adFilter[i] = spatialResponseAnalytic (x);
else