boblsturm@0: classdef SynthesisCache < handle boblsturm@0: properties boblsturm@0: Iterations boblsturm@0: Seed boblsturm@0: Convergence boblsturm@0: CostMetric boblsturm@0: RepRestrict boblsturm@0: PolyRestrict boblsturm@0: ContRestrict boblsturm@0: DiagPattern boblsturm@0: Rotation boblsturm@0: Endtime boblsturm@0: Lambda boblsturm@0: Prune boblsturm@0: Hash boblsturm@0: AnalysisHash boblsturm@0: end boblsturm@0: boblsturm@0: methods boblsturm@0: function obj = SynthesisCache(varargin) boblsturm@0: if nargin == 13 boblsturm@0: obj.Iterations = varargin{1}; boblsturm@0: obj.Seed = varargin{2}; boblsturm@0: obj.Convergence = varargin{3}; boblsturm@0: obj.CostMetric = varargin{4}; boblsturm@0: obj.RepRestrict = varargin{5}; boblsturm@0: obj.PolyRestrict = varargin{6}; boblsturm@0: obj.ContRestrict = varargin{7}; boblsturm@0: obj.DiagPattern = varargin{8}; boblsturm@0: obj.Rotation = varargin{9}; boblsturm@0: obj.Endtime = varargin{10}; boblsturm@0: obj.Lambda = varargin{11}; boblsturm@0: obj.Prune = varargin{12}; boblsturm@0: obj.AnalysisHash = varargin{13}; boblsturm@0: end boblsturm@0: end boblsturm@0: boblsturm@0: function obj = GenerateHash(obj) boblsturm@0: ArrayToHash = [obj.Iterations; obj.Seed; obj.Convergence; obj.CostMetric; ... boblsturm@0: obj.RepRestrict; obj.PolyRestrict; obj.ContRestrict; ... boblsturm@0: obj.DiagPattern; obj.Rotation; obj.Endtime; obj.Lambda; obj.Prune ]; boblsturm@0: boblsturm@0: ArrayToHash = [ ArrayToHash; (1*obj.AnalysisHash)']; boblsturm@0: Opt = struct( 'Method', 'SHA-1' ); boblsturm@0: obj.Hash = ['id', char(DataHash(ArrayToHash, Opt))]; boblsturm@0: end boblsturm@0: end boblsturm@0: end