Improve `org-fix-tags-on-the-fly'
[org-mode/org-tableheadings.git] / testing / examples / ob-C-test.org
blob0faf630b9f4d388ce6c2614ab949a48067a9705d
1 #+Title: a collection of examples for ob-C tests
2 #+OPTIONS: ^:nil
3 * Simple tests
4   :PROPERTIES:
5   :ID:       fa6db330-e960-4ea2-ac67-94bb845b8577
6   :END:
7 #+source: simple
8 #+begin_src cpp :includes "<iostream>" :results silent
9   std::cout << 42;
10   return 0;
11 #+end_src
13 #+source: simple
14 #+begin_src D :results silent
15   writefln ("%s", 42);
16 #+end_src
18 #+source: integer_var
19 #+begin_src cpp :var q=12 :includes "<iostream>" :results silent
20   std::cout << q;
21   return 0;
22 #+end_src
24 #+source: integer_var
25 #+begin_src D :var q=12 :results silent
26   writefln ("%s", q);
27 #+end_src
29 #+source: two_var
30 #+begin_src cpp :var q=12 :var p=10 :includes "<iostream>" :results silent
31   std::cout << p+q;
32   return 0;
33 #+end_src
35 #+source: two_var
36 #+begin_src D :var q=12 :var p=10 :results silent
37   writefln ("%s", p+q);
38 #+end_src
40 #+source: string_var
41 #+begin_src cpp :var q="word" :includes '(<iostream> <cstring>) :results silent
42   std::cout << q << ' ' << std::strlen(q);
43   return 0;
44 #+end_src
46 #+source: string_var
47 #+begin_src D :var q="word" :results silent
48   writefln ("%s %s", q, q.length);
49 #+end_src
51 #+source: define
52 #+begin_src cpp :defines N 42  :includes "<iostream>" :results silent
53   std::cout << N;
54   return 0;
55 #+end_src
57 * Array
58   :PROPERTIES:
59   :ID:       2df1ab83-3fa3-462a-a1f3-3aef6044a874
60   :END:
61 #+source: array
62 #+begin_src cpp :includes "<iostream>" :results vector :results silent
63   for (int i=1; i<3; i++) {
64     std::cout << i << '\n';
65   }
66   return 0;
67 #+end_src
69 #+source: array
70 #+begin_src D :results vector :results silent
71   foreach (i; 1..3)
72     writefln ("%s", i);
73 #+end_src
75 * Matrix
76   :PROPERTIES:
77   :ID:       cc65d6b3-8e8e-4f9c-94cd-f5a00cdeceb5
78   :END:
79 #+name: C-matrix
80 | 1 | 2 |
81 | 3 | 4 |
83 #+source: list_var
84 #+begin_src cpp :var a='("abc" "def") :includes "<iostream>" :results silent
85   std::cout << a[0] << a[1] << sizeof(a)/sizeof(*a) << '\n';
86 #+end_src
88 #+source: list_var
89 #+begin_src D :var a='("abc" "def") :results silent
90   writefln ("%s%s%s", a[0], a[1], a.length);
91 #+end_src
93 #+source: vector_var
94 #+begin_src cpp :var a='[1 2] :includes "<iostream>" :results silent
95   std::cout << a[0] << a[1] << sizeof(a)/sizeof(*a) << '\n';
96 #+end_src
98 #+source: vector_var
99 #+begin_src D :var a='[1 2] :results silent
100   writefln ("%s%s%s", a[0], a[1], a.length);
101 #+end_src
103 #+source: list_list_var
104 #+begin_src cpp :var q=C-matrix :includes "<iostream>" :results silent
105   std::cout << q[0][0] << ' ' << q[1][0] << '\n'
106             << q[0][1] << ' ' << q[1][1] << '\n'; // transpose
107 #+end_src
109 #+source: list_list_var
110 #+begin_src D :var q=C-matrix :results silent
111   writefln ("%s %s", q[0][0], q[1][0]);
112   writefln ("%s %s", q[0][1], q[1][1]); // transpose
113 #+end_src
115 * Inhomogeneous table
116   :PROPERTIES:
117   :ID:       e112bc2e-419a-4890-99c2-7ac4779531cc
118   :END:
120 #+name: tinomogen
121   | day       | quty |
122   |-----------+------|
123   | monday    |   34 |
124   | tuesday   |   41 |
125   | wednesday |   56 |
126   | thursday  |   17 |
127   | friday    |   12 |
128   | saturday  |    7 |
129   | sunday    |    4 |
131 #+source: inhomogeneous_table
132 #+begin_src cpp :var tinomogen=tinomogen :results silent :includes <string.h> <stdio.h>
133 int main()
135   int i, j;
136   for (i=0; i<tinomogen_rows; i++) {
137     for (j=0; j<tinomogen_cols; j++)
138       printf ("%s ", tinomogen[i][j]);
139     printf ("\n");
140   }
141   printf ("Friday %s\n", tinomogen_h(4,"day"));
142   return 0;
144 #+end_src
146 #+source: inhomogeneous_table
147 #+begin_src D :var tinomogen=tinomogen :results silent
148 import std.stdio;
149 void main()
151   for (int i=0; i<tinomogen_rows; i++) {
152     for (int j=0; j<tinomogen_cols; j++)
153       writef ("%s ", tinomogen[i][j]);
154     writeln();
155   }
156   writefln ("Friday %s\n", tinomogen_h(4,"day"));
158 #+end_src