Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132944 views
License: OTHER
1
@x10.runtime.impl.java.X10Generated
2
public class Fibonacci extends x10.core.Ref implements x10.serialization.X10JavaSerializable
3
{
4
public static final x10.rtt.RuntimeType<Fibonacci> $RTT =
5
x10.rtt.NamedType.<Fibonacci> make("Fibonacci",
6
Fibonacci.class);
7
8
public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; }
9
10
public x10.rtt.Type<?> $getParam(int i) { return null; }
11
12
public static x10.serialization.X10JavaSerializable $_deserialize_body(Fibonacci $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {
13
if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime.printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + Fibonacci.class + " calling"); }
14
return $_obj;
15
}
16
17
public static x10.serialization.X10JavaSerializable $_deserializer(x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {
18
Fibonacci $_obj = new Fibonacci((java.lang.System[]) null);
19
$deserializer.record_reference($_obj);
20
return $_deserialize_body($_obj, $deserializer);
21
}
22
23
public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException {
24
25
}
26
27
// constructor just for allocation
28
public Fibonacci(final java.lang.System[] $dummy) {
29
30
}
31
32
33
34
35
36
//#line 3 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
37
public static long fib$O(final long n) {
38
39
//#line 4 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
40
final boolean t$121 = ((n) < (((long)(2L))));
41
42
//#line 4 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
43
if (t$121) {
44
45
//#line 5 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
46
return n;
47
}
48
49
//#line 8 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
50
final long f1;
51
52
//#line 9 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
53
final long f2;
54
{
55
56
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
57
x10.lang.Runtime.ensureNotInAtomic();
58
59
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
60
final x10.lang.FinishState x10$__var0 = x10.lang.Runtime.startFinish();
61
{
62
63
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
64
final long[] $f1$158 = new long[1];
65
66
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
67
final long[] $f2$159 = new long[1];
68
69
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
70
try {{
71
{
72
73
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
74
x10.lang.Runtime.runAsync(((x10.core.fun.VoidFun_0_0)(new Fibonacci.$Closure$0(n, $f1$158))));
75
76
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
77
x10.lang.Runtime.runAsync(((x10.core.fun.VoidFun_0_0)(new Fibonacci.$Closure$1(n, $f2$159))));
78
}
79
}}catch (java.lang.Throwable __lowerer__var__0__) {
80
81
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
82
x10.lang.Runtime.pushException(((java.lang.Throwable)(__lowerer__var__0__)));
83
84
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
85
throw new java.lang.RuntimeException();
86
}finally {{
87
88
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
89
x10.lang.Runtime.stopFinish(((x10.lang.FinishState)(x10$__var0)));
90
}}
91
92
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
93
f1 = ((long)$f1$158[(int)0]);
94
95
//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
96
f2 = ((long)$f2$159[(int)0]);
97
}
98
}
99
100
//#line 14 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
101
final long t$126 = ((f1) + (((long)(f2))));
102
103
//#line 14 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
104
return t$126;
105
}
106
107
108
//#line 17 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
109
public static class $Main extends x10.runtime.impl.java.Runtime
110
{
111
// java main method
112
public static void main(java.lang.String[] args) {
113
// start native runtime
114
new $Main().start(args);
115
}
116
117
// called by native runtime inside main x10 thread
118
public void runtimeCallback(final x10.core.Rail<java.lang.String> args) {
119
// call the original app-main method
120
Fibonacci.main(args);
121
}
122
}
123
124
// the original app-main method
125
public static void main(final x10.core.Rail<java.lang.String> args) {
126
127
//#line 18 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
128
final x10.io.Printer t$127 = ((x10.io.Printer)(x10.io.Console.get$OUT()));
129
130
//#line 18 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
131
t$127.println(((java.lang.Object)("This is fibonacci in X10.")));
132
133
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
134
long i$147 = 0L;
135
136
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
137
for (;
138
true;
139
) {
140
141
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
142
final long t$148 = i$147;
143
144
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
145
final boolean t$149 = ((t$148) < (((long)(10L))));
146
147
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
148
if (!(t$149)) {
149
150
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
151
break;
152
}
153
154
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
155
final x10.io.Printer t$139 = ((x10.io.Printer)(x10.io.Console.get$OUT()));
156
157
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
158
final long t$140 = i$147;
159
160
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
161
final java.lang.String t$141 = (((x10.core.Long.$box(t$140))) + (": "));
162
163
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
164
final long t$142 = i$147;
165
166
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
167
final long t$143 = Fibonacci.fib$O((long)(t$142));
168
169
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
170
final java.lang.String t$144 = ((t$141) + ((x10.core.Long.$box(t$143))));
171
172
//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
173
t$139.println(((java.lang.Object)(t$144)));
174
175
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
176
final long t$145 = i$147;
177
178
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
179
final long t$146 = ((t$145) + (((long)(1L))));
180
181
//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
182
i$147 = t$146;
183
}
184
}
185
186
187
//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
188
final public Fibonacci Fibonacci$$this$Fibonacci() {
189
190
//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
191
return Fibonacci.this;
192
}
193
194
195
//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
196
// creation method for java code (1-phase java constructor)
197
public Fibonacci() {
198
this((java.lang.System[]) null);
199
Fibonacci$$init$S();
200
}
201
202
// constructor for non-virtual call
203
final public Fibonacci Fibonacci$$init$S() {
204
{
205
206
//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
207
208
209
//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
210
this.__fieldInitializers_Fibonacci();
211
}
212
return this;
213
}
214
215
216
217
//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
218
final public void __fieldInitializers_Fibonacci() {
219
220
}
221
222
@x10.runtime.impl.java.X10Generated
223
final public static class $Closure$0 extends x10.core.Ref implements x10.core.fun.VoidFun_0_0, x10.serialization.X10JavaSerializable
224
{
225
public static final x10.rtt.RuntimeType<$Closure$0> $RTT =
226
x10.rtt.StaticVoidFunType.<$Closure$0> make($Closure$0.class,
227
new x10.rtt.Type[] {
228
x10.core.fun.VoidFun_0_0.$RTT
229
});
230
231
public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; }
232
233
public x10.rtt.Type<?> $getParam(int i) { return null; }
234
235
public static x10.serialization.X10JavaSerializable $_deserialize_body(Fibonacci.$Closure$0 $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {
236
if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime.printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + $Closure$0.class + " calling"); }
237
$_obj.n = $deserializer.readLong();
238
$_obj.$f1$158 = $deserializer.readObject();
239
return $_obj;
240
}
241
242
public static x10.serialization.X10JavaSerializable $_deserializer(x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {
243
Fibonacci.$Closure$0 $_obj = new Fibonacci.$Closure$0((java.lang.System[]) null);
244
$deserializer.record_reference($_obj);
245
return $_deserialize_body($_obj, $deserializer);
246
}
247
248
public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException {
249
$serializer.write(this.n);
250
$serializer.write(this.$f1$158);
251
252
}
253
254
// constructor just for allocation
255
public $Closure$0(final java.lang.System[] $dummy) {
256
257
}
258
259
260
261
262
public void $apply() {
263
264
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
265
try {{
266
267
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
268
final long t$122 = ((this.n) - (((long)(1L))));
269
270
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
271
final long t$123 = Fibonacci.fib$O((long)(t$122));
272
273
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
274
this.$f1$158[(int)0]=t$123;
275
}}catch (java.lang.Error __lowerer__var__0__) {
276
277
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
278
throw __lowerer__var__0__;
279
}catch (java.lang.Throwable __lowerer__var__1__) {
280
281
//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
282
throw x10.rtt.Types.EXCEPTION.isInstance(__lowerer__var__1__) ? (java.lang.RuntimeException)(__lowerer__var__1__) : new x10.lang.WrappedThrowable(__lowerer__var__1__);
283
}
284
}
285
286
public long n;
287
public long[] $f1$158;
288
289
public $Closure$0(final long n, final long[] $f1$158) {
290
{
291
this.n = n;
292
this.$f1$158 = $f1$158;
293
}
294
}
295
296
}
297
298
@x10.runtime.impl.java.X10Generated
299
final public static class $Closure$1 extends x10.core.Ref implements x10.core.fun.VoidFun_0_0, x10.serialization.X10JavaSerializable
300
{
301
public static final x10.rtt.RuntimeType<$Closure$1> $RTT =
302
x10.rtt.StaticVoidFunType.<$Closure$1> make($Closure$1.class,
303
new x10.rtt.Type[] {
304
x10.core.fun.VoidFun_0_0.$RTT
305
});
306
307
public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; }
308
309
public x10.rtt.Type<?> $getParam(int i) { return null; }
310
311
public static x10.serialization.X10JavaSerializable $_deserialize_body(Fibonacci.$Closure$1 $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {
312
if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime.printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + $Closure$1.class + " calling"); }
313
$_obj.n = $deserializer.readLong();
314
$_obj.$f2$159 = $deserializer.readObject();
315
return $_obj;
316
}
317
318
public static x10.serialization.X10JavaSerializable $_deserializer(x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {
319
Fibonacci.$Closure$1 $_obj = new Fibonacci.$Closure$1((java.lang.System[]) null);
320
$deserializer.record_reference($_obj);
321
return $_deserialize_body($_obj, $deserializer);
322
}
323
324
public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException {
325
$serializer.write(this.n);
326
$serializer.write(this.$f2$159);
327
328
}
329
330
// constructor just for allocation
331
public $Closure$1(final java.lang.System[] $dummy) {
332
333
}
334
335
336
337
338
public void $apply() {
339
340
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
341
try {{
342
343
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
344
final long t$124 = ((this.n) - (((long)(2L))));
345
346
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
347
final long t$125 = Fibonacci.fib$O((long)(t$124));
348
349
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
350
this.$f2$159[(int)0]=t$125;
351
}}catch (java.lang.Error __lowerer__var__2__) {
352
353
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
354
throw __lowerer__var__2__;
355
}catch (java.lang.Throwable __lowerer__var__3__) {
356
357
//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"
358
throw x10.rtt.Types.EXCEPTION.isInstance(__lowerer__var__3__) ? (java.lang.RuntimeException)(__lowerer__var__3__) : new x10.lang.WrappedThrowable(__lowerer__var__3__);
359
}
360
}
361
362
public long n;
363
public long[] $f2$159;
364
365
public $Closure$1(final long n, final long[] $f2$159) {
366
{
367
this.n = n;
368
this.$f2$159 = $f2$159;
369
}
370
}
371
372
}
373
374
}
375
376
377