Skip to content
Snippets Groups Projects
Commit 9eadee68 authored by Olivier BICHLER's avatar Olivier BICHLER
Browse files

Use double instead of float to process integers

parent a8400879
Branches
Tags
2 merge requests!135[Upd] Patch v0.5.1,!133Fix bug eclipse/aidge/aidge_backend_cpu#40
Pipeline #65496 passed
......@@ -40,9 +40,9 @@ stableMean(const T* vec, size_t size) {
template <typename T>
typename std::enable_if<!std::is_floating_point<T>::value, T>::type
stableMean(const T* vec, size_t size) {
float mean = 0;
double mean = 0;
for (size_t i = 0; i < size; ++i) {
mean = std::fma<float>(vec[i] - mean, 1.0f / (i + 1), mean);
mean = std::fma<double>(vec[i] - mean, 1.0f / (i + 1), mean);
}
return mean;
}
......@@ -55,7 +55,7 @@ castFromFloat(T value) {
template <typename T>
typename std::enable_if<!std::is_floating_point<T>::value, T>::type
castFromFloat(float value) {
castFromFloat(double value) {
return static_cast<T>(std::nearbyint(value));
}
......
......@@ -40,9 +40,9 @@ stableMean(const T* vec, size_t len, size_t stride) {
template <typename T>
typename std::enable_if<!std::is_floating_point<T>::value, T>::type
stableMean(const T* vec, size_t len, size_t stride) {
float mean = 0;
double mean = 0;
for (size_t i = 0; i < len; ++i) {
mean = std::fma<float>(vec[i * stride] - mean, 1.0f / (i + 1), mean);
mean = std::fma<double>(vec[i * stride] - mean, 1.0f / (i + 1), mean);
}
return mean;
}
......@@ -55,7 +55,7 @@ castFromFloat(T value) {
template <typename T>
typename std::enable_if<!std::is_floating_point<T>::value, T>::type
castFromFloat(float value) {
castFromFloat(double value) {
return static_cast<T>(std::nearbyint(value));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment