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
No related branches found
No related tags found
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.
Finish editing this message first!
Please register or to comment