cast.m

来自「这是一个关于MATLAB的函数」· M 代码 · 共 56 行

M
56
字号
function resp = cast(rp,datatype,size)
% Copyright 2002 The MathWorks, Inc.
%   $Revision: 1.2 $  $Date: 2002/03/29 13:44:07 $

nargchk(2,3,nargin);
if ~ishandle(rp),
    error('First Parameter must be a RPOINTER Handle.');
end

if strcmp(rp.procsubfamily(1:2),'C6')
    
	if isempty( strmatch( datatype, ...
		{   'uint8',        'int8',     ...
            'uint16',       'int16',    ...
            'int64',        'uint64',   ...
		    'char',         'unsigned char',    'signed char',...
		    'short',        'unsigned short',   'signed short',...
		    'long',         'unsigned long',    'signed long',...
		    'double',       'long double',      'long long'...
		},  'exact') ),

        if nargin==2
           resp = cast_rnumeric(rp,datatype);
        else
           resp = cast_rnumeric(rp,datatype,size);
        end
	else
        error('A pointer cannot have a non-32 bit datatype.');
	end
    
elseif strcmp(rp.procsubfamily,'C54x')
    
	if isempty( strmatch( datatype, ...
		{   'uint8',        'int8',     ...    
            'int32',        'uint32',   ...
            'int64',        'uint64',   ...
		    'long',         'unsigned long',    'signed long',  ...
		    'float',        'double',           'long double',  ...
            'long long' ...
		},  'exact') ),
    
        if nargin==2
           resp = cast_rnumeric(rp,datatype);
        else
           resp = cast_rnumeric(rp,datatype,size);
        end
       
	else
        error('A pointer cannot have a non-16 bit datatype.');
	end
    
end

% [EOF] convert.m

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?