1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/* Generated by Nim Compiler v0.16.0 */
/* (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <math.h>
#undef linux
N_NIMCALL(NF, log2_ofkAe2ROmA188x6KIGzcDA)(NF x0) {
NF result0;
NF LOC1;
NF LOC2;
{ result0 = (NF)0;
LOC1 = (NF)0;
LOC1 = log(x0);
LOC2 = (NF)0;
LOC2 = log(2.0000000000000000e+00);
result0 = ((NF)(LOC1) / (NF)(LOC2));
goto BeforeRet;
}BeforeRet: ;
return result0;
}
N_NIMCALL(NF, round_FL9bhksfuQsfLDCxRHuknsg)(NF x0, NI places0) {
NF result0;
result0 = (NF)0;
{
if (!(places0 == ((NI) 0))) goto LA3;
result0 = round(x0);
}
goto LA1;
LA3: ;
{
NF mult0;
NF LOC6;
mult0 = pow(1.0000000000000000e+01, ((NF) (places0)));
LOC6 = (NF)0;
LOC6 = round(((NF)(x0) * (NF)(mult0)));
result0 = ((NF)(LOC6) / (NF)(mult0));
}
LA1: ;
return result0;
}
N_NIMCALL(NIM_BOOL, ispoweroftwo_M0Db9b9cHxuUgw2ZF0P8utPg)(NI x0) {
NIM_BOOL result0;
NIM_BOOL LOC1;
{ result0 = (NIM_BOOL)0;
LOC1 = (NIM_BOOL)0;
LOC1 = (((NI) 0) < x0);
if (!(LOC1)) goto LA2;
LOC1 = ((NI)(x0 & (NI)(x0 - ((NI) 1))) == ((NI) 0));
LA2: ;
result0 = LOC1;
goto BeforeRet;
}BeforeRet: ;
return result0;
}
N_NIMCALL(NI, nextpoweroftwo_gcitR3TEXHJ3GR9bmwIvtRA)(NI x0) {
NI result0;
result0 = (NI)0;
result0 = (NI)(x0 - ((NI) 1));
result0 = (NI)(result0 | (NI)((NU64)(result0) >> (NU64)(((NI) 32))));
result0 = (NI)(result0 | (NI)((NU64)(result0) >> (NU64)(((NI) 16))));
result0 = (NI)(result0 | (NI)((NU64)(result0) >> (NU64)(((NI) 8))));
result0 = (NI)(result0 | (NI)((NU64)(result0) >> (NU64)(((NI) 4))));
result0 = (NI)(result0 | (NI)((NU64)(result0) >> (NU64)(((NI) 2))));
result0 = (NI)(result0 | (NI)((NU64)(result0) >> (NU64)(((NI) 1))));
result0 += ((NI) ((NI)(((NI) 1) + ((NI) ((x0 <= ((NI) 0)))))));
return result0;
}
NIM_EXTERNC N_NOINLINE(void, stdlib_mathInit000)(void) {
}
NIM_EXTERNC N_NOINLINE(void, stdlib_mathDatInit000)(void) {
}
|