This file is indexed.

/usr/share/freemat/toolbox/array/deal.m is in freemat-data 4.0-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
% DEAL DEAL Multiple Simultaneous Assignments
% 
% Usage
% 
% When making a function call, it is possible to assign
% multiple outputs in a single call, (see, e.g., max for
% an example).  The deal call allows you to do the 
% same thing with a simple assignment.  The syntax for its
% use is
% 
%    [a,b,c,...] = deal(expr)
% 
% where expr is an expression with multiple values.  The simplest
% example is where expr is the dereference of a cell array, e.g.
% expr <-- A{:}.  In this case, the deal call is equivalent
% to
% 
%    a = A{1}; b = A{2}; C = A{3}; 
% 
% Other expressions which are multivalued are structure arrays with
% multiple entries (non-scalar), where field dereferencing has been
% applied.

% Copyright (c) 2002-2006 Samit Basu
% Licensed under the GPL

function varargout = deal(varargin)
  if (nargin ~= nargout) && (nargin ~= 1)
    error('number of outputs must match number of inputs');
  end
  if (nargin == 1)
    varargout = varargin(ones(1,max(1,nargout)));
  else
    varargout = varargin;
  end