public static int RemapBlockIds(uint[] block_ids, int length) { global::haxe.ds.IntMap <int> new_id = new global::haxe.ds.IntMap <int>(); int next_id = 0; { int _g1 = 0; while ((_g1 < length)) { int i = _g1++; if ((new_id.exists(((int)(((uint)(((uint[])(block_ids))[i]))))) == false)) { new_id.@set(((int)(((uint)(((uint[])(block_ids))[i])))), next_id); ++next_id; } } } { int _g11 = 0; while ((_g11 < length)) { int i1 = _g11++; ((uint[])(block_ids))[i1] = ((uint)((new_id.@get(((int)(((uint)(((uint[])(block_ids))[i1])))))).@value)); } } return(next_id); }
public static object @select(global::haxe.root.Array read, global::haxe.root.Array write, global::haxe.root.Array others, object timeout) { unchecked { #line 142 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::haxe.ds.IntMap map = new global::haxe.ds.IntMap(); #line 165 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" if ((read != null)) { #line 165 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g = 0; #line 165 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g < read.length)) { #line 165 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::sys.net.Socket s = ((global::sys.net.Socket)(read.__get(_g))); #line 165 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" ++_g; #line 165 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" map.@set(((int)(s.sock.Handle.ToInt32())), ((object)(s))); } } #line 166 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" if ((write != null)) { #line 166 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g1 = 0; #line 166 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g1 < write.length)) { #line 166 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::sys.net.Socket s1 = ((global::sys.net.Socket)(write.__get(_g1))); #line 166 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" ++_g1; #line 166 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" map.@set(((int)(s1.sock.Handle.ToInt32())), ((object)(s1))); } } #line 167 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" if ((others != null)) { #line 167 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g2 = 0; #line 167 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g2 < others.length)) { #line 167 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::sys.net.Socket s2 = ((global::sys.net.Socket)(others.__get(_g2))); #line 167 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" ++_g2; #line 167 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" map.@set(((int)(s2.sock.Handle.ToInt32())), ((object)(s2))); } } #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Collections.ArrayList a = new global::System.Collections.ArrayList(((int)((((read == null)) ? (0) : (read.length))))); #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" if ((read != null)) { #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g3 = 0; #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g3 < read.length)) { #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::sys.net.Socket s3 = ((global::sys.net.Socket)(read.__get(_g3))); #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" ++_g3; #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" a.Add(((object)(s3.sock))); } } #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Collections.ArrayList rawRead = a; global::System.Collections.ArrayList a1 = new global::System.Collections.ArrayList(((int)((((write == null)) ? (0) : (write.length))))); if ((write != null)) { #line 171 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g4 = 0; #line 171 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g4 < write.length)) { #line 171 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::sys.net.Socket s4 = ((global::sys.net.Socket)(write.__get(_g4))); #line 171 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" ++_g4; #line 171 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" a1.Add(((object)(s4.sock))); } } #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Collections.ArrayList rawWrite = a1; #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Collections.ArrayList a2 = new global::System.Collections.ArrayList(((int)((((others == null)) ? (0) : (others.length))))); #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" if ((others != null)) { #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g5 = 0; #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g5 < others.length)) { #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::sys.net.Socket s5 = ((global::sys.net.Socket)(others.__get(_g5))); #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" ++_g5; #line 172 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" a2.Add(((object)(s5.sock))); } } #line 170 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Collections.ArrayList rawOthers = a2; #line 173 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int microsec = (((timeout == default(object))) ? (-1) : (((int)((((double)(global::haxe.lang.Runtime.toDouble(timeout))) * ((double)(1000000))))))); global::System.Net.Sockets.Socket.Select(((global::System.Collections.IList)(rawRead)), ((global::System.Collections.IList)(rawWrite)), ((global::System.Collections.IList)(rawOthers)), ((int)(microsec))); #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::haxe.root.Array a3 = new global::haxe.root.Array(new object[] {}); #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" { #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g6 = 0; #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g11 = rawRead.Count; #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g6 < _g11)) { #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int i = _g6++; #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Net.Sockets.Socket s6 = ((global::System.Net.Sockets.Socket)(rawRead[i])); #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" a3.push(((global::sys.net.Socket)(map.@get(((int)(s6.Handle.ToInt32())))))); } } #line 177 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::haxe.root.Array tmp = a3; global::haxe.root.Array a4 = new global::haxe.root.Array(new object[] {}); { #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g7 = 0; #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g12 = rawWrite.Count; #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g7 < _g12)) { #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int i1 = _g7++; #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Net.Sockets.Socket s7 = ((global::System.Net.Sockets.Socket)(rawWrite[i1])); #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" a4.push(((global::sys.net.Socket)(map.@get(((int)(s7.Handle.ToInt32())))))); } } #line 178 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::haxe.root.Array tmp1 = a4; global::haxe.root.Array a5 = new global::haxe.root.Array(new object[] {}); { #line 179 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g8 = 0; #line 179 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int _g13 = rawOthers.Count; #line 179 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" while ((_g8 < _g13)) { #line 179 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" int i2 = _g8++; #line 179 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" global::System.Net.Sockets.Socket s8 = ((global::System.Net.Sockets.Socket)(rawOthers[i2])); #line 179 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" a5.push(((global::sys.net.Socket)(map.@get(((int)(s8.Handle.ToInt32())))))); } } #line 176 "C:\\HaxeToolkit\\haxe\\std\\cs\\_std\\sys\\net\\Socket.hx" return(new global::haxe.lang.DynamicObject(new int[] { 1269254998, 1348037855, 1898155939 }, new object[] { tmp, tmp1, a5 }, new int[] {}, new double[] {})); } #line default }
public virtual void setupMap(object map) { unchecked { { int _g = 0; global::Array <object> _g1 = ((global::Array <object>)(global::Array <object> .__hx_cast <object>(((global::Array)(global::haxe.lang.Runtime.getField(map, "sites", 2094299916, true)))))); while ((_g < _g1.length)) { object data = _g1[_g]; ++_g; global::game.Site site = new global::game.Site(this, ((int)(global::haxe.lang.Runtime.getField_f(data, "id", 23515, true))), ((!(global::haxe.lang.Null <object> .ofDynamic <double>(global::haxe.lang.Runtime.getField(data, "x", 120, true)).hasValue)) ? (global::Math.rand.NextDouble()) : (((double)(global::haxe.lang.Runtime.toDouble(global::haxe.lang.Runtime.getField(data, "x", 120, true)))))), ((!(global::haxe.lang.Null <object> .ofDynamic <double>(global::haxe.lang.Runtime.getField(data, "y", 121, true)).hasValue)) ? (global::Math.rand.NextDouble()) : (((double)(global::haxe.lang.Runtime.toDouble(global::haxe.lang.Runtime.getField(data, "y", 121, true))))))); ((global::haxe.IMap <int, object>)(this.sites)).@set(site.id, site); } } { int _g2 = 0; global::Array <int> _g11 = ((global::Array <int>)(global::Array <object> .__hx_cast <int>(((global::Array)(global::haxe.lang.Runtime.getField(map, "mines", 141062784, true)))))); while ((_g2 < _g11.length)) { int siteId = _g11[_g2]; ++_g2; global::game.Site site1 = ((global::game.Site)((((global::haxe.IMap <int, object>)(this.sites)).@get(siteId)).@value)); site1.isMine = true; ((global::haxe.IMap <int, object>)(this.mines)).@set(siteId, site1); } } int i = 0; { int _g3 = 0; global::Array <object> _g12 = ((global::Array <object>)(global::Array <object> .__hx_cast <object>(((global::Array)(global::haxe.lang.Runtime.getField(map, "rivers", 1477328871, true)))))); while ((_g3 < _g12.length)) { object data1 = _g12[_g3]; ++_g3; int id = global::game._RiverId.RiverId_Impl_._new(i); global::game.River river = new global::game.River(this, id, ((int)(global::haxe.lang.Runtime.getField_f(data1, "source", 842117339, true))), ((int)(global::haxe.lang.Runtime.getField_f(data1, "target", 116192081, true)))); ((global::haxe.ds.IntMap <object>)(global::haxe.ds.IntMap <object> .__hx_cast <object>(((global::haxe.ds.IntMap)(((global::haxe.IMap <int, object>)(this.rivers))))))).@set(id, river); ((global::haxe.IMap <int, object>)(((global::game.Site)((((global::haxe.IMap <int, object>)(this.sites)).@get(river.a)).@value)).rivers)).@set((((river.a == river.a)) ? (river.b) : (river.a)), river); ((global::haxe.IMap <int, object>)(((global::game.Site)((((global::haxe.IMap <int, object>)(this.sites)).@get(river.b)).@value)).rivers)).@set((((river.a == river.b)) ? (river.b) : (river.a)), river); ++i; } } this.mineCount = ((global::Array <int>)(global::Array <object> .__hx_cast <int>(((global::Array)(global::haxe.lang.Runtime.getField(map, "mines", 141062784, true)))))).length; this.siteCount = ((global::Array <object>)(global::Array <object> .__hx_cast <object>(((global::Array)(global::haxe.lang.Runtime.getField(map, "sites", 2094299916, true)))))).length; this.riverCount = ((global::Array <object>)(global::Array <object> .__hx_cast <object>(((global::Array)(global::haxe.lang.Runtime.getField(map, "rivers", 1477328871, true)))))).length; this.maxScore = 0; { object mine = ((global::haxe.IMap <int, object>)(this.mines)).iterator(); while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(mine, "hasNext", 407283053, null))) { global::game.Site mine1 = ((global::game.Site)(global::haxe.lang.Runtime.callField(mine, "next", 1224901875, null))); global::haxe.IMap <int, int> localScores = new global::haxe.ds.IntMap <int>(); ((global::haxe.IMap <int, object>)(this.scoreDictionary)).@set(mine1.id, localScores); global::Array <object> currentSites = new global::Array <object>(new object[] { mine1 }); global::haxe.IMap <int, int> distances = new global::haxe.ds.IntMap <int>(); distances.@set(mine1.id, 0); { int _g13 = 0; int _g4 = this.siteCount; while ((_g13 < _g4)) { int i1 = _g13++; global::Array <object> nextSites = new global::Array <object>(new object[] {}); { int _g21 = 0; while ((_g21 < currentSites.length)) { global::game.Site site2 = ((global::game.Site)(currentSites[_g21])); ++_g21; { object river1 = ((global::haxe.IMap <int, object>)(site2.rivers)).iterator(); while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(river1, "hasNext", 407283053, null))) { global::game.River river2 = ((global::game.River)(global::haxe.lang.Runtime.callField(river1, "next", 1224901875, null))); int another = (((river2.a == site2.id)) ? (river2.b) : (river2.a)); if (!(distances.exists(another))) { { int v = (i1 + 1); distances.@set(another, v); } nextSites.push(((global::game.Site)((((global::haxe.IMap <int, object>)(this.sites)).@get(another)).@value))); } } } } } currentSites = nextSites; } } { object siteId1 = distances.keys(); while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(siteId1, "hasNext", 407283053, null))) { int siteId2 = ((int)(global::haxe.lang.Runtime.toInt(global::haxe.lang.Runtime.callField(siteId1, "next", 1224901875, null)))); global::haxe.lang.Null <int> distance = ((global::haxe.lang.Null <int>)(distances.@get(siteId2))); int score = ((distance).@value * (distance).@value); localScores.@set(siteId2, score); this.maxScore += score; } } } } } }
public virtual double evalFor(global::game.Game game, int punterId) { unchecked { double @value = 0.0; { object mine = ((global::haxe.IMap <int, object>)(game.mines)).iterator(); while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(mine, "hasNext", 407283053, null))) { global::game.Site mine1 = ((global::game.Site)(global::haxe.lang.Runtime.callField(mine, "next", 1224901875, null))); global::Array <object> currentSites = new global::Array <object>(new object[] {}); global::haxe.IMap <int, int> distances = new global::haxe.ds.IntMap <int>(); this.searchRivers(game, mine1, punterId, 0, distances, currentSites); { int _g1 = 1; int _g = (global::eval.Evaluter.MAX_DISTANCE + 1); while ((_g1 < _g)) { int i = _g1++; global::Array <object> nextSites = new global::Array <object>(new object[] {}); { int _g2 = 0; while ((_g2 < currentSites.length)) { global::game.Site site = ((global::game.Site)(currentSites[_g2])); ++_g2; this.searchRivers(game, site, punterId, i, distances, nextSites); } } currentSites = nextSites; } } { object siteId = distances.keys(); while (global::haxe.lang.Runtime.toBool(global::haxe.lang.Runtime.callField(siteId, "hasNext", 407283053, null))) { int siteId1 = ((int)(global::haxe.lang.Runtime.toInt(global::haxe.lang.Runtime.callField(siteId, "next", 1224901875, null)))); global::haxe.lang.Null <int> distance = ((global::haxe.lang.Null <int>)(distances.@get(siteId1))); global::haxe.lang.Null <int> score = ((global::haxe.IMap <int, int>)(global::haxe.IMap__Statics_.__hx_cast <int, int>(((global::haxe.IMap)((((global::haxe.IMap <int, object>)(game.scoreDictionary)).@get(mine1.id)).@value))))).@get(siteId1); double aditional = (this.table[(distance).@value] * (score).@value); @value += aditional; } } } } return(@value); } }
public static void solve() { unchecked { global::System.Console.WriteLine(((object)("Solving Day10"))); global::Array <string> _this = global::haxe.lang.StringExt.split(global::solutions.Day10.input, "\r\n"); global::haxe.lang.Function f = ((global::haxe.lang.Function)(new global::haxe.lang.Closure(typeof(global::Std), "parseInt", 1450317436))); global::Array <object> ret = new global::Array <object>(((object[])(new object[_this.length]))); { int _g = 0; int _g1 = _this.length; while ((_g < _g1)) { int i = _g++; { global::haxe.lang.Null <int> val = global::haxe.lang.Null <object> .ofDynamic <int>(f.__hx_invoke1_o(default(double), ((string)(_this.__a[i])))); ret.__a[i] = (val).toDynamic(); } } } global::Array <int> arr = ((global::Array <int>)(global::Array <object> .__hx_cast <int>(((global::Array)(ret))))); global::haxe.ds.IntMap <int> joltageDiffs = new global::haxe.ds.IntMap <int>(); global::Array <int> diffSequence = new global::Array <int>(); arr.sort((((global::solutions.Day10_solve_11__Fun.__hx_current != null)) ? (global::solutions.Day10_solve_11__Fun.__hx_current) : (global::solutions.Day10_solve_11__Fun.__hx_current = ((global::solutions.Day10_solve_11__Fun)(new global::solutions.Day10_solve_11__Fun()))))); int deviceJoltage = (arr[(arr.length - 1)] + 3); { int tmp = arr[0]; { int v = (new global::haxe.lang.Null <int>(((joltageDiffs.@get(tmp)).@value + 1), true)).@value; joltageDiffs.@set(tmp, v); } } diffSequence.push(arr[0]); { int _g2 = 1; int _g3 = arr.length; while ((_g2 < _g3)) { int i1 = _g2++; int diff = (arr[i1] - arr[(i1 - 1)]); { int tmp1 = diff; { int v1 = (new global::haxe.lang.Null <int>(((joltageDiffs.@get(tmp1)).@value + 1), true)).@value; joltageDiffs.@set(tmp1, v1); } } diffSequence.push(diff); } } { int tmp2 = (deviceJoltage - arr[(arr.length - 1)]); { int v2 = (new global::haxe.lang.Null <int>(((joltageDiffs.@get(tmp2)).@value + 1), true)).@value; joltageDiffs.@set(tmp2, v2); } } global::System.Console.WriteLine(((object)(global::haxe.lang.Runtime.concat("a: ", global::haxe.lang.Runtime.toString(((joltageDiffs.@get(1)).@value * (joltageDiffs.@get(3)).@value)))))); global::Array <int> lengthsOfRemovableOnes = new global::Array <int>(); int oneCounter = 0; { int _g4 = 0; int _g5 = diffSequence.length; while ((_g4 < _g5)) { int i2 = _g4++; if ((diffSequence[i2] == 1)) { ++oneCounter; } if ((diffSequence[i2] == 3)) { if ((oneCounter > 1)) { lengthsOfRemovableOnes.push((oneCounter - 1)); } oneCounter = 0; } else if ((((i2 + 1) >= diffSequence.length) && (oneCounter > 1))) { lengthsOfRemovableOnes.push((oneCounter - 1)); } } } double resultB = 1.0; { int _g6 = 0; while ((_g6 < lengthsOfRemovableOnes.length)) { int length = lengthsOfRemovableOnes[_g6]; ++_g6; switch (length) { case 1: { resultB *= ((double)(2)); break; } case 2: { resultB *= ((double)(4)); break; } case 3: { resultB *= ((double)(7)); break; } default: { global::System.Console.WriteLine(((object)("Unhandled length in lengthsOfRemovableOnes"))); break; } } } } global::System.Console.WriteLine(((object)(global::haxe.lang.Runtime.concat("b: ", global::haxe.lang.Runtime.toString(resultB))))); } }
public virtual global::haxe.zip.Huffman treeMake(global::haxe.ds.IntMap bits, int maxbits, int v, int len) { unchecked { #line 76 "C:\\HaxeToolkit\\haxe\\std\\haxe\\zip\\Huffman.hx" if ((len > maxbits)) { #line 77 "C:\\HaxeToolkit\\haxe\\std\\haxe\\zip\\Huffman.hx" throw global::haxe.lang.HaxeException.wrap("Invalid huffman"); } #line 78 "C:\\HaxeToolkit\\haxe\\std\\haxe\\zip\\Huffman.hx" int idx = ((v << 5) | len); if (bits.exists(((int)(idx)))) { #line 80 "C:\\HaxeToolkit\\haxe\\std\\haxe\\zip\\Huffman.hx" return(global::haxe.zip.Huffman.Found(((int)(global::haxe.lang.Runtime.toInt(bits.@get(((int)(idx)))))))); } #line 81 "C:\\HaxeToolkit\\haxe\\std\\haxe\\zip\\Huffman.hx" v <<= 1; ++len; #line 83 "C:\\HaxeToolkit\\haxe\\std\\haxe\\zip\\Huffman.hx" return(global::haxe.zip.Huffman.NeedBit(this.treeMake(bits, maxbits, v, len), this.treeMake(bits, maxbits, (v | 1), len))); } #line default }
public static void HistogramReindex(global::Array <object> @out, int[] symbols) { global::Array <object> tmp = new global::Array <object>(); { int _g1 = 0; int _g = @out.length; while ((_g1 < _g)) { int i = _g1++; tmp[i] = new global::encode.histogram.Histogram(((int)((((int[])(((global::encode.histogram.Histogram)(@out[i])).data_)) as global::System.Array).Length))); ((global::encode.histogram.Histogram)(tmp[i])).bit_cost_ = ((global::encode.histogram.Histogram)(@out[i])).bit_cost_; { int _g3 = 0; int _g2 = (((int[])(((global::encode.histogram.Histogram)(@out[i])).data_)) as global::System.Array).Length; while ((_g3 < _g2)) { int a = _g3++; ((int[])(((global::encode.histogram.Histogram)(tmp[i])).data_))[a] = ((int[])(((global::encode.histogram.Histogram)(@out[i])).data_))[a]; } } ((global::encode.histogram.Histogram)(tmp[i])).kDataSize = ((global::encode.histogram.Histogram)(@out[i])).kDataSize; ((global::encode.histogram.Histogram)(tmp[i])).total_count_ = ((global::encode.histogram.Histogram)(@out[i])).total_count_; } } global::haxe.ds.IntMap <int> new_index = new global::haxe.ds.IntMap <int>(); int next_index = 0; { int _g11 = 0; int _g4 = (((int[])(symbols)) as global::System.Array).Length; while ((_g11 < _g4)) { int i1 = _g11++; if ((new_index.exists(((int)(((int[])(symbols))[i1]))) == false)) { new_index.@set(((int)(((int[])(symbols))[i1])), next_index); ((global::encode.histogram.Histogram)(@out[next_index])).bit_cost_ = ((global::encode.histogram.Histogram)(tmp[((int)(((int[])(symbols))[i1]))])).bit_cost_; { int _g31 = 0; int _g21 = (((int[])(((global::encode.histogram.Histogram)(tmp[((int)(((int[])(symbols))[i1]))])).data_)) as global::System.Array).Length; while ((_g31 < _g21)) { int a1 = _g31++; ((int[])(((global::encode.histogram.Histogram)(@out[next_index])).data_))[a1] = ((int[])(((global::encode.histogram.Histogram)(tmp[((int)(((int[])(symbols))[i1]))])).data_))[a1]; } } ((global::encode.histogram.Histogram)(@out[next_index])).kDataSize = ((global::encode.histogram.Histogram)(tmp[((int)(((int[])(symbols))[i1]))])).kDataSize; ((global::encode.histogram.Histogram)(@out[next_index])).total_count_ = ((global::encode.histogram.Histogram)(tmp[((int)(((int[])(symbols))[i1]))])).total_count_; ++next_index; } } } while ((@out.length > next_index)) { @out.pop(); } { int _g12 = 0; int _g5 = (((int[])(symbols)) as global::System.Array).Length; while ((_g12 < _g5)) { int i2 = _g12++; ((int[])(symbols))[i2] = (new_index.@get(((int)(((int[])(symbols))[i2])))).@value; } } }
public static object @select(global::Array <object> read, global::Array <object> write, global::Array <object> others, global::haxe.lang.Null <double> timeout) { unchecked { #line 142 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::haxe.ds.IntMap <object> map = new global::haxe.ds.IntMap <object>(); #line 165 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" if ((read != null)) { #line 165 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g = 0; #line 165 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g < read.length)) { #line 165 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::sys.net.Socket s = ((global::sys.net.Socket)(read[_g])); #line 165 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" ++_g; #line 165 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" map.@set(s.sock.Handle.ToInt32(), s); } } #line 166 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" if ((write != null)) { #line 166 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g1 = 0; #line 166 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g1 < write.length)) { #line 166 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::sys.net.Socket s1 = ((global::sys.net.Socket)(write[_g1])); #line 166 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" ++_g1; #line 166 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" map.@set(s1.sock.Handle.ToInt32(), s1); } } #line 167 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" if ((others != null)) { #line 167 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g2 = 0; #line 167 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g2 < others.length)) { #line 167 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::sys.net.Socket s2 = ((global::sys.net.Socket)(others[_g2])); #line 167 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" ++_g2; #line 167 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" map.@set(s2.sock.Handle.ToInt32(), s2); } } #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Collections.ArrayList a = new global::System.Collections.ArrayList(((int)((((read == null)) ? (0) : (read.length))))); #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" if ((read != null)) { #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g3 = 0; #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g3 < read.length)) { #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::sys.net.Socket s3 = ((global::sys.net.Socket)(read[_g3])); #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" ++_g3; #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" a.Add(((object)(s3.sock))); } } #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Collections.ArrayList rawRead = a; global::System.Collections.ArrayList a1 = new global::System.Collections.ArrayList(((int)((((write == null)) ? (0) : (write.length))))); if ((write != null)) { #line 171 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g4 = 0; #line 171 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g4 < write.length)) { #line 171 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::sys.net.Socket s4 = ((global::sys.net.Socket)(write[_g4])); #line 171 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" ++_g4; #line 171 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" a1.Add(((object)(s4.sock))); } } #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Collections.ArrayList rawWrite = a1; #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Collections.ArrayList a2 = new global::System.Collections.ArrayList(((int)((((others == null)) ? (0) : (others.length))))); #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" if ((others != null)) { #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g5 = 0; #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g5 < others.length)) { #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::sys.net.Socket s5 = ((global::sys.net.Socket)(others[_g5])); #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" ++_g5; #line 172 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" a2.Add(((object)(s5.sock))); } } #line 170 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Collections.ArrayList rawOthers = a2; #line 173 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int microsec = ((!(timeout.hasValue)) ? (-1) : (((int)(((timeout).@value * 1000000))))); global::System.Net.Sockets.Socket.Select(((global::System.Collections.IList)(rawRead)), ((global::System.Collections.IList)(rawWrite)), ((global::System.Collections.IList)(rawOthers)), ((int)(microsec))); #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::Array <object> a3 = new global::Array <object>(new object[] {}); #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" { #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g6 = 0; #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g7 = rawRead.Count; #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g6 < _g7)) { #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int i = _g6++; #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Net.Sockets.Socket s6 = ((global::System.Net.Sockets.Socket)(rawRead[i])); #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" a3.push(((global::sys.net.Socket)((map.@get(s6.Handle.ToInt32())).@value))); } } #line 177 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::Array <object> tmp = a3; global::Array <object> a4 = new global::Array <object>(new object[] {}); { #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g8 = 0; #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g9 = rawWrite.Count; #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g8 < _g9)) { #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int i1 = _g8++; #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Net.Sockets.Socket s7 = ((global::System.Net.Sockets.Socket)(rawWrite[i1])); #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" a4.push(((global::sys.net.Socket)((map.@get(s7.Handle.ToInt32())).@value))); } } #line 178 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::Array <object> tmp1 = a4; global::Array <object> a5 = new global::Array <object>(new object[] {}); { #line 179 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g10 = 0; #line 179 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int _g11 = rawOthers.Count; #line 179 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" while ((_g10 < _g11)) { #line 179 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" int i2 = _g10++; #line 179 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" global::System.Net.Sockets.Socket s8 = ((global::System.Net.Sockets.Socket)(rawOthers[i2])); #line 179 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" a5.push(((global::sys.net.Socket)((map.@get(s8.Handle.ToInt32())).@value))); } } #line 176 "/opt/haxe/std/cs/_std/sys/net/Socket.hx" return(new global::haxe.lang.DynamicObject(new int[] { 1269254998, 1348037855, 1898155939 }, new object[] { tmp, tmp1, a5 }, new int[] {}, new double[] {})); } #line default }