[77f386]: inst / __bw_computing_machine__.m Maximize Restore History

Download this file

__bw_computing_machine__.m    59 lines (51 with data), 1.6 kB

 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
## Copyright (C) 2009 Olaf Till <olaf.till@uni-jena.de>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
function __bw_computing_machine__ (f)
## internal function of the parallel package, not meant for explicit use
while (true) # exits if eof
try
if (ismatrix (arg = __bw_prcv__ (stdin)))
exit (0);
endif
catch
exit (0);
end_try_catch
arg = arg.psend_var;
try
if (ismatrix (arg_id = __bw_prcv__ (stdin)))
exit (0);
endif
catch
exit (0);
end_try_catch
arg_id = arg_id.psend_var;
try
res = feval (f, arg, arg_id);
err = false;
catch
err = true;
msg = lasterr ();
end_try_catch
if (err)
__bw_psend__ (stdout, 2, true);
__bw_psend__ (stdout, msg, true);
else
__bw_psend__ (stdout, 0, true);
__bw_psend__ (stdout, res, true);
endif
fflush (stdout);
endwhile
endfunction