📚 The CoCalc Library - books, templates and other resources
cocalc-examples / martinthoma-latex-examples / documents / Programmierparadigmen / scripts / x10 / Fibonacci.java
132937 viewsLicense: OTHER
@x10.runtime.impl.java.X10Generated1public class Fibonacci extends x10.core.Ref implements x10.serialization.X10JavaSerializable2{3public static final x10.rtt.RuntimeType<Fibonacci> $RTT =4x10.rtt.NamedType.<Fibonacci> make("Fibonacci",5Fibonacci.class);67public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; }89public x10.rtt.Type<?> $getParam(int i) { return null; }1011public static x10.serialization.X10JavaSerializable $_deserialize_body(Fibonacci $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {12if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime.printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + Fibonacci.class + " calling"); }13return $_obj;14}1516public static x10.serialization.X10JavaSerializable $_deserializer(x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {17Fibonacci $_obj = new Fibonacci((java.lang.System[]) null);18$deserializer.record_reference($_obj);19return $_deserialize_body($_obj, $deserializer);20}2122public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException {2324}2526// constructor just for allocation27public Fibonacci(final java.lang.System[] $dummy) {2829}303132333435//#line 3 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"36public static long fib$O(final long n) {3738//#line 4 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"39final boolean t$121 = ((n) < (((long)(2L))));4041//#line 4 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"42if (t$121) {4344//#line 5 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"45return n;46}4748//#line 8 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"49final long f1;5051//#line 9 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"52final long f2;53{5455//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"56x10.lang.Runtime.ensureNotInAtomic();5758//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"59final x10.lang.FinishState x10$__var0 = x10.lang.Runtime.startFinish();60{6162//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"63final long[] $f1$158 = new long[1];6465//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"66final long[] $f2$159 = new long[1];6768//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"69try {{70{7172//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"73x10.lang.Runtime.runAsync(((x10.core.fun.VoidFun_0_0)(new Fibonacci.$Closure$0(n, $f1$158))));7475//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"76x10.lang.Runtime.runAsync(((x10.core.fun.VoidFun_0_0)(new Fibonacci.$Closure$1(n, $f2$159))));77}78}}catch (java.lang.Throwable __lowerer__var__0__) {7980//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"81x10.lang.Runtime.pushException(((java.lang.Throwable)(__lowerer__var__0__)));8283//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"84throw new java.lang.RuntimeException();85}finally {{8687//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"88x10.lang.Runtime.stopFinish(((x10.lang.FinishState)(x10$__var0)));89}}9091//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"92f1 = ((long)$f1$158[(int)0]);9394//#line 10 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"95f2 = ((long)$f2$159[(int)0]);96}97}9899//#line 14 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"100final long t$126 = ((f1) + (((long)(f2))));101102//#line 14 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"103return t$126;104}105106107//#line 17 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"108public static class $Main extends x10.runtime.impl.java.Runtime109{110// java main method111public static void main(java.lang.String[] args) {112// start native runtime113new $Main().start(args);114}115116// called by native runtime inside main x10 thread117public void runtimeCallback(final x10.core.Rail<java.lang.String> args) {118// call the original app-main method119Fibonacci.main(args);120}121}122123// the original app-main method124public static void main(final x10.core.Rail<java.lang.String> args) {125126//#line 18 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"127final x10.io.Printer t$127 = ((x10.io.Printer)(x10.io.Console.get$OUT()));128129//#line 18 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"130t$127.println(((java.lang.Object)("This is fibonacci in X10.")));131132//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"133long i$147 = 0L;134135//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"136for (;137true;138) {139140//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"141final long t$148 = i$147;142143//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"144final boolean t$149 = ((t$148) < (((long)(10L))));145146//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"147if (!(t$149)) {148149//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"150break;151}152153//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"154final x10.io.Printer t$139 = ((x10.io.Printer)(x10.io.Console.get$OUT()));155156//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"157final long t$140 = i$147;158159//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"160final java.lang.String t$141 = (((x10.core.Long.$box(t$140))) + (": "));161162//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"163final long t$142 = i$147;164165//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"166final long t$143 = Fibonacci.fib$O((long)(t$142));167168//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"169final java.lang.String t$144 = ((t$141) + ((x10.core.Long.$box(t$143))));170171//#line 20 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"172t$139.println(((java.lang.Object)(t$144)));173174//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"175final long t$145 = i$147;176177//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"178final long t$146 = ((t$145) + (((long)(1L))));179180//#line 19 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"181i$147 = t$146;182}183}184185186//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"187final public Fibonacci Fibonacci$$this$Fibonacci() {188189//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"190return Fibonacci.this;191}192193194//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"195// creation method for java code (1-phase java constructor)196public Fibonacci() {197this((java.lang.System[]) null);198Fibonacci$$init$S();199}200201// constructor for non-virtual call202final public Fibonacci Fibonacci$$init$S() {203{204205//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"206207208//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"209this.__fieldInitializers_Fibonacci();210}211return this;212}213214215216//#line 2 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"217final public void __fieldInitializers_Fibonacci() {218219}220221@x10.runtime.impl.java.X10Generated222final public static class $Closure$0 extends x10.core.Ref implements x10.core.fun.VoidFun_0_0, x10.serialization.X10JavaSerializable223{224public static final x10.rtt.RuntimeType<$Closure$0> $RTT =225x10.rtt.StaticVoidFunType.<$Closure$0> make($Closure$0.class,226new x10.rtt.Type[] {227x10.core.fun.VoidFun_0_0.$RTT228});229230public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; }231232public x10.rtt.Type<?> $getParam(int i) { return null; }233234public static x10.serialization.X10JavaSerializable $_deserialize_body(Fibonacci.$Closure$0 $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {235if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime.printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + $Closure$0.class + " calling"); }236$_obj.n = $deserializer.readLong();237$_obj.$f1$158 = $deserializer.readObject();238return $_obj;239}240241public static x10.serialization.X10JavaSerializable $_deserializer(x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {242Fibonacci.$Closure$0 $_obj = new Fibonacci.$Closure$0((java.lang.System[]) null);243$deserializer.record_reference($_obj);244return $_deserialize_body($_obj, $deserializer);245}246247public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException {248$serializer.write(this.n);249$serializer.write(this.$f1$158);250251}252253// constructor just for allocation254public $Closure$0(final java.lang.System[] $dummy) {255256}257258259260261public void $apply() {262263//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"264try {{265266//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"267final long t$122 = ((this.n) - (((long)(1L))));268269//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"270final long t$123 = Fibonacci.fib$O((long)(t$122));271272//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"273this.$f1$158[(int)0]=t$123;274}}catch (java.lang.Error __lowerer__var__0__) {275276//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"277throw __lowerer__var__0__;278}catch (java.lang.Throwable __lowerer__var__1__) {279280//#line 11 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"281throw x10.rtt.Types.EXCEPTION.isInstance(__lowerer__var__1__) ? (java.lang.RuntimeException)(__lowerer__var__1__) : new x10.lang.WrappedThrowable(__lowerer__var__1__);282}283}284285public long n;286public long[] $f1$158;287288public $Closure$0(final long n, final long[] $f1$158) {289{290this.n = n;291this.$f1$158 = $f1$158;292}293}294295}296297@x10.runtime.impl.java.X10Generated298final public static class $Closure$1 extends x10.core.Ref implements x10.core.fun.VoidFun_0_0, x10.serialization.X10JavaSerializable299{300public static final x10.rtt.RuntimeType<$Closure$1> $RTT =301x10.rtt.StaticVoidFunType.<$Closure$1> make($Closure$1.class,302new x10.rtt.Type[] {303x10.core.fun.VoidFun_0_0.$RTT304});305306public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; }307308public x10.rtt.Type<?> $getParam(int i) { return null; }309310public static x10.serialization.X10JavaSerializable $_deserialize_body(Fibonacci.$Closure$1 $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {311if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime.printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + $Closure$1.class + " calling"); }312$_obj.n = $deserializer.readLong();313$_obj.$f2$159 = $deserializer.readObject();314return $_obj;315}316317public static x10.serialization.X10JavaSerializable $_deserializer(x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException {318Fibonacci.$Closure$1 $_obj = new Fibonacci.$Closure$1((java.lang.System[]) null);319$deserializer.record_reference($_obj);320return $_deserialize_body($_obj, $deserializer);321}322323public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException {324$serializer.write(this.n);325$serializer.write(this.$f2$159);326327}328329// constructor just for allocation330public $Closure$1(final java.lang.System[] $dummy) {331332}333334335336337public void $apply() {338339//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"340try {{341342//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"343final long t$124 = ((this.n) - (((long)(2L))));344345//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"346final long t$125 = Fibonacci.fib$O((long)(t$124));347348//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"349this.$f2$159[(int)0]=t$125;350}}catch (java.lang.Error __lowerer__var__2__) {351352//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"353throw __lowerer__var__2__;354}catch (java.lang.Throwable __lowerer__var__3__) {355356//#line 12 "/home/moose/Downloads/LaTeX-examples/documents/Programmierparadigmen/scripts/x10/Fibonacci.x10"357throw x10.rtt.Types.EXCEPTION.isInstance(__lowerer__var__3__) ? (java.lang.RuntimeException)(__lowerer__var__3__) : new x10.lang.WrappedThrowable(__lowerer__var__3__);358}359}360361public long n;362public long[] $f2$159;363364public $Closure$1(final long n, final long[] $f2$159) {365{366this.n = n;367this.$f2$159 = $f2$159;368}369}370371}372373}374375376377