boblsturm@0: classdef AnalysisCache < handle boblsturm@0: properties boblsturm@0: Corpus boblsturm@0: Target boblsturm@0: WinType boblsturm@0: Window boblsturm@0: Hop boblsturm@0: Hash boblsturm@0: end boblsturm@0: boblsturm@0: methods boblsturm@0: function obj = AnalysisCache(varargin) boblsturm@0: % [Corpus Target Window Hop] boblsturm@0: if nargin == 5 boblsturm@0: obj.Corpus = varargin{1}; boblsturm@0: obj.Target = varargin{2}; boblsturm@0: obj.Window = varargin{3}; boblsturm@0: obj.WinType = varargin{4}; boblsturm@0: obj.Hop = varargin{5}; boblsturm@0: end boblsturm@0: end boblsturm@0: boblsturm@0: function obj = GenerateHash(obj) boblsturm@0: ArrayToHash = [obj.Corpus; obj.Target; obj.WinType; obj.Window; obj.Hop]; boblsturm@0: Opt = struct( 'Method', 'SHA-1' ); boblsturm@0: try boblsturm@0: obj.Hash = ['id', char(DataHash(ArrayToHash, Opt))]; boblsturm@0: catch ME boblsturm@0: disp( ME ); boblsturm@0: obj.Hash = abs( floor( 1000*randn ) ); boblsturm@0: end boblsturm@0: end boblsturm@0: end boblsturm@0: end