Merge: doc: fixed some typos and other misc. corrections
[nit.git] / tests / test_ffi_c_primitives.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 fun opposite(v: Bool): Bool `{
16 return v == 0;
17 `}
18
19 fun plus_10(v: Char): Char `{
20 return v + 10;
21 `}
22
23 fun plus_1000(v: Int): Int `{
24 return v + 1000;
25 `}
26
27 fun multiply_by_100(v: Float): Float `{
28 return v * 100;
29 `}
30
31 fun plus_0x10(v: Byte): Byte `{
32 return v + 0x10;
33 `}
34
35 fun print_ns(s: CString) `{
36 printf("%s\n", s);
37 `}
38
39 print opposite(true)
40 print opposite(false)
41
42 print plus_10('a')
43
44 print plus_1000(1234)
45
46 print multiply_by_100(123.45)
47
48 print plus_0x10(0x2u8)
49
50 print_ns("hello world".to_cstring)