From 7a41a7f839557b76d6d5463c846dcbb42631ab2c Mon Sep 17 00:00:00 2001 From: James Cherry Date: Tue, 16 Sep 2025 14:17:30 -0700 Subject: [PATCH] ClkInfo::hash resolves #287 Signed-off-by: James Cherry --- search/ClkInfo.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/search/ClkInfo.cc b/search/ClkInfo.cc index 3c254284..9571ba6a 100644 --- a/search/ClkInfo.cc +++ b/search/ClkInfo.cc @@ -24,6 +24,8 @@ #include "ClkInfo.hh" +#include + #include "Units.hh" #include "Network.hh" #include "Graph.hh" @@ -86,18 +88,20 @@ ClkInfo::findHash(const StaState *sta) hashIncr(hash_, crpr_clk_path_.vertexId(sta)); hashIncr(hash_, crpr_clk_path_.tag(sta)->hash(false, sta)); } + + std::hash hash_float; if (uncertainties_) { float uncertainty; bool exists; uncertainties_->value(MinMax::min(), uncertainty, exists); if (exists) - hashIncr(hash_, uncertainty * 1E+12F); + hashIncr(hash_, hash_float(uncertainty)); uncertainties_->value(MinMax::max(), uncertainty, exists); if (exists) - hashIncr(hash_, uncertainty * 1E+12F); + hashIncr(hash_, hash_float(uncertainty)); } - hashIncr(hash_, latency_ * 1E+12F); - hashIncr(hash_, delayAsFloat(insertion_) * 1E+12F); + hashIncr(hash_, hash_float(latency_)); + hashIncr(hash_, hash_float(delayAsFloat(insertion_))); hashIncr(hash_, is_propagated_); hashIncr(hash_, is_gen_clk_src_path_); hashIncr(hash_, is_pulse_clk_);