File: operator_overload_runme.sci

package info (click to toggle)
renderdoc 1.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 79,584 kB
  • sloc: cpp: 491,671; ansic: 285,823; python: 12,617; java: 11,345; cs: 7,181; makefile: 6,703; yacc: 5,682; ruby: 4,648; perl: 3,461; php: 2,119; sh: 2,068; lisp: 1,835; tcl: 1,068; ml: 747; xml: 137
file content (82 lines) | stat: -rw-r--r-- 1,988 bytes parent folder | download | duplicates (10)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
exec("swigtest.start", -1);

function checktrue(value, msg)
  checkequal(value, %T, msg)
endfunction

a = new_Op();
b = new_Op(5);
c = new_Op(b);
d = new_Op(2);
dd = new_Op();

// Assignment operator
Op_Equal(dd, d);

// Comparison operator
checktrue(Op_NotEqual(a, b), "Op_NotEqual(a, b)");
checktrue(Op_EqualEqual(b, c), "Op_EqualEqual(b, c)");
checktrue(Op_NotEqual(a, d), "Op_NotEqual(a, d)");
checktrue(Op_EqualEqual(d, dd), "Op_EqualEqual(d, dd)");

checktrue(Op_LessThan(a, b), "Op_LessThan(a, b)");
checktrue(Op_LessThanEqual(a, b), "Op_LessThanEqual(a, b)");
checktrue(Op_LessThanEqual(b, c), "Op_LessThanEqual(b, c)");
checktrue(Op_GreaterThanEqual(b, c), "Op_GreaterThanEqual(b, c)");
checktrue(Op_GreaterThan(b, d), "Op_GreaterThan(b, d)");
checktrue(Op_GreaterThanEqual(b, d), "Op_GreaterThanEqual(b, d)");

delete_Op(a);
delete_Op(b);
delete_Op(c);
delete_Op(d);
delete_Op(dd);

f = new_Op(1);
g = new_Op(1);

expop = new_Op();

op = Op_Plus(f, g);
Op_i_set(expop, 2);
checktrue(Op_EqualEqual(op, expop), "Op_Plus(f, g) <> Op(2)");
delete_Op(op);

op = Op_Minus(f, g);
Op_i_set(expop, 0);
checktrue(Op_EqualEqual(op, expop), "Op_Minus(f, g) <> Op(0)");
delete_Op(op);

op = Op_Multiply(f, g);
Op_i_set(expop, 1);
checktrue(Op_EqualEqual(op, expop), "Op_Multiply(f, g) <> Op(1)");
delete_Op(op);

op = Op_Divide(f, g);
Op_i_set(expop, 1);
checktrue(Op_EqualEqual(op, expop), "Op_Divide(f, g) <> Op(1)");
delete_Op(op);

// Unary operator
op = Op_PlusPlusPrefix(new_Op(3));
Op_i_set(expop, 4);
checktrue(Op_EqualEqual(op, expop), "Op_PlusPlusPrefix(op) <> Op(4)");

// Square bracket operator
checkequal(Op_IndexIntoConst(op, uint32(0)), 4, "Op_IndexIntoConst(op, 0) <> 4");
checkequal(Op_IndexIntoConst(op, uint32(1)), 0, "Op_IndexIntoConst(op, 1) <> 0");

// Functor
i = new_Op(3);
checkequal(Op_Functor(i), 3, "Op_Functor(i)");
checkequal(Op_Functor(i, 1), 4, "Op_Functor(i, 1)");

delete_Op(f);
delete_Op(g);

delete_Op(i);

delete_Op(expop);

exec("swigtest.quit", -1);