Diff of /functions/@mmo/reshape.m [000000] .. [422372]

Switch to unified view

a b/functions/@mmo/reshape.m
1
% RESHAPE - reshape of memory mapped underlying array
2
%
3
% Author: Arnaud Delorme, SCCN, INC, UCSD, Nov. 2008
4
5
% Copyright (C) 2008 Arnaud Delorme, SCCN, INC, UCSD
6
%
7
% This file is part of EEGLAB, see http://www.eeglab.org
8
% for the documentation and details.
9
%
10
% Redistribution and use in source and binary forms, with or without
11
% modification, are permitted provided that the following conditions are met:
12
%
13
% 1. Redistributions of source code must retain the above copyright notice,
14
% this list of conditions and the following disclaimer.
15
%
16
% 2. Redistributions in binary form must reproduce the above copyright notice,
17
% this list of conditions and the following disclaimer in the documentation
18
% and/or other materials provided with the distribution.
19
%
20
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
% AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
% ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24
% LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25
% CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
% SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
% INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
% CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
% ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30
% THE POSSIBILITY OF SUCH DAMAGE.
31
32
function obj = reshape(obj,d1,d2,d3)
33
    
34
    % decode length
35
    % -------------
36
    if nargin > 3
37
        d1 = [ d1 d2 d3 ];
38
    elseif nargin > 2
39
        d1 = [ d1 d2 ];
40
    end
41
    
42
    if prod(size(obj)) ~= prod(d1)
43
        error('Wrong dimensions for reshaping');
44
    end
45
    
46
    if obj.transposed
47
        d1 = [d1(2:end) d1(1)];
48
    end
49
50
    obj.dimensions = d1;