Skip to content

Commit d31e6ad

Browse files
authored
Merge pull request #8618 from gadfort/utl-metrics-large-int
utl: ensure utl::metric correctly handles large integers
2 parents 43bdd40 + 805f66e commit d31e6ad

File tree

6 files changed

+8
-2
lines changed

6 files changed

+8
-2
lines changed

src/utl/src/Logger-py.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ using namespace utl;
5050
%apply unsigned long { ToolId };
5151

5252
%include "../../Exception-py.i"
53+
%include "stdint.i"
5354

5455
%ignore utl::Logger::progress;
5556
%ignore utl::Logger::swapProgress;

src/utl/src/LoggerCommon.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include "LoggerCommon.h"
55

6+
#include <cstdint>
67
#include <string>
78

89
#include "utl/Logger.h"
@@ -64,7 +65,7 @@ void metric(const char* metric, const char* value)
6465
logger->metric(metric, value);
6566
}
6667

67-
void metric_integer(const char* metric, const int value)
68+
void metric_integer(const char* metric, int64_t value)
6869
{
6970
Logger* logger = getLogger();
7071
logger->metric(metric, value);

src/utl/src/LoggerCommon.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// SPDX-License-Identifier: BSD-3-Clause
22
// Copyright (c) 2022-2025, The OpenROAD Authors
33

4+
#include <cstdint>
45
#include <string>
56

67
#include "utl/Logger.h"
@@ -15,7 +16,7 @@ void critical(utl::ToolId tool, int id, const char* msg);
1516
void open_metrics(const char* metrics_filename);
1617
void close_metrics(const char* metrics_filename);
1718
void metric(const char* metric, const char* value);
18-
void metric_integer(const char* metric, const int value);
19+
void metric_integer(const char* metric, int64_t value);
1920
void metric_float(const char* metric, const double value);
2021
void metric_float(const char* metric, const char* value);
2122
void set_metrics_stage(const char* fmt);

src/utl/test/metrics.jsonok

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"integer0": -1,
33
"integer1": 0,
44
"integer2": 1,
5+
"integer3": 2307209767,
56
"float0": 0,
67
"float1": 1000,
78
"float2": 1e+39,

src/utl/test/test_metrics.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
utl.metric_integer("integer0", -1)
99
utl.metric_integer("integer1", 0)
1010
utl.metric_integer("integer2", 1)
11+
utl.metric_integer("integer3", 2307209767)
1112

1213
utl.metric_float("float0", 0)
1314
utl.metric_float("float1", 1e3)

src/utl/test/test_metrics.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ utl::open_metrics $metrics_file
77
utl::metric_integer "integer0" -1
88
utl::metric_integer "integer1" 0
99
utl::metric_integer "integer2" 1
10+
utl::metric_integer "integer3" 2307209767
1011

1112
utl::metric_float "float0" 0
1213
utl::metric_float "float1" 1e3

0 commit comments

Comments
 (0)