diff --git a/CHANGELOG.md b/CHANGELOG.md index ba46ba8..f9f778d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ All notable changes to this project will be documented in this file. ## [0.4.4] UNRELEASED -### Changed -- TODO +### Added +- `Evaluate` class now implements a __hash__ and tolist() methods. ## [0.4.3] 2023-06-15 ### Changed diff --git a/src/aac_metrics/classes/evaluate.py b/src/aac_metrics/classes/evaluate.py index 7a7dea8..cc89e6d 100644 --- a/src/aac_metrics/classes/evaluate.py +++ b/src/aac_metrics/classes/evaluate.py @@ -2,6 +2,8 @@ # -*- coding: utf-8 -*- import logging +import pickle +import zlib from typing import Callable, Iterable, Union @@ -93,6 +95,14 @@ def update( self._candidates += candidates self._mult_references += mult_references + def tolist(self) -> list[AACMetric]: + return list(self) + + def __hash__(self) -> int: + data = pickle.dumps(self) + data = zlib.adler32(data) + return data + class AACEvaluate(Evaluate): """Evaluate candidates with multiple references with all Audio Captioning metrics.