Skip to content

Commit f78d891

Browse files
authored
fix windows build (#10841)
1 parent d1a9c41 commit f78d891

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

ydb/public/lib/ydb_cli/commands/benchmark_utils.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -460,17 +460,19 @@ bool CompareValueImplFloat(const T& valResult, TStringBuf vExpected) {
460460
}
461461

462462
bool CompareValueImplDecimal(const NYdb::TDecimalValue& valResult, TStringBuf vExpected) {
463-
constexpr double relativeFloatPrecession = 0.0001;
464463
auto resInt = NYql::NDecimal::FromHalfs(valResult.Low_, valResult.Hi_);
465464
TStringBuf precesionStr;
466465
vExpected.Split("+-", vExpected, precesionStr);
467-
auto expectedInt = NYql::NDecimal::FromString(vExpected, 22, 9);
466+
auto expectedInt = NYql::NDecimal::FromString(vExpected, valResult.DecimalType_.Precision, valResult.DecimalType_.Scale);
468467

469468
if (precesionStr) {
470-
auto precInt = NYql::NDecimal::FromString(precesionStr, 22, 9);
469+
auto precInt = NYql::NDecimal::FromString(precesionStr, valResult.DecimalType_.Precision, valResult.DecimalType_.Scale);
471470
return resInt >= expectedInt - precInt && resInt <= expectedInt + precInt;
472471
}
473-
return resInt > (1 - relativeFloatPrecession) * expectedInt && resInt < (1 + relativeFloatPrecession) * expectedInt;
472+
const auto from = NYql::NDecimal::FromString("0.9999", valResult.DecimalType_.Precision, valResult.DecimalType_.Scale);
473+
const auto to = NYql::NDecimal::FromString("1.0001", valResult.DecimalType_.Precision, valResult.DecimalType_.Scale);
474+
const auto devider = NYql::NDecimal::GetDivider(valResult.DecimalType_.Scale);
475+
return resInt > NYql::NDecimal::MulAndDivNormalDivider(from, expectedInt, devider) && resInt < NYql::NDecimal::MulAndDivNormalDivider(to, expectedInt, devider);
474476
}
475477

476478
bool CompareValueImplDatetime(const TInstant& valResult, TStringBuf vExpected, TDuration unit) {

0 commit comments

Comments
 (0)