gusucode.com > target工具箱matlab源码程序 > target/extensions/processor/intelhost/tfl/+IntelHostTFL/@SSEMatrVectMulEntry_f64x2/SSEMatrVectMulEntry_f64x2.m

    classdef (ConstructOnLoad) SSEMatrVectMulEntry_f64x2 < RTW.TflCOperationEntryML
    %   Copyright 2014 The MathWorks, Inc.
    
    methods
        function obj = SSEMatrVectMulEntry_f64x2(varargin)
            mlock;
            obj@RTW.TflCOperationEntryML(varargin{:});
        end
        
        function ent = do_match(hThis, ...
                hCSO, ... %#ok
                targetBitPerChar, ... %#ok
                targetBitPerShort, ... %#ok
                targetBitPerInt, ... %#ok
                targetBitPerLong ) %#ok
            % DO_MATCH - Create a custom match function. The base class
            % checks the types of the arguments prior to calling this
            % method. This will check additional data and perhaps modify
            % the implementation function.
            %
            
            ent = [];
            
            if mod(hCSO.ConceptualArgs(2).getNthDimension(1), 2)==0 ...
                    && mod(hCSO.ConceptualArgs(2).getNthDimension(2), 2) == 0 ...
                    && mod(hCSO.ConceptualArgs(3).getNthDimension(1), 2)==0 ...
                    && hCSO.ConceptualArgs(3).getNthDimension(2) == 1
                
                ent = RTW.TflCOperationEntry(hThis);
                
                %On ent, set the conceptual argument dimensions to be the same as the CSO
                ent.ConceptualArgs(1) = hCSO.ConceptualArgs(1);
                ent.ConceptualArgs(2) = hCSO.ConceptualArgs(2);
                ent.ConceptualArgs(3) = hCSO.ConceptualArgs(3);
                
                
                % Implementation is of this type: fcn(inp1, width1, height1, inp2, width2, height2, out)
                
                %Add the inp1 width to the implementation
                ent.Implementation.Arguments(2).Value = hCSO.ConceptualArgs(2).DimRange(4);
                %Add the inp1 height to the implementation
                ent.Implementation.Arguments(3).Value = hCSO.ConceptualArgs(2).DimRange(2);
                %Add the inp2 width to the implementation
                %ent.Implementation.Arguments(5).Value = hCSO.ConceptualArgs(3).DimRange(4);
                %Add the inp2 height to the implementation
                %ent.Implementation.Arguments(5).Value = hCSO.ConceptualArgs(3).DimRange(2);
                
            end
        end
        
    end
end