File: stdlib_unicode.c

package info (click to toggle)
nim 0.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 290,936 kB
  • ctags: 1,049,726
  • sloc: sh: 7,408; ansic: 1,464; makefile: 358; objc: 224; asm: 199; xml: 129; java: 56; pascal: 32; python: 20
file content (95 lines) | stat: -rw-r--r-- 5,010 bytes parent folder | download
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/* 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) {
}