X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/740d50812a81c59013f22888ab313da5a8113227..7c71e60dc8020a0a89f5ca36bd6487ed30a749d7:/src/mc/mc_hash.cpp?ds=sidebyside diff --git a/src/mc/mc_hash.cpp b/src/mc/mc_hash.cpp index 72dd93cfac..8b667d00e2 100644 --- a/src/mc/mc_hash.cpp +++ b/src/mc/mc_hash.cpp @@ -1,56 +1,51 @@ -/* Copyright (c) 2014-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2014-2022. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ #include - #include -#include +#include "xbt/log.h" -#include "src/mc/mc_private.h" -#include "src/mc/mc_snapshot.h" #include "mc/datatypes.h" #include "src/mc/mc_hash.hpp" +#include "src/mc/mc_private.hpp" +#include "src/mc/sosp/Snapshot.hpp" #include XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_hash, mc, "Logging specific to mc_hash"); -namespace simgrid { -namespace mc { +namespace simgrid::mc { namespace { class djb_hash { - hash_type state_ = 5381ll; + hash_type state_ = 5381LL; + public: template void update(T& x) { - state_ = (state_ << 5) + state_ + state_; - } - hash_type value() - { - return state_; + state_ = (state_ << 5) + state_ + x; } + hash_type value() const { return state_; } }; } hash_type hash(Snapshot const& snapshot) { - XBT_DEBUG("START hash %i", snapshot.num_state); + XBT_DEBUG("START hash %ld", snapshot.num_state_); djb_hash hash; - // TODO, nb_processes - // TODO, heap_bytes_used - // TODO, root variables - // TODO, basic stack frame information - // TODO, stack frame local variables - XBT_DEBUG("END hash %i", snapshot.num_state); + // TODO: + // * nb_processes + // * heap_bytes_used + // * root variables + // * basic stack frame information + // * stack frame local variables + XBT_DEBUG("END hash %ld", snapshot.num_state_); return hash.value(); } -} -} +} // namespace simgrid::mc