diff --git a/onnxruntime/contrib_ops/cuda/diffusion/bias_split_gelu_impl.cu b/onnxruntime/contrib_ops/cuda/diffusion/bias_split_gelu_impl.cu index 8069cbc0a1..19e05a9573 100644 --- a/onnxruntime/contrib_ops/cuda/diffusion/bias_split_gelu_impl.cu +++ b/onnxruntime/contrib_ops/cuda/diffusion/bias_split_gelu_impl.cu @@ -41,7 +41,7 @@ __global__ void biasSplitGeluKernel(T const* input, T const* bias, T* output) { auto value_right = (float)(input[index_input + HHS] + bias[index_bias + HHS]); // Gelu is applied to right side only: Gelu(x) = x * 0.5 * (erf(x / sqrt(2)) + 1.0) - float gelu_right = value_right * 0.5f * (erff(value_right / 1.41421356237f) + 1.0f); + float gelu_right = value_right * 0.5f * (erff(value_right / static_cast(M_SQRT2)) + 1.0f); float result = value_left * gelu_right; output[index_output] = static_cast(result); index_input += TPB; diff --git a/onnxruntime/core/providers/cpu/ml/ml_common.h b/onnxruntime/core/providers/cpu/ml/ml_common.h index 9489597886..ed108eade0 100644 --- a/onnxruntime/core/providers/cpu/ml/ml_common.h +++ b/onnxruntime/core/providers/cpu/ml/ml_common.h @@ -178,7 +178,7 @@ static inline float ErfInv(float x) { float sgn = x < 0 ? -1.0f : 1.0f; x = (1 - x) * (1 + x); float log = std::log(x); - float v = 2 / (3.14159f * 0.147f) + 0.5f * log; + float v = 2 / (static_cast(M_PI) * 0.147f) + 0.5f * log; float v2 = 1 / (0.147f) * log; float v3 = -v + std::sqrt(v * v - v2); x = sgn * std::sqrt(v3); @@ -244,7 +244,7 @@ static inline void multiclass_probability(int64_t classcount, } } -static constexpr float ml_sqrt2 = 1.41421356f; +static constexpr float ml_sqrt2 = static_cast(M_SQRT2); static inline float ComputeLogistic(float val) { float v = 1 / (1 + std::exp(-std::abs(val))); diff --git a/onnxruntime/core/providers/cpu/signal/dft.cc b/onnxruntime/core/providers/cpu/signal/dft.cc index 1fa153c18c..8634e393b4 100644 --- a/onnxruntime/core/providers/cpu/signal/dft.cc +++ b/onnxruntime/core/providers/cpu/signal/dft.cc @@ -79,7 +79,7 @@ static inline T bit_reverse(T num, unsigned significant_bits) { template static T compute_angular_velocity(size_t number_of_samples, bool inverse) { // Calculate fundamental angular velocity - static constexpr T pi = static_cast(3.14159265); + static constexpr T pi = static_cast(M_PI); static constexpr T tau = 2 * pi; T inverse_switch = inverse ? 1.f : -1.f; T angular_velocity = inverse_switch * tau / number_of_samples; @@ -196,7 +196,7 @@ static Status dft_bluestein_z_chirp( OpKernelContext* ctx, const Tensor* X, Tensor* Y, Tensor& b_fft, Tensor& chirp, size_t X_offset, size_t X_stride, size_t Y_offset, size_t Y_stride, int64_t axis, size_t dft_length, const Tensor* window, bool inverse, InlinedVector>& V, InlinedVector>& temp_output) { - static constexpr T pi = static_cast(3.14159265); + static constexpr T pi = static_cast(M_PI); AllocatorPtr alloc; ORT_RETURN_IF_ERROR(ctx->GetTempSpaceAllocator(&alloc)); diff --git a/onnxruntime/core/providers/cpu/signal/window_functions.cc b/onnxruntime/core/providers/cpu/signal/window_functions.cc index 59fa721e30..fc4bad98e2 100644 --- a/onnxruntime/core/providers/cpu/signal/window_functions.cc +++ b/onnxruntime/core/providers/cpu/signal/window_functions.cc @@ -53,7 +53,7 @@ struct CosineSumWindow { auto* Y_data = reinterpret_cast(Y->MutableDataRaw()); // Calculate the radians to increment per sample - constexpr double pi = 3.14159265; + constexpr double pi = M_PI; constexpr double tau = 2 * pi; const size_t denominator = is_periodic ? size : size - 1; const double angular_increment = tau / denominator; diff --git a/onnxruntime/test/contrib_ops/bias_split_gelu_op_test.cc b/onnxruntime/test/contrib_ops/bias_split_gelu_op_test.cc index 24b07bb8ba..db14eb3da4 100644 --- a/onnxruntime/test/contrib_ops/bias_split_gelu_op_test.cc +++ b/onnxruntime/test/contrib_ops/bias_split_gelu_op_test.cc @@ -17,7 +17,7 @@ std::vector ComputeGelu(const std::vector& input_data) { for (size_t i = 0; i < input_data.size(); i++) { float x = input_data[i]; - float y = x * (0.5f * (1.0f + std::erff(x / 1.41421356237f))); + float y = x * (0.5f * (1.0f + std::erff(x / static_cast(M_SQRT2)))); output.push_back(y); } return output; diff --git a/winml/test/api/LearningModelSessionAPITest.cpp b/winml/test/api/LearningModelSessionAPITest.cpp index 1cf95822a8..e91a6b7609 100644 --- a/winml/test/api/LearningModelSessionAPITest.cpp +++ b/winml/test/api/LearningModelSessionAPITest.cpp @@ -722,7 +722,7 @@ static void DiscreteFourierTransform( template static auto MakePureFrequency(float frequency_in_hertz, size_t signal_size, size_t sample_rate) { float amplitude = 4; - float angular_velocity = frequency_in_hertz * 2 * 3.1415f; + float angular_velocity = frequency_in_hertz * 2 * static_cast(M_PI); std::vector signal(signal_size); for (size_t i = 0; i < signal_size; i++) { T time = i / static_cast(sample_rate);