Skip to content

Commit 7e7073f

Browse files
committed
[oneAPI samples][Fourier correlation] Using std::sqrt(float) and std::log(float) in Fourier correlation samples
1 parent 42e3c10 commit 7e7073f

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

Libraries/oneMKL/fourier_correlation/fcorr_1d_buffers.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ int main(int argc, char **argv) {
148148
// - nrm2(input data) = norm_sig1 * norm_sig2 * N
149149
// - O(log(N)) ~ 2 * log(N) [arbitrary choice; implementation-dependent behavior]
150150
max_err_threshold +=
151-
2.0f * logf(N) * std::numeric_limits<float>::epsilon()
152-
* norm_sig1 * norm_sig2;
151+
2.0f * std::log(static_cast<float>(N))
152+
* std::numeric_limits<float>::epsilon() * norm_sig1 * norm_sig2;
153153
// Verify results by comparing DFT-based and naive calculations to each other,
154154
// and fetch optimal shift maximizing correlation (DFT-based calculation).
155155
auto naive_corr_acc = naive_corr.get_host_access(sycl::read_only);
@@ -184,9 +184,9 @@ int main(int argc, char **argv) {
184184
const float avg_sig1 = sig1.get_host_access(sycl::read_only)[0] / N;
185185
const float avg_sig2 = sig2.get_host_access(sycl::read_only)[0] / N;
186186
const float std_dev_sig1 =
187-
sqrt((norm_sig1 * norm_sig1 - N * avg_sig1 * avg_sig1) / N);
187+
std::sqrt((norm_sig1 * norm_sig1 - N * avg_sig1 * avg_sig1) / N);
188188
const float std_dev_sig2 =
189-
sqrt((norm_sig2 * norm_sig2 - N * avg_sig2 * avg_sig2) / N);
189+
std::sqrt((norm_sig2 * norm_sig2 - N * avg_sig2 * avg_sig2) / N);
190190
const float normalized_corr =
191191
(max_corr / N - avg_sig1 * avg_sig2) / (std_dev_sig1 * std_dev_sig2);
192192
std::cout << "Right-shift the second signal " << optimal_shift

Libraries/oneMKL/fourier_correlation/fcorr_1d_usm.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ int main(int argc, char** argv) {
142142
// - nrm2(input data) = norm_sig1[0] * norm_sig2[0] * N
143143
// - O(log(N)) ~ 2 * log(N) [arbitrary choice; implementation-dependent behavior]
144144
max_err_threshold +=
145-
2.0f * logf(N) * std::numeric_limits<float>::epsilon()
146-
* norm_sig1[0] * norm_sig2[0];
145+
2.0f * std::log(static_cast<float>(N))
146+
* std::numeric_limits<float>::epsilon() * norm_sig1[0] * norm_sig2[0];
147147
// Verify results by comparing DFT-based and naive calculations to each other,
148148
// and fetch optimal shift maximizing correlation (DFT-based calculation).
149149
float max_err = 0.0f;
@@ -176,9 +176,9 @@ int main(int argc, char** argv) {
176176
const float avg_sig1 = sig1[0] / N;
177177
const float avg_sig2 = sig2[0] / N;
178178
const float std_dev_sig1 =
179-
sqrt((norm_sig1[0] * norm_sig1[0] - N * avg_sig1 * avg_sig1) / N);
179+
std::sqrt((norm_sig1[0] * norm_sig1[0] - N * avg_sig1 * avg_sig1) / N);
180180
const float std_dev_sig2 =
181-
sqrt((norm_sig2[0] * norm_sig2[0] - N * avg_sig2 * avg_sig2) / N);
181+
std::sqrt((norm_sig2[0] * norm_sig2[0] - N * avg_sig2 * avg_sig2) / N);
182182
const float normalized_corr =
183183
(max_corr / N - avg_sig1 * avg_sig2) / (std_dev_sig1 * std_dev_sig2);
184184
std::cout << "Right-shift the second signal " << optimal_shift

Libraries/oneMKL/fourier_correlation/fcorr_2d_usm.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ calc_frobenius_norm(const float* img, sycl::queue& Q,
6767
sum += img[row * col_stride + col] * img[row * col_stride + col];
6868
});
6969
}).wait();
70-
const float frobenius_norm = sqrtf(temp[0]);
70+
const float frobenius_norm = std::sqrt(temp[0]);
7171
sycl::free(temp, Q);
7272
return frobenius_norm;
7373
}
@@ -234,8 +234,8 @@ int main(int argc, char **argv) {
234234
// - O(log(num_elem)) ~ 2 * log(num_elem)
235235
// [arbitrary choice; implementation-dependent behavior]
236236
max_err_threshold +=
237-
2.0f * logf(num_elem) * std::numeric_limits<float>::epsilon()
238-
* norm_img1 * norm_img2;
237+
2.0f * std::log(static_cast<float>(num_elem))
238+
* std::numeric_limits<float>::epsilon() * norm_img1 * norm_img2;
239239
// Verify results by comparing DFT-based and naive calculations to each other,
240240
// and fetch optimal shift maximizing correlation (DFT-based calculation).
241241
float max_err = 0.0f;
@@ -272,9 +272,9 @@ int main(int argc, char **argv) {
272272
const float avg_sig1 = img1[0] / num_elem;
273273
const float avg_sig2 = img2[0] / num_elem;
274274
const float std_dev_sig1 =
275-
sqrt((norm_img1 * norm_img1 - num_elem * avg_sig1 * avg_sig1) / num_elem);
275+
std::sqrt((norm_img1 * norm_img1 - num_elem * avg_sig1 * avg_sig1) / num_elem);
276276
const float std_dev_sig2 =
277-
sqrt((norm_img2 * norm_img2 - num_elem * avg_sig2 * avg_sig2) / num_elem);
277+
std::sqrt((norm_img2 * norm_img2 - num_elem * avg_sig2 * avg_sig2) / num_elem);
278278
const float normalized_corr =
279279
(max_corr / num_elem - avg_sig1 * avg_sig2) / (std_dev_sig1 * std_dev_sig2);
280280
std::cout << "Shift the second signal by translation vector ("

0 commit comments

Comments
 (0)