1 | function [MachineList, SubMachineList] = getmachinelist(varargin) |
---|
2 | %GETMACHINELIST - Returns a cell array list of accelerators available to the Accelerator Control Toolbox (ACT) |
---|
3 | % [MachineList, SubMachineList] = getmachinelist |
---|
4 | % |
---|
5 | % Written by Greg Portmann |
---|
6 | |
---|
7 | |
---|
8 | MMLROOT = [getmmlroot, 'machine']; |
---|
9 | |
---|
10 | DirStart = pwd; |
---|
11 | cd(MMLROOT) |
---|
12 | |
---|
13 | DirStruct = dir; |
---|
14 | |
---|
15 | MachineList = {}; |
---|
16 | for i = 3:length(DirStruct) |
---|
17 | MachineList{i-2,1} = DirStruct(i).name; |
---|
18 | end |
---|
19 | |
---|
20 | if ismac |
---|
21 | % Remove .DS_Store Directory |
---|
22 | MachineList = findkeyword(MachineList, '.DS_Store'); |
---|
23 | end |
---|
24 | |
---|
25 | |
---|
26 | %if nargout >= 2 |
---|
27 | SubMachineList = {}; |
---|
28 | for i = 1:length(MachineList) |
---|
29 | cd(MachineList{i}); |
---|
30 | DirStruct = dir; |
---|
31 | k = 0; |
---|
32 | for j = 3:length(DirStruct) |
---|
33 | if length(DirStruct(j).name) >= 7 && strcmpi(DirStruct(j).name(end-6:end), 'OpsData') |
---|
34 | elseif length(DirStruct(j).name) >= 4 && strcmpi(DirStruct(j).name(end-3:end), 'Data') |
---|
35 | elseif length(DirStruct(j).name) >= 11 && strcmpi(DirStruct(j).name(end-10:end), 'Application') |
---|
36 | elseif length(DirStruct(j).name) >= 12 && strcmpi(DirStruct(j).name(end-11:end), 'Applications') |
---|
37 | elseif length(DirStruct(j).name) >= 6 && strcmpi(DirStruct(j).name(end-5:end), 'common') |
---|
38 | elseif length(DirStruct(j).name) >= 8 && strcmpi(DirStruct(j).name(end-7:end), 'doc_html') |
---|
39 | elseif length(DirStruct(j).name) >= 4 && strcmpi(DirStruct(j).name(end-3:end), 'docs') |
---|
40 | elseif length(DirStruct(j).name) >= 3 && strcmpi(DirStruct(j).name(end-2:end), 'doc') |
---|
41 | elseif length(DirStruct(j).name) >= 6 && strcmpi(DirStruct(j).name(end-5:end), 'Sussix') |
---|
42 | else |
---|
43 | k = k + 1; |
---|
44 | SubMachineList{i}{k} = DirStruct(j).name; |
---|
45 | end |
---|
46 | end |
---|
47 | cd .. |
---|
48 | end |
---|
49 | %end |
---|
50 | |
---|
51 | % Remove machines that do not have a SubMachine list |
---|
52 | for i = length(MachineList):-1:1 |
---|
53 | if isempty(SubMachineList{i}) |
---|
54 | MachineList(i) = []; |
---|
55 | SubMachineList(i) = []; |
---|
56 | end |
---|
57 | end |
---|
58 | |
---|
59 | |
---|
60 | cd(DirStart); |
---|