File: director_binary_string_runme.m

package info (click to toggle)
swig 4.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 45,980 kB
  • sloc: cpp: 54,284; ansic: 29,022; java: 17,595; python: 12,734; cs: 10,421; ruby: 7,263; yacc: 6,501; makefile: 5,860; javascript: 5,538; sh: 5,422; perl: 4,246; php: 3,733; ml: 2,198; tcl: 2,015; lisp: 1,448; xml: 115
file content (45 lines) | stat: -rw-r--r-- 1,237 bytes parent folder | download | duplicates (2)
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
director_binary_string

function self=DirectorBinaryStringCallback()
  global director_binary_string;
  self=subclass(director_binary_string.Callback());
  self.run=@DirectorBinaryStringCallback_run;
  self.writeData=@DirectorBinaryStringCallback_writeData;
end
function ret=DirectorBinaryStringCallback_run(self, dataBufferAA, dataBufferBB)
  ret = 0;
  for i = 1:length(dataBufferAA)
    ret = ret + double(dataBufferAA(i)) * 2;
  end
  for i = 1:length(dataBufferBB)
    ret = ret + double(dataBufferBB(i)) * 3;
  end
end
function ret=DirectorBinaryStringCallback_writeData(self, dataBufferAA)
  ret = 0;
  for i = 1:length(dataBufferAA)
    ret = ret + double(dataBufferAA(i)) * 2;
  end
end

caller = director_binary_string.Caller();
callback = DirectorBinaryStringCallback();
caller.setCallback(callback);
sum = caller.call();
sumData = caller.callWriteData();
caller.delCallback();

if (sum != 9*2*8 + 13*3*5)
    error(sum);
end
if (sumData != 9*2*8)
    error(sumData);
end

% FIXME how do we create null string?
% director_binary_string.Callback().run(null, null);
director_binary_string.Callback().run('', '');
callback = DirectorBinaryStringCallback();
caller.setCallback(callback);
caller.call_null();
caller.delCallback();