Commit 85722a71 authored by Jay Dubb's avatar Jay Dubb
Browse files

v1.26.0

-- Fix bug when loading processOpt_*.cfg file with outdated functions, so Homer3 tries to find closest match in registry and crashes in the ParamClass Compare method because it assumes the param values to be same length which is not a safe assumption (e.g., hmrOD2Conc vs hmrR_OD2Conc_3).
parent 9f44c726
Loading
Loading
Loading
Loading
+30 −9
Original line number Diff line number Diff line
@@ -115,22 +115,43 @@ classdef ParamClass < matlab.mixin.Copyable
        
        % ----------------------------------------------------------------------------------
        function scorefinal = Compare(obj, obj2)
            score = [];
            nameMaxScore   = 0.50;
            formatMaxScore = 0.20;
            valueMaxScore  = 0.30;
            
            nsteps = max(length(obj.value), length(obj2.value));
            stepsize = valueMaxScore/nsteps;
            maxscore = [nameMaxScore, formatMaxScore, stepsize+zeros(1,nsteps)]; 
            
            score = zeros(1, length(maxscore));
            kk = 1;
            
            if ~strcmp(obj.name, obj2.name)
                scorefinal = 0;
                return
            else
                score(end+1) = 0.50;
                score(kk) = maxscore(kk);
            end
            kk = kk+1;
            
            if ~strcmp(obj.format, obj2.format)
                score(end+1) = 0;
                score(kk) = 0;
            else
                score(end+1) = 0.20;
                score(kk) = maxscore(kk);
            end
            if ~all(obj.value == obj2.value)
                score(end+1) = 0;
            kk = kk+1;
            
            for ii = 1:length(obj.value)
                if ii <= length(obj2.value)
                    if obj.value(ii) == obj2.value(ii)
                        score(kk) = maxscore(kk);
                    else
                score(end+1) = 0.30;
                        score(kk) = maxscore(kk)/2;
                    end
                else
                    score(kk) = 0;
                end
                kk = kk+1;
            end            
            scorefinal = sum(score);
        end
+2 −2
Original line number Diff line number Diff line
function vrnnum = getVernum()

vrnnum{1} = '1';   % Major version #
vrnnum{2} = '25';  % Major sub-version #
vrnnum{3} = '14';   % Minor version #
vrnnum{2} = '26';  % Major sub-version #
vrnnum{3} = '0';   % Minor version #
vrnnum{4} = '0';   % Minor sub-version # or patch #: 'p1', 'p2', etc