1fb299fa2Sopenharmony_cifunction Add(a, b, c)
2fb299fa2Sopenharmony_ci{
3fb299fa2Sopenharmony_ci    Stdout("Test Add ", a, b, c);
4fb299fa2Sopenharmony_ci    a = a + b;
5fb299fa2Sopenharmony_ci    c = a + c;
6fb299fa2Sopenharmony_ci    return a, c;
7fb299fa2Sopenharmony_ci}
8fb299fa2Sopenharmony_ci
9fb299fa2Sopenharmony_ciStdout("Test Add-int ", Add(100, 200, 10.0));
10fb299fa2Sopenharmony_ciStdout("Test Add-float ", Add(100.0, 200.0, 10));
11fb299fa2Sopenharmony_ci// 失败
12fb299fa2Sopenharmony_ci#Stdout("Test Add-string ", Add(100.0, 200.0, "1000"));
13fb299fa2Sopenharmony_ciStdout("Test Add-string ", Add("100.0 + ", 200.0, "++++"));
14fb299fa2Sopenharmony_ci
15fb299fa2Sopenharmony_cifunction Sub(a, b, c)
16fb299fa2Sopenharmony_ci{
17fb299fa2Sopenharmony_ci    Stdout("Test Sub ", a, b, c);
18fb299fa2Sopenharmony_ci    a = a - b;
19fb299fa2Sopenharmony_ci    c = a - c;
20fb299fa2Sopenharmony_ci    return a, c;
21fb299fa2Sopenharmony_ci}
22fb299fa2Sopenharmony_ci
23fb299fa2Sopenharmony_ciStdout("Test Sub-int ", Sub(100, 200, 10.0));
24fb299fa2Sopenharmony_ciStdout("Test Sub-float ", Sub(100.0, 200.0, 10));
25fb299fa2Sopenharmony_ci
26fb299fa2Sopenharmony_cifunction Mul(a, b, c)
27fb299fa2Sopenharmony_ci{
28fb299fa2Sopenharmony_ci    Stdout("Test Mul ", a, b, c);
29fb299fa2Sopenharmony_ci    a = a * b;
30fb299fa2Sopenharmony_ci    c = a * c;
31fb299fa2Sopenharmony_ci    return a, c;
32fb299fa2Sopenharmony_ci}
33fb299fa2Sopenharmony_ci
34fb299fa2Sopenharmony_ciStdout("Test Mul-int ", Mul(100, 200, 10.0));
35fb299fa2Sopenharmony_ciStdout("Test Mul-float ", Mul(100.0, 200.0, 10));
36fb299fa2Sopenharmony_ci
37fb299fa2Sopenharmony_cifunction Div(a, b, c)
38fb299fa2Sopenharmony_ci{
39fb299fa2Sopenharmony_ci    Stdout("Test Div ", a, b, c);
40fb299fa2Sopenharmony_ci    a = a / b;
41fb299fa2Sopenharmony_ci    c = a / c;
42fb299fa2Sopenharmony_ci    return a, c;
43fb299fa2Sopenharmony_ci}
44fb299fa2Sopenharmony_ci
45fb299fa2Sopenharmony_ciStdout("Test Div-int ", Div(100, 200, 10.0));
46fb299fa2Sopenharmony_ciStdout("Test Div-float ", Div(100.0, 200.0, 10));
47fb299fa2Sopenharmony_ci
48fb299fa2Sopenharmony_cifunction EQ(a, b, c)
49fb299fa2Sopenharmony_ci{
50fb299fa2Sopenharmony_ci    Stdout("Test EQ ", a, b, c);
51fb299fa2Sopenharmony_ci    d = a == b;
52fb299fa2Sopenharmony_ci    e = a == c;
53fb299fa2Sopenharmony_ci    return d, e;
54fb299fa2Sopenharmony_ci}
55fb299fa2Sopenharmony_ci
56fb299fa2Sopenharmony_ciStdout("Test EQ-int ", EQ(100, 100, 10.0));
57fb299fa2Sopenharmony_ciStdout("Test EQ-float ", EQ(100.1, 200.1, 200));
58fb299fa2Sopenharmony_ciStdout("Test EQ-float ", EQ(100.1, 200, 200));
59fb299fa2Sopenharmony_ci// string 只支持和str比较
60fb299fa2Sopenharmony_ci#Stdout("Test EQ-string ", EQ("200.0", 200.0, 10));
61fb299fa2Sopenharmony_ciStdout("Test EQ-string ", EQ("200.0", "200.0", "10"));
62fb299fa2Sopenharmony_ci
63fb299fa2Sopenharmony_cifunction NE(a, b, c)
64fb299fa2Sopenharmony_ci{
65fb299fa2Sopenharmony_ci    Stdout("Test NE ", a, b, c);
66fb299fa2Sopenharmony_ci    d = a != b;
67fb299fa2Sopenharmony_ci    e = a != c;
68fb299fa2Sopenharmony_ci    return d, e;
69fb299fa2Sopenharmony_ci}
70fb299fa2Sopenharmony_ci
71fb299fa2Sopenharmony_ciStdout("Test NE-int ", NE(100, 100, 10.0));
72fb299fa2Sopenharmony_ciStdout("Test NE-float ", NE(100.1, 200.1, 200));
73fb299fa2Sopenharmony_ciStdout("Test NE-float ", NE(100.1, 200, 200));
74fb299fa2Sopenharmony_ci// string 只支持和str比较
75fb299fa2Sopenharmony_ci#Stdout("Test NE-string ", NE("200.0", 200.0, 10));
76fb299fa2Sopenharmony_ciStdout("Test NE-string ", NE("200.0", "200.0", "10"));
77fb299fa2Sopenharmony_ci
78fb299fa2Sopenharmony_ciStdout("Test NE-int ", NE(100, 100, 10.0));
79fb299fa2Sopenharmony_ciStdout("Test NE-float ", NE(100.1, 200.1, 200));
80fb299fa2Sopenharmony_ciStdout("Test NE-float ", NE(100.1, 200, 200));
81fb299fa2Sopenharmony_ci// string 只支持和str比较
82fb299fa2Sopenharmony_ci#Stdout("Test NE-string ", NE("200.0", 200.0, 10));
83fb299fa2Sopenharmony_ciStdout("Test NE-string ", NE("200.0", "200.0", "10"));
84fb299fa2Sopenharmony_ci
85fb299fa2Sopenharmony_cifunction GT(a, b, c)
86fb299fa2Sopenharmony_ci{
87fb299fa2Sopenharmony_ci    Stdout("Test GT ", a, b, c);
88fb299fa2Sopenharmony_ci    d = a > b;
89fb299fa2Sopenharmony_ci    e = a > c;
90fb299fa2Sopenharmony_ci    return d, e;
91fb299fa2Sopenharmony_ci}
92fb299fa2Sopenharmony_ci
93fb299fa2Sopenharmony_ciStdout("Test GT-int ", GT(100, 100, 10.0));
94fb299fa2Sopenharmony_ciStdout("Test GT-float ", GT(100.1, 200.1, 200));
95fb299fa2Sopenharmony_ciStdout("Test GT-float ", GT(100.1, 200, 200));
96fb299fa2Sopenharmony_ci// string 只支持和str比较
97fb299fa2Sopenharmony_ci#Stdout("Test GT-string ", GT("200.0", 200.0, 10));
98fb299fa2Sopenharmony_ciStdout("Test GT-string ", GT("200.0", "200.0", "10"));
99fb299fa2Sopenharmony_ci
100fb299fa2Sopenharmony_cifunction GE(a, b, c)
101fb299fa2Sopenharmony_ci{
102fb299fa2Sopenharmony_ci    Stdout("Test GE ", a, b, c);
103fb299fa2Sopenharmony_ci    d = a >= b;
104fb299fa2Sopenharmony_ci    e = a >= c;
105fb299fa2Sopenharmony_ci    return d, e;
106fb299fa2Sopenharmony_ci}
107fb299fa2Sopenharmony_ci
108fb299fa2Sopenharmony_ciStdout("Test GE-int ", GE(100, 100, 10.0));
109fb299fa2Sopenharmony_ciStdout("Test GE-float ", GE(100.1, 200.1, 200));
110fb299fa2Sopenharmony_ciStdout("Test GE-float ", GE(100.1, 200, 200));
111fb299fa2Sopenharmony_ci// string 只支持和str比较
112fb299fa2Sopenharmony_ci#Stdout("Test GE-string ", GE("200.0", 200.0, 10));
113fb299fa2Sopenharmony_ciStdout("Test GE-string ", GE("200.0", "200.0", "10"));
114fb299fa2Sopenharmony_ci
115fb299fa2Sopenharmony_cifunction LT(a, b, c)
116fb299fa2Sopenharmony_ci{
117fb299fa2Sopenharmony_ci    Stdout("Test LT ", a, b, c);
118fb299fa2Sopenharmony_ci    d = a < b;
119fb299fa2Sopenharmony_ci    e = a < c;
120fb299fa2Sopenharmony_ci    return d, e;
121fb299fa2Sopenharmony_ci}
122fb299fa2Sopenharmony_ci
123fb299fa2Sopenharmony_ciStdout("Test LT-int ", LT(100, 100, 10.0));
124fb299fa2Sopenharmony_ciStdout("Test LT-float ", LT(100.1, 200.1, 200));
125fb299fa2Sopenharmony_ciStdout("Test LT-float ", LT(100.1, 200, 200));
126fb299fa2Sopenharmony_ci// string 只支持和str比较
127fb299fa2Sopenharmony_ci#Stdout("Test LT-string ", LT("200.0", 200.0, 10));
128fb299fa2Sopenharmony_ciStdout("Test LT-string ", LT("200.0", "200.0", "10"));
129fb299fa2Sopenharmony_ci
130fb299fa2Sopenharmony_cifunction LE(a, b, c)
131fb299fa2Sopenharmony_ci{
132fb299fa2Sopenharmony_ci    Stdout("Test LE ", a, b, c);
133fb299fa2Sopenharmony_ci    d = a <= b;
134fb299fa2Sopenharmony_ci    e = a <= c;
135fb299fa2Sopenharmony_ci    return d, e;
136fb299fa2Sopenharmony_ci}
137fb299fa2Sopenharmony_ci
138fb299fa2Sopenharmony_ciStdout("Test LE-int ", LE(100, 100, 10.0));
139fb299fa2Sopenharmony_ciStdout("Test LE-float ", LE(100.1, 200.1, 200));
140fb299fa2Sopenharmony_ciStdout("Test LE-float ", LE(100.1, 200, 200));
141fb299fa2Sopenharmony_ci// string 只支持和str比较
142fb299fa2Sopenharmony_ci#Stdout("Test LE-string ", LE("200.0", 200.0, 10));
143fb299fa2Sopenharmony_ciStdout("Test LE-string ", LE("200.0", "200.0", "10"));
144fb299fa2Sopenharmony_ci
145fb299fa2Sopenharmony_ci// 测试if语句
146fb299fa2Sopenharmony_cifunction TestIf(a, b, c)
147fb299fa2Sopenharmony_ci{
148fb299fa2Sopenharmony_ci    if (a > b) {
149fb299fa2Sopenharmony_ci        return a, c;
150fb299fa2Sopenharmony_ci    } else {
151fb299fa2Sopenharmony_ci        return b, c;
152fb299fa2Sopenharmony_ci    }
153fb299fa2Sopenharmony_ci}
154fb299fa2Sopenharmony_ci
155fb299fa2Sopenharmony_ciStdout("TestIf ", TestIf(100, 10, 10.0));
156fb299fa2Sopenharmony_ciStdout("TestIf ", TestIf(200, 100, 10.0));
157fb299fa2Sopenharmony_ciStdout("TestIf ", TestIf(100, 10 + 200, 10.0));
158fb299fa2Sopenharmony_ci
159fb299fa2Sopenharmony_ci// 测试for
160fb299fa2Sopenharmony_cifunction TestFor(a, b, c)
161fb299fa2Sopenharmony_ci{
162fb299fa2Sopenharmony_ci    for (i = 0; i < a; i = i + 1) {
163fb299fa2Sopenharmony_ci        Stdout("TestFor i = ", i);
164fb299fa2Sopenharmony_ci        if (i > b) {
165fb299fa2Sopenharmony_ci            Stdout("TestFor return");
166fb299fa2Sopenharmony_ci            return i;
167fb299fa2Sopenharmony_ci        }
168fb299fa2Sopenharmony_ci        if (i == b) {
169fb299fa2Sopenharmony_ci            Stdout("TestFor continue");
170fb299fa2Sopenharmony_ci            continue;
171fb299fa2Sopenharmony_ci        }
172fb299fa2Sopenharmony_ci        if (i == c) {
173fb299fa2Sopenharmony_ci            Stdout("TestFor break");
174fb299fa2Sopenharmony_ci            break;
175fb299fa2Sopenharmony_ci        }
176fb299fa2Sopenharmony_ci    }
177fb299fa2Sopenharmony_ci    return c;
178fb299fa2Sopenharmony_ci}
179fb299fa2Sopenharmony_ci
180fb299fa2Sopenharmony_ciStdout("TestFor ", TestFor(10, 5, 10));
181fb299fa2Sopenharmony_ciStdout("TestFor ", TestFor(10, 5, 10));
182fb299fa2Sopenharmony_ciStdout("TestFor ", TestFor(10, 5, 3));
183fb299fa2Sopenharmony_ci
184fb299fa2Sopenharmony_ci// 测试while 循环
185fb299fa2Sopenharmony_cifunction TestWhile(a, b, c)
186fb299fa2Sopenharmony_ci{
187fb299fa2Sopenharmony_ci    i = 0;
188fb299fa2Sopenharmony_ci    while (i < a) {
189fb299fa2Sopenharmony_ci        Stdout("TestWhile i = ", i);
190fb299fa2Sopenharmony_ci        if (i > b) {
191fb299fa2Sopenharmony_ci            Stdout("TestWhile return");
192fb299fa2Sopenharmony_ci            return i;
193fb299fa2Sopenharmony_ci        }
194fb299fa2Sopenharmony_ci        if (i == b) {
195fb299fa2Sopenharmony_ci            Stdout("TestWhile continue i= ", i);
196fb299fa2Sopenharmony_ci            i = i + 2;
197fb299fa2Sopenharmony_ci            continue;
198fb299fa2Sopenharmony_ci        }
199fb299fa2Sopenharmony_ci        if (i == c) {
200fb299fa2Sopenharmony_ci            Stdout("TestWhile break");
201fb299fa2Sopenharmony_ci            break;
202fb299fa2Sopenharmony_ci        }
203fb299fa2Sopenharmony_ci        i = i + 1;
204fb299fa2Sopenharmony_ci    }
205fb299fa2Sopenharmony_ci    return c;
206fb299fa2Sopenharmony_ci}
207fb299fa2Sopenharmony_ci
208fb299fa2Sopenharmony_ciStdout("TestWhile ", TestWhile(10, 5, 10));
209fb299fa2Sopenharmony_ciStdout("TestWhile ", TestWhile(10, 5, 10));
210fb299fa2Sopenharmony_ciStdout("TestWhile ", TestWhile(10, 5, 3));