19
19
20
20
#include < cassert>
21
21
#include < limits>
22
- #include < math.h >
22
+ #include < cmath >
23
23
#include < lib/cpp/Misc.h>
24
24
25
25
#include " Emulator.h"
@@ -2286,11 +2286,11 @@ void WorkItem::ISA_V_CVT_U32_F32_Impl(Instruction *instruction)
2286
2286
// Handle special number cases and cast to an unsigned
2287
2287
2288
2288
// -inf, NaN, 0, -0 --> 0
2289
- if ((isinf (fvalue) && fvalue < 0 .0f ) || isnan (fvalue)
2289
+ if ((std:: isinf (fvalue) && fvalue < 0 .0f ) || std:: isnan (fvalue)
2290
2290
|| fvalue == 0 .0f || fvalue == -0 .0f )
2291
2291
value.as_uint = 0 ;
2292
2292
// inf, > max_uint --> max_uint
2293
- else if (isinf (fvalue) || fvalue >= std::numeric_limits<unsigned int >::max ())
2293
+ else if (std:: isinf (fvalue) || fvalue >= std::numeric_limits<unsigned int >::max ())
2294
2294
value.as_uint = std::numeric_limits<unsigned int >::max ();
2295
2295
else
2296
2296
value.as_uint = (unsigned ) fvalue;
@@ -2326,10 +2326,10 @@ void WorkItem::ISA_V_CVT_I32_F32_Impl(Instruction *instruction)
2326
2326
// Handle special number cases and cast to an int
2327
2327
2328
2328
// inf, > max_int --> max_int
2329
- if ((isinf (fvalue) && fvalue > 0 .0f ) || fvalue >= std::numeric_limits<int >::max ())
2329
+ if ((std:: isinf (fvalue) && fvalue > 0 .0f ) || fvalue >= std::numeric_limits<int >::max ())
2330
2330
value.as_int = std::numeric_limits<int >::max ();
2331
2331
// -inf, < -max_int --> -max_int
2332
- else if (isinf (fvalue) || fvalue < std::numeric_limits<int >::min ())
2332
+ else if (std:: isinf (fvalue) || fvalue < std::numeric_limits<int >::min ())
2333
2333
value.as_int = std::numeric_limits<int >::min ();
2334
2334
// NaN, 0, -0 --> 0
2335
2335
else if (isnan (fvalue) || fvalue == 0 .0f || fvalue == -0 .0f )
@@ -5926,41 +5926,41 @@ void WorkItem::ISA_V_ADD_F64_Impl(Instruction *instruction)
5926
5926
// Add the operands, take into account special number cases.
5927
5927
5928
5928
// s0 == NaN64 || s1 == NaN64
5929
- if (fpclassify (s0.as_double ) == FP_NAN ||
5930
- fpclassify (s1.as_double ) == FP_NAN)
5929
+ if (std:: fpclassify (s0.as_double ) == FP_NAN ||
5930
+ std:: fpclassify (s1.as_double ) == FP_NAN)
5931
5931
{
5932
5932
// value <-- NaN64
5933
5933
value.as_double = NAN;
5934
5934
}
5935
5935
// s0,s1 == infinity
5936
- else if (fpclassify (s0.as_double ) == FP_INFINITE &&
5937
- fpclassify (s1.as_double ) == FP_INFINITE)
5936
+ else if (std:: fpclassify (s0.as_double ) == FP_INFINITE &&
5937
+ std:: fpclassify (s1.as_double ) == FP_INFINITE)
5938
5938
{
5939
5939
// value <-- NaN64
5940
5940
value.as_double = NAN;
5941
5941
}
5942
5942
// s0,!s1 == infinity
5943
- else if (fpclassify (s0.as_double ) == FP_INFINITE)
5943
+ else if (std:: fpclassify (s0.as_double ) == FP_INFINITE)
5944
5944
{
5945
5945
// value <-- s0(+-infinity)
5946
5946
value.as_double = s0.as_double ;
5947
5947
}
5948
5948
// s1,!s0 == infinity
5949
- else if (fpclassify (s1.as_double ) == FP_INFINITE)
5949
+ else if (std:: fpclassify (s1.as_double ) == FP_INFINITE)
5950
5950
{
5951
5951
// value <-- s1(+-infinity)
5952
5952
value.as_double = s1.as_double ;
5953
5953
}
5954
5954
// s0 == +-denormal, +-0
5955
- else if (fpclassify (s0.as_double ) == FP_SUBNORMAL ||
5956
- fpclassify (s0.as_double ) == FP_ZERO)
5955
+ else if (std:: fpclassify (s0.as_double ) == FP_SUBNORMAL ||
5956
+ std:: fpclassify (s0.as_double ) == FP_ZERO)
5957
5957
{
5958
5958
// s1 == +-denormal, +-0
5959
- if (fpclassify (s1.as_double ) == FP_SUBNORMAL ||
5960
- fpclassify (s1.as_double ) == FP_ZERO)
5959
+ if (std:: fpclassify (s1.as_double ) == FP_SUBNORMAL ||
5960
+ std:: fpclassify (s1.as_double ) == FP_ZERO)
5961
5961
// s0 && s1 == -denormal, -0
5962
- if (! ! signbit (s0.as_double )
5963
- && ! ! signbit (s1.as_double ))
5962
+ if (std:: signbit (s0.as_double )
5963
+ && std:: signbit (s1.as_double ))
5964
5964
// value <-- -0
5965
5965
value.as_double = -0 ;
5966
5966
else
@@ -5972,15 +5972,15 @@ void WorkItem::ISA_V_ADD_F64_Impl(Instruction *instruction)
5972
5972
value.as_double = s1.as_double ;
5973
5973
}
5974
5974
// s1 == +-denormal, +-0
5975
- else if (fpclassify (s1.as_double ) == FP_SUBNORMAL ||
5976
- fpclassify (s1.as_double ) == FP_ZERO)
5975
+ else if (std:: fpclassify (s1.as_double ) == FP_SUBNORMAL ||
5976
+ std:: fpclassify (s1.as_double ) == FP_ZERO)
5977
5977
{
5978
5978
// s0 == +-denormal, +-0
5979
- if (fpclassify (s0.as_double ) == FP_SUBNORMAL ||
5980
- fpclassify (s0.as_double ) == FP_ZERO)
5979
+ if (std:: fpclassify (s0.as_double ) == FP_SUBNORMAL ||
5980
+ std:: fpclassify (s0.as_double ) == FP_ZERO)
5981
5981
// s0 && s1 == -denormal, -0
5982
- if (! ! signbit (s0.as_double )
5983
- && ! ! signbit (s1.as_double ))
5982
+ if (std:: signbit (s0.as_double )
5983
+ && std:: signbit (s1.as_double ))
5984
5984
// value <-- -0
5985
5985
value.as_double = -0 ;
5986
5986
else
@@ -6041,81 +6041,81 @@ void WorkItem::ISA_V_MUL_F64_Impl(Instruction *instruction)
6041
6041
// Multiply the operands, take into account special number cases.
6042
6042
6043
6043
// s0 == NaN64 || s1 == NaN64
6044
- if (fpclassify (s0.as_double ) == FP_NAN ||
6045
- fpclassify (s1.as_double ) == FP_NAN)
6044
+ if (std:: fpclassify (s0.as_double ) == FP_NAN ||
6045
+ std:: fpclassify (s1.as_double ) == FP_NAN)
6046
6046
{
6047
6047
// value <-- NaN64
6048
6048
value.as_double = NAN;
6049
6049
}
6050
6050
// s0 == +denormal, +0
6051
- else if ((fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6052
- fpclassify (s1.as_double ) == FP_ZERO) &&
6053
- !signbit (s0.as_double ))
6051
+ else if ((std:: fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6052
+ std:: fpclassify (s1.as_double ) == FP_ZERO) &&
6053
+ !std:: signbit (s0.as_double ))
6054
6054
{
6055
6055
// s1 == +-infinity
6056
- if (isinf (s1.as_double ))
6056
+ if (std:: isinf (s1.as_double ))
6057
6057
// value <-- NaN64
6058
6058
value.as_double = NAN;
6059
6059
// s1 > 0
6060
- else if (!signbit (s1.as_double ))
6060
+ else if (!std:: signbit (s1.as_double ))
6061
6061
// value <-- +0
6062
6062
value.as_double = +0 ;
6063
6063
// s1 < 0
6064
- else if (! ! signbit (s1.as_double ))
6064
+ else if (std:: signbit (s1.as_double ))
6065
6065
// value <-- -0
6066
6066
value.as_double = -0 ;
6067
6067
}
6068
6068
// s0 == -denormal, -0
6069
- else if ((fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6070
- fpclassify (s1.as_double ) == FP_ZERO) &&
6071
- ! ! signbit (s0.as_double ))
6069
+ else if ((std:: fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6070
+ std:: fpclassify (s1.as_double ) == FP_ZERO) &&
6071
+ std:: signbit (s0.as_double ))
6072
6072
{
6073
6073
// s1 == +-infinity
6074
- if (isinf (s1.as_double ))
6074
+ if (std:: isinf (s1.as_double ))
6075
6075
// value <-- NaN64
6076
6076
value.as_double = NAN;
6077
6077
// s1 > 0
6078
- else if (!signbit (s1.as_double ))
6078
+ else if (!std:: signbit (s1.as_double ))
6079
6079
// value <-- -0
6080
6080
value.as_double = -0 ;
6081
6081
// s1 < 0
6082
- else if (! ! signbit (s1.as_double ))
6082
+ else if (std:: signbit (s1.as_double ))
6083
6083
// value <-- +0
6084
6084
value.as_double = +0 ;
6085
6085
}
6086
6086
// s0 == +infinity
6087
- else if (fpclassify (s0.as_double ) == FP_INFINITE &&
6088
- !signbit (s0.as_double ))
6087
+ else if (std:: fpclassify (s0.as_double ) == FP_INFINITE &&
6088
+ !std:: signbit (s0.as_double ))
6089
6089
{
6090
6090
// s1 == +-denormal, +-0
6091
- if (fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6092
- fpclassify (s1.as_double ) == FP_ZERO)
6091
+ if (std:: fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6092
+ std:: fpclassify (s1.as_double ) == FP_ZERO)
6093
6093
// value <-- NaN64
6094
6094
value.as_double = NAN;
6095
6095
// s1 > 0
6096
- else if (!signbit (s1.as_double ))
6096
+ else if (!std:: signbit (s1.as_double ))
6097
6097
// value <-- +infinity
6098
6098
value.as_double = +INFINITY;
6099
6099
// s1 < 0
6100
- else if (! ! signbit (s1.as_double ))
6100
+ else if (std:: signbit (s1.as_double ))
6101
6101
// value <-- -infinity
6102
6102
value.as_double = -INFINITY;
6103
6103
}
6104
6104
// s0 == -infinity
6105
- else if (fpclassify (s0.as_double ) == FP_INFINITE &&
6106
- ! ! signbit (s0.as_double ))
6105
+ else if (std:: fpclassify (s0.as_double ) == FP_INFINITE &&
6106
+ std:: signbit (s0.as_double ))
6107
6107
{
6108
6108
// s1 == +-denormal, +-0
6109
- if (fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6110
- fpclassify (s1.as_double ) == FP_ZERO)
6109
+ if (std:: fpclassify (s1.as_double ) == FP_SUBNORMAL ||
6110
+ std:: fpclassify (s1.as_double ) == FP_ZERO)
6111
6111
// value <-- NaN64
6112
6112
value.as_double = NAN;
6113
6113
// s1 > 0
6114
- else if (!signbit (s1.as_double ))
6114
+ else if (!std:: signbit (s1.as_double ))
6115
6115
// value <-- -infinity
6116
6116
value.as_double = -INFINITY;
6117
6117
// s1 < 0
6118
- else if (! ! signbit (s1.as_double ))
6118
+ else if (std:: signbit (s1.as_double ))
6119
6119
// value <-- +infinity
6120
6120
value.as_double = +INFINITY;
6121
6121
}
0 commit comments