/* 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" #undef linux typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); STRING_LITERAL(T_e1RUVS0Bw7xmj9cnDPXLJMQ_2, "", 0); N_NIMCALL(NimStringDesc*, nuctoUTF8)(NI32 c0) { NimStringDesc* result0; NI32 i_thWKp7ISAt9bqitwYuDc9cPA; result0 = (NimStringDesc*)0; result0 = copyString(((NimStringDesc*) &T_e1RUVS0Bw7xmj9cnDPXLJMQ_2)); i_thWKp7ISAt9bqitwYuDc9cPA = c0; { if (!((NU32)(i_thWKp7ISAt9bqitwYuDc9cPA) <= (NU32)(((NI32) 127)))) goto LA3; result0 = setLengthStr(result0, ((NI) 1)); result0->data[((NI) 0)] = ((NIM_CHAR) (((NI) (i_thWKp7ISAt9bqitwYuDc9cPA)))); } goto LA1; LA3: ; { if (!((NU32)(i_thWKp7ISAt9bqitwYuDc9cPA) <= (NU32)(((NI32) 2047)))) goto LA6; result0 = setLengthStr(result0, ((NI) 2)); result0->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 6))) | ((NI32) 192)))))); result0->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)(i_thWKp7ISAt9bqitwYuDc9cPA & ((NI32) 63)))) | ((NI) 128)))))); } goto LA1; LA6: ; { if (!((NU32)(i_thWKp7ISAt9bqitwYuDc9cPA) <= (NU32)(((NI32) 65535)))) goto LA9; result0 = setLengthStr(result0, ((NI) 3)); result0->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 12))) | ((NI32) 224)))))); result0->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 6))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)(i_thWKp7ISAt9bqitwYuDc9cPA & ((NI32) 63)))) | ((NI) 128)))))); } goto LA1; LA9: ; { if (!((NU32)(i_thWKp7ISAt9bqitwYuDc9cPA) <= (NU32)(((NI32) 2097151)))) goto LA12; result0 = setLengthStr(result0, ((NI) 4)); result0->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 18))) | ((NI32) 240)))))); result0->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 12))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 6))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 3)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)(i_thWKp7ISAt9bqitwYuDc9cPA & ((NI32) 63)))) | ((NI) 128)))))); } goto LA1; LA12: ; { if (!((NU32)(i_thWKp7ISAt9bqitwYuDc9cPA) <= (NU32)(((NI32) 67108863)))) goto LA15; result0 = setLengthStr(result0, ((NI) 5)); result0->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 24))) | ((NI32) 248)))))); result0->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 18))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 12))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 3)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 6))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 4)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)(i_thWKp7ISAt9bqitwYuDc9cPA & ((NI32) 63)))) | ((NI) 128)))))); } goto LA1; LA15: ; { if (!((NU32)(i_thWKp7ISAt9bqitwYuDc9cPA) <= (NU32)(((NI32) 2147483647)))) goto LA18; result0 = setLengthStr(result0, ((NI) 6)); result0->data[((NI) 0)] = ((NIM_CHAR) (((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 30))) | ((NI32) 252)))))); result0->data[((NI) 1)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 24))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 2)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 18))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 3)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 12))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 4)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)((NI32)((NU64)(i_thWKp7ISAt9bqitwYuDc9cPA) >> (NU64)(((NI) 6))) & ((NI32) 63)))) | ((NI) 128)))))); result0->data[((NI) 5)] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI32)(i_thWKp7ISAt9bqitwYuDc9cPA & ((NI32) 63)))) | ((NI) 128)))))); } goto LA1; LA18: ; { } LA1: ; return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_unicodeInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, stdlib_unicodeDatInit000)(void) { }