www.gusucode.com > bigdata 工具箱 matlab源码程序 > bigdata/+matlab/+bigdata/+internal/Optimizer.m

    %Optimizer Base class for Closure graph optimizers

% Copyright 2016 The MathWorks, Inc.
classdef (Abstract) Optimizer < handle
    methods (Abstract)
        % Optimize the execution graphs for a series of tall arrays. Inputs are
        % partitioned arrays whose underlying execution graphs are modified
        % in-place. Returns TRUE only if changes were made.
        tf = optimize(obj, varargin);
    end
    methods (Static)
        function out = default(in)
        %DEFAULT get or set the default optimizer.
        %   op = Optimizer.default() retrieves the current default
        %
        %   old = Optimizer.default(new) sets a new default, returning the old
        %   default.
            
            persistent DEFAULT
            if isempty(DEFAULT)
                DEFAULT = matlab.bigdata.internal.optimizer.FusingOptimizer();
            end
            
            if nargout
                out = DEFAULT;
            end
            
            if nargin && ~isempty(in)
                assert(isa(in, 'matlab.bigdata.internal.Optimizer'));
                DEFAULT = in;
            end
        end
        
    end
end