/ nimble-linux / @m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@spure@smath.nim.c
@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@spure@smath.nim.c
1 /* Generated by Nim Compiler v1.6.11 */ 2 #define NIM_INTBITS 64 3 4 #include "nimbase.h" 5 #undef LANGUAGE_C 6 #undef MIPSEB 7 #undef MIPSEL 8 #undef PPC 9 #undef R3000 10 #undef R4000 11 #undef i386 12 #undef linux 13 #undef mips 14 #undef near 15 #undef far 16 #undef powerpc 17 #undef unix 18 # define nimfr_(proc, file) \ 19 TFrame FR_; \ 20 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_); 21 22 # define nimfrs_(proc, file, slots, length) \ 23 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \ 24 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_); 25 26 # define nimln_(n, file) \ 27 FR_.line = n; FR_.filename = file; 28 typedef struct tyTuple__q4xn9bvzjB0QCTcS8bELuDQ tyTuple__q4xn9bvzjB0QCTcS8bELuDQ; 29 struct tyTuple__q4xn9bvzjB0QCTcS8bELuDQ { 30 NF Field0; 31 NI Field1; 32 }; 33 static N_INLINE(void, stareq___pureZstrutils_2165)(NF* x, NF y); 34 static N_INLINE(void, nimFrame)(TFrame* s); 35 N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void); 36 static N_INLINE(void, popFrame)(void); 37 N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b); 38 extern TFrame* framePtr__system_2564; 39 extern TFrame* framePtr__system_2564; 40 extern TFrame* framePtr__system_2564; 41 extern TFrame* framePtr__system_2564; 42 extern TFrame* framePtr__system_2564; 43 extern TFrame* framePtr__system_2564; 44 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_181)(NI x) { 45 NI result; 46 result = (NI)0; 47 result = (NI)(x - ((NI) 1)); 48 result = (NI)(result | (NI)((NI64)(result) >> (NU64)(((NI) 32)))); 49 result = (NI)(result | (NI)((NI64)(result) >> (NU64)(((NI) 16)))); 50 result = (NI)(result | (NI)((NI64)(result) >> (NU64)(((NI) 8)))); 51 result = (NI)(result | (NI)((NI64)(result) >> (NU64)(((NI) 4)))); 52 result = (NI)(result | (NI)((NI64)(result) >> (NU64)(((NI) 2)))); 53 result = (NI)(result | (NI)((NI64)(result) >> (NU64)(((NI) 1)))); 54 result += (NI)(((NI) 1) + (x <= ((NI) 0))); 55 return result; 56 } 57 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_260)(NI64 x, NI64 y) { 58 NI64 result; 59 NI64 r; 60 result = (NI64)0; 61 result = (NI64)(x / y); 62 r = (NI64)(x % y); 63 { 64 NIM_BOOL T3_; 65 NIM_BOOL T4_; 66 NIM_BOOL T7_; 67 T3_ = (NIM_BOOL)0; 68 T4_ = (NIM_BOOL)0; 69 T4_ = (IL64(0) < r); 70 if (!(T4_)) goto LA5_; 71 T4_ = (y < IL64(0)); 72 LA5_: ; 73 T3_ = T4_; 74 if (T3_) goto LA6_; 75 T7_ = (NIM_BOOL)0; 76 T7_ = (r < IL64(0)); 77 if (!(T7_)) goto LA8_; 78 T7_ = (IL64(0) < y); 79 LA8_: ; 80 T3_ = T7_; 81 LA6_: ; 82 if (!T3_) goto LA9_; 83 result -= ((NI) 1); 84 } 85 LA9_: ; 86 return result; 87 } 88 static N_INLINE(void, nimFrame)(TFrame* s) { 89 { 90 if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_; 91 (*s).calldepth = ((NI16) 0); 92 } 93 goto LA1_; 94 LA3_: ; 95 { 96 (*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1)); 97 } 98 LA1_: ; 99 (*s).prev = framePtr__system_2564; 100 framePtr__system_2564 = s; 101 { 102 if (!((*s).calldepth == ((NI16) 2000))) goto LA8_; 103 callDepthLimitReached__system_2997(); 104 } 105 LA8_: ; 106 } 107 static N_INLINE(void, popFrame)(void) { 108 framePtr__system_2564 = (*framePtr__system_2564).prev; 109 } 110 static N_INLINE(void, stareq___pureZstrutils_2165)(NF* x, NF y) { 111 nimfr_("*=", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim"); 112 nimln_(2727, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim"); 113 (*x) = ((NF)((*x)) * (NF)(y)); 114 popFrame(); 115 } 116 N_LIB_PRIVATE N_NIMCALL(NF, roof___nimblepkgZdevelopfile_33338)(NF x, NI y) { 117 NF result; 118 nimfr_("^", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 119 result = (NF)0; 120 nimln_(1154, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 121 switch (y) { 122 case ((NI) 0): 123 { 124 nimln_(1155, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 125 result = 1.0; 126 } 127 break; 128 case ((NI) 1): 129 { 130 nimln_(1156, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 131 result = x; 132 } 133 break; 134 case ((NI) 2): 135 { 136 nimln_(1157, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 137 result = ((NF)(x) * (NF)(x)); 138 } 139 break; 140 case ((NI) 3): 141 { 142 nimln_(1158, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 143 result = ((NF)(((NF)(x) * (NF)(x))) * (NF)(x)); 144 } 145 break; 146 default: 147 { 148 tyTuple__q4xn9bvzjB0QCTcS8bELuDQ T6_; 149 NF x_2; 150 NI y_2; 151 nimln_(1160, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 152 T6_.Field0 = x; 153 T6_.Field1 = y; 154 x_2 = T6_.Field0; 155 y_2 = T6_.Field1; 156 nimln_(1161, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 157 result = 1.0; 158 { 159 nimln_(1162, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 160 while (1) { 161 nimln_(1163, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 162 { 163 if (!!(((NI)(((NI) (y_2)) & ((NI) 1)) == ((NI) 0)))) goto LA11_; 164 nimln_(1164, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 165 stareq___pureZstrutils_2165((&result), x_2); 166 } 167 LA11_: ; 168 nimln_(1165, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 169 if (((NI)((NI64)(((NI) (y_2))) >> (NU64)(((NI) 1)))) < ((NI) 0) || ((NI)((NI64)(((NI) (y_2))) >> (NU64)(((NI) 1)))) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)((NI64)(((NI) (y_2))) >> (NU64)(((NI) 1))), ((NI) 0), ((NI) IL64(9223372036854775807))); } 170 y_2 = ((NI) ((NI)((NI64)(((NI) (y_2))) >> (NU64)(((NI) 1))))); 171 nimln_(1166, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 172 { 173 if (!(((NI) (y_2)) == ((NI) 0))) goto LA15_; 174 nimln_(1167, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 175 goto LA7; 176 } 177 LA15_: ; 178 nimln_(1168, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/math.nim"); 179 stareq___pureZstrutils_2165((&x_2), x_2); 180 } 181 } LA7: ; 182 } 183 break; 184 } 185 popFrame(); 186 return result; 187 }