Home | Libraries | People | FAQ | More |
In most cases boost::lexical_cast
is faster than scanf
, printf
,
std::stringstream
. For more detailed info you
can look at the tables below.
All the tests measure execution speed in milliseconds for 10000 iterations of the following code blocks:
Table 15.1. Tests source code
Test name |
Code |
---|---|
lexical_cast |
_out = boost::lexical_cast<OUTTYPE>(_in);
|
std::stringstream with construction |
std::stringstream ss; ss << _in; if (ss.fail()) throw std::logic_error(descr); ss >> _out; if (ss.fail()) throw std::logic_error(descr);
|
std::stringstream without construction |
ss << _in; // ss is an instance of std::stringstream if (ss.fail()) throw std::logic_error(descr); ss >> _out; if (ss.fail()) throw std::logic_error(descr); /* reseting std::stringstream to use it again */ ss.str(std::string()); ss.clear();
|
scanf/printf |
typename OUTTYPE::value_type buffer[500]; sprintf( (char*)buffer, conv, _in); _out = buffer;
|
Fastest results are highlitened with "!!! x !!!". Do not use this results to compare compilers, because tests were taken on different hardware.
Table 15.2. Performance Table (clang-linux-2.8)
From->To |
lexical_cast |
std::stringstream with construction |
std::stringstream without construction |
scanf/printf |
---|---|---|---|---|
string->char |
!!! <1 !!! |
148 |
14 |
12 |
string->signed char |
!!! <1 !!! |
97 |
8 |
7 |
string->unsigned char |
!!! <1 !!! |
90 |
8 |
13 |
string->int |
!!! 4 !!! |
102 |
19 |
15 |
string->short |
!!! 4 !!! |
105 |
20 |
15 |
string->long int |
!!! 4 !!! |
105 |
19 |
15 |
string->long long |
!!! 4 !!! |
115 |
19 |
14 |
string->unsigned int |
!!! 4 !!! |
102 |
18 |
14 |
string->unsigned short |
!!! 4 !!! |
101 |
19 |
15 |
string->unsigned long int |
!!! 3 !!! |
107 |
20 |
14 |
string->unsigned long long |
!!! 3 !!! |
103 |
20 |
14 |
string->bool |
!!! <1 !!! |
97 |
16 |
8 |
string->float |
!!! 21 !!! |
170 |
61 |
32 |
string->double |
!!! 18 !!! |
206 |
93 |
58 |
string->long double |
135 |
221 |
94 |
!!! 57 !!! |
char->string |
!!! 7 !!! |
100 |
17 |
13 |
unsigned char->string |
!!! 7 !!! |
99 |
18 |
16 |
signed char->string |
!!! 7 !!! |
101 |
17 |
12 |
int->string |
!!! 13 !!! |
110 |
23 |
15 |
short->string |
!!! 13 !!! |
112 |
24 |
18 |
long int->string |
!!! 13 !!! |
119 |
23 |
17 |
long long->string |
!!! 13 !!! |
110 |
23 |
18 |
unsigned int->string |
!!! 14 !!! |
113 |
24 |
17 |
unsigned short->string |
!!! 13 !!! |
108 |
24 |
17 |
unsigned long int->string |
!!! 13 !!! |
109 |
24 |
16 |
unsigned long long->string |
!!! 13 !!! |
110 |
23 |
17 |
bool->string |
!!! 7 !!! |
105 |
24 |
12 |
float->string |
70 |
192 |
94 |
!!! 49 !!! |
double->string |
106 |
217 |
122 |
!!! 76 !!! |
long double->string |
120 |
219 |
123 |
!!! 80 !!! |
char*->char |
!!! 2 !!! |
90 |
9 |
8 |
char*->signed char |
!!! 2 !!! |
87 |
10 |
7 |
char*->unsigned char |
!!! 3 !!! |
90 |
10 |
13 |
char*->int |
!!! 6 !!! |
107 |
21 |
15 |
char*->short |
!!! 6 !!! |
110 |
19 |
14 |
char*->long int |
!!! 6 !!! |
103 |
19 |
14 |
char*->long long |
!!! 7 !!! |
104 |
20 |
15 |
char*->unsigned int |
!!! 6 !!! |
101 |
20 |
15 |
char*->unsigned short |
!!! 7 !!! |
100 |
20 |
14 |
char*->unsigned long int |
!!! 6 !!! |
105 |
22 |
15 |
char*->unsigned long long |
!!! 7 !!! |
106 |
21 |
14 |
char*->bool |
!!! 2 !!! |
99 |
18 |
7 |
char*->float |
!!! 22 !!! |
159 |
67 |
33 |
char*->double |
!!! 20 !!! |
205 |
94 |
58 |
char*->long double |
140 |
214 |
95 |
!!! 58 !!! |
unsigned char*->char |
!!! 2 !!! |
92 |
9 |
7 |
unsigned char*->signed char |
!!! 2 !!! |
89 |
10 |
7 |
unsigned char*->unsigned char |
!!! 2 !!! |
89 |
10 |
14 |
unsigned char*->int |
!!! 6 !!! |
104 |
20 |
14 |
unsigned char*->short |
!!! 6 !!! |
106 |
21 |
14 |
unsigned char*->long int |
!!! 6 !!! |
105 |
19 |
14 |
unsigned char*->long long |
!!! 6 !!! |
106 |
20 |
15 |
unsigned char*->unsigned int |
!!! 7 !!! |
105 |
19 |
14 |
unsigned char*->unsigned short |
!!! 6 !!! |
103 |
19 |
14 |
unsigned char*->unsigned long int |
!!! 6 !!! |
106 |
19 |
14 |
unsigned char*->unsigned long long |
!!! 6 !!! |
104 |
21 |
15 |
unsigned char*->bool |
!!! 2 !!! |
102 |
18 |
7 |
unsigned char*->float |
!!! 23 !!! |
160 |
66 |
32 |
unsigned char*->double |
!!! 20 !!! |
201 |
95 |
58 |
unsigned char*->long double |
144 |
221 |
95 |
!!! 60 !!! |
unsigned char*->string |
!!! 12 !!! |
104 |
23 |
--- |
signed char*->char |
!!! 2 !!! |
90 |
9 |
7 |
signed char*->signed char |
!!! 2 !!! |
89 |
9 |
7 |
signed char*->unsigned char |
!!! 2 !!! |
89 |
10 |
13 |
signed char*->int |
!!! 6 !!! |
106 |
19 |
15 |
signed char*->short |
!!! 6 !!! |
107 |
20 |
15 |
signed char*->long int |
!!! 6 !!! |
103 |
19 |
14 |
signed char*->long long |
!!! 6 !!! |
103 |
19 |
14 |
signed char*->unsigned int |
!!! 6 !!! |
101 |
19 |
15 |
signed char*->unsigned short |
!!! 6 !!! |
101 |
19 |
16 |
signed char*->unsigned long int |
!!! 6 !!! |
105 |
22 |
15 |
signed char*->unsigned long long |
!!! 6 !!! |
104 |
21 |
15 |
signed char*->bool |
!!! 2 !!! |
100 |
18 |
7 |
signed char*->float |
!!! 23 !!! |
161 |
62 |
32 |
signed char*->double |
!!! 20 !!! |
207 |
102 |
57 |
signed char*->long double |
144 |
216 |
96 |
!!! 63 !!! |
signed char*->string |
!!! 12 !!! |
104 |
23 |
--- |
int->int |
!!! <1 !!! |
110 |
22 |
--- |
float->double |
!!! <1 !!! |
223 |
113 |
--- |
double->double |
!!! <1 !!! |
227 |
111 |
--- |
int->int |
!!! <1 !!! |
231 |
122 |
--- |
int->int |
!!! <1 !!! |
229 |
121 |
--- |
char->unsigned char |
!!! <1 !!! |
90 |
8 |
--- |
char->signed char |
!!! <1 !!! |
88 |
8 |
--- |
unsigned char->char |
!!! <1 !!! |
89 |
8 |
--- |
signed char->char |
!!! <1 !!! |
91 |
9 |
--- |
Table 15.3. Performance Table (gcc-4.4)
From->To |
lexical_cast |
std::stringstream with construction |
std::stringstream without construction |
scanf/printf |
---|---|---|---|---|
string->char |
!!! <1 !!! |
90 |
7 |
7 |
string->signed char |
!!! <1 !!! |
88 |
7 |
8 |
string->unsigned char |
!!! <1 !!! |
88 |
8 |
14 |
string->int |
!!! 3 !!! |
103 |
18 |
15 |
string->short |
!!! 3 !!! |
105 |
20 |
15 |
string->long int |
!!! 3 !!! |
101 |
18 |
16 |
string->long long |
!!! 3 !!! |
101 |
18 |
15 |
string->unsigned int |
!!! 3 !!! |
98 |
23 |
14 |
string->unsigned short |
!!! 3 !!! |
100 |
17 |
14 |
string->unsigned long int |
!!! 3 !!! |
100 |
21 |
15 |
string->unsigned long long |
!!! 3 !!! |
99 |
19 |
15 |
string->bool |
!!! <1 !!! |
95 |
16 |
8 |
string->float |
!!! 13 !!! |
160 |
61 |
33 |
string->double |
!!! 14 !!! |
206 |
93 |
59 |
string->long double |
128 |
217 |
96 |
!!! 61 !!! |
char->string |
!!! 7 !!! |
100 |
17 |
12 |
unsigned char->string |
!!! 7 !!! |
109 |
17 |
16 |
signed char->string |
!!! 7 !!! |
99 |
17 |
12 |
int->string |
!!! 13 !!! |
110 |
21 |
15 |
short->string |
!!! 14 !!! |
110 |
22 |
17 |
long int->string |
!!! 14 !!! |
109 |
21 |
16 |
long long->string |
!!! 13 !!! |
114 |
20 |
17 |
unsigned int->string |
!!! 13 !!! |
109 |
23 |
15 |
unsigned short->string |
!!! 14 !!! |
109 |
23 |
17 |
unsigned long int->string |
!!! 13 !!! |
112 |
23 |
16 |
unsigned long long->string |
!!! 14 !!! |
109 |
21 |
17 |
bool->string |
!!! 7 !!! |
108 |
23 |
11 |
float->string |
63 |
185 |
92 |
!!! 50 !!! |
double->string |
106 |
216 |
116 |
!!! 75 !!! |
long double->string |
118 |
219 |
119 |
!!! 80 !!! |
char*->char |
!!! 1 !!! |
93 |
9 |
9 |
char*->signed char |
!!! 1 !!! |
92 |
9 |
9 |
char*->unsigned char |
!!! 1 !!! |
92 |
9 |
14 |
char*->int |
!!! 4 !!! |
107 |
19 |
15 |
char*->short |
!!! 5 !!! |
109 |
19 |
15 |
char*->long int |
!!! 4 !!! |
113 |
19 |
15 |
char*->long long |
!!! 4 !!! |
108 |
20 |
15 |
char*->unsigned int |
!!! 4 !!! |
106 |
19 |
15 |
char*->unsigned short |
!!! 4 !!! |
106 |
18 |
15 |
char*->unsigned long int |
!!! 4 !!! |
103 |
22 |
15 |
char*->unsigned long long |
!!! 4 !!! |
105 |
20 |
15 |
char*->bool |
!!! 1 !!! |
104 |
18 |
8 |
char*->float |
!!! 15 !!! |
164 |
62 |
33 |
char*->double |
!!! 16 !!! |
203 |
97 |
58 |
char*->long double |
132 |
223 |
98 |
!!! 60 !!! |
unsigned char*->char |
!!! 2 !!! |
90 |
9 |
8 |
unsigned char*->signed char |
!!! 2 !!! |
92 |
10 |
8 |
unsigned char*->unsigned char |
!!! 2 !!! |
91 |
9 |
14 |
unsigned char*->int |
!!! 6 !!! |
106 |
20 |
15 |
unsigned char*->short |
!!! 6 !!! |
106 |
21 |
15 |
unsigned char*->long int |
!!! 6 !!! |
111 |
19 |
15 |
unsigned char*->long long |
!!! 6 !!! |
107 |
20 |
15 |
unsigned char*->unsigned int |
!!! 6 !!! |
105 |
19 |
15 |
unsigned char*->unsigned short |
!!! 6 !!! |
103 |
18 |
15 |
unsigned char*->unsigned long int |
!!! 6 !!! |
106 |
22 |
14 |
unsigned char*->unsigned long long |
!!! 6 !!! |
105 |
20 |
14 |
unsigned char*->bool |
!!! 2 !!! |
106 |
18 |
8 |
unsigned char*->float |
!!! 15 !!! |
167 |
68 |
33 |
unsigned char*->double |
!!! 17 !!! |
203 |
99 |
58 |
unsigned char*->long double |
129 |
216 |
97 |
!!! 61 !!! |
unsigned char*->string |
!!! 13 !!! |
111 |
23 |
--- |
signed char*->char |
!!! 2 !!! |
92 |
9 |
8 |
signed char*->signed char |
!!! 2 !!! |
91 |
9 |
8 |
signed char*->unsigned char |
!!! 2 !!! |
91 |
9 |
14 |
signed char*->int |
!!! 6 !!! |
107 |
19 |
15 |
signed char*->short |
!!! 6 !!! |
109 |
24 |
14 |
signed char*->long int |
!!! 6 !!! |
112 |
19 |
15 |
signed char*->long long |
!!! 5 !!! |
107 |
20 |
15 |
signed char*->unsigned int |
!!! 6 !!! |
108 |
20 |
15 |
signed char*->unsigned short |
!!! 6 !!! |
104 |
18 |
15 |
signed char*->unsigned long int |
!!! 6 !!! |
102 |
22 |
15 |
signed char*->unsigned long long |
!!! 6 !!! |
104 |
20 |
15 |
signed char*->bool |
!!! 2 !!! |
104 |
18 |
8 |
signed char*->float |
!!! 16 !!! |
165 |
63 |
33 |
signed char*->double |
!!! 16 !!! |
203 |
98 |
59 |
signed char*->long double |
129 |
215 |
98 |
!!! 61 !!! |
signed char*->string |
!!! 13 !!! |
109 |
21 |
--- |
int->int |
!!! <1 !!! |
109 |
21 |
--- |
float->double |
!!! <1 !!! |
221 |
102 |
--- |
double->double |
!!! <1 !!! |
223 |
103 |
--- |
int->int |
!!! <1 !!! |
231 |
115 |
--- |
int->int |
!!! <1 !!! |
231 |
115 |
--- |
char->unsigned char |
!!! <1 !!! |
92 |
8 |
--- |
char->signed char |
!!! <1 !!! |
88 |
8 |
--- |
unsigned char->char |
!!! <1 !!! |
88 |
7 |
--- |
signed char->char |
!!! <1 !!! |
89 |
8 |
--- |
Table 15.4. Performance Table (gcc-4.5)
From->To |
lexical_cast |
std::stringstream with construction |
std::stringstream without construction |
scanf/printf |
---|---|---|---|---|
string->char |
!!! <1 !!! |
91 |
8 |
7 |
string->signed char |
!!! <1 !!! |
91 |
8 |
7 |
string->unsigned char |
!!! <1 !!! |
90 |
8 |
13 |
string->int |
!!! 3 !!! |
100 |
20 |
14 |
string->short |
!!! 3 !!! |
106 |
20 |
14 |
string->long int |
!!! 3 !!! |
100 |
18 |
14 |
string->long long |
!!! 9 !!! |
100 |
18 |
15 |
string->unsigned int |
!!! 3 !!! |
97 |
20 |
14 |
string->unsigned short |
!!! 3 !!! |
102 |
17 |
14 |
string->unsigned long int |
!!! 3 !!! |
97 |
21 |
14 |
string->unsigned long long |
!!! 3 !!! |
97 |
19 |
14 |
string->bool |
!!! <1 !!! |
95 |
16 |
7 |
string->float |
!!! 15 !!! |
157 |
63 |
32 |
string->double |
!!! 17 !!! |
203 |
95 |
59 |
string->long double |
129 |
216 |
93 |
!!! 58 !!! |
char->string |
!!! 8 !!! |
100 |
17 |
10 |
unsigned char->string |
!!! 8 !!! |
96 |
18 |
16 |
signed char->string |
!!! 8 !!! |
96 |
18 |
10 |
int->string |
!!! 14 !!! |
105 |
22 |
15 |
short->string |
!!! 14 !!! |
107 |
23 |
17 |
long int->string |
!!! 14 !!! |
109 |
22 |
17 |
long long->string |
!!! 14 !!! |
105 |
22 |
18 |
unsigned int->string |
!!! 14 !!! |
105 |
25 |
15 |
unsigned short->string |
!!! 15 !!! |
105 |
23 |
17 |
unsigned long int->string |
!!! 14 !!! |
109 |
24 |
17 |
unsigned long long->string |
!!! 14 !!! |
102 |
23 |
17 |
bool->string |
!!! 8 !!! |
104 |
23 |
12 |
float->string |
66 |
181 |
92 |
!!! 49 !!! |
double->string |
107 |
215 |
120 |
!!! 75 !!! |
long double->string |
117 |
221 |
125 |
!!! 79 !!! |
char*->char |
!!! 1 !!! |
89 |
9 |
7 |
char*->signed char |
!!! 1 !!! |
90 |
9 |
7 |
char*->unsigned char |
!!! 2 !!! |
90 |
9 |
13 |
char*->int |
!!! 7 !!! |
103 |
20 |
15 |
char*->short |
!!! 6 !!! |
102 |
29 |
14 |
char*->long int |
!!! 7 !!! |
101 |
20 |
15 |
char*->long long |
!!! 6 !!! |
102 |
20 |
14 |
char*->unsigned int |
!!! 6 !!! |
99 |
19 |
14 |
char*->unsigned short |
!!! 6 !!! |
101 |
18 |
14 |
char*->unsigned long int |
!!! 6 !!! |
102 |
22 |
14 |
char*->unsigned long long |
!!! 6 !!! |
101 |
21 |
14 |
char*->bool |
!!! 3 !!! |
98 |
18 |
7 |
char*->float |
!!! 18 !!! |
162 |
63 |
31 |
char*->double |
!!! 17 !!! |
203 |
96 |
58 |
char*->long double |
135 |
214 |
98 |
!!! 58 !!! |
unsigned char*->char |
!!! 2 !!! |
87 |
9 |
7 |
unsigned char*->signed char |
!!! 2 !!! |
87 |
9 |
7 |
unsigned char*->unsigned char |
!!! 3 !!! |
87 |
9 |
13 |
unsigned char*->int |
!!! 6 !!! |
105 |
20 |
14 |
unsigned char*->short |
!!! 6 !!! |
102 |
21 |
14 |
unsigned char*->long int |
!!! 6 !!! |
101 |
20 |
14 |
unsigned char*->long long |
!!! 6 !!! |
102 |
20 |
14 |
unsigned char*->unsigned int |
!!! 6 !!! |
99 |
19 |
14 |
unsigned char*->unsigned short |
!!! 6 !!! |
100 |
18 |
14 |
unsigned char*->unsigned long int |
!!! 6 !!! |
101 |
24 |
14 |
unsigned char*->unsigned long long |
!!! 6 !!! |
100 |
20 |
14 |
unsigned char*->bool |
!!! 3 !!! |
99 |
18 |
8 |
unsigned char*->float |
!!! 17 !!! |
164 |
64 |
32 |
unsigned char*->double |
!!! 18 !!! |
201 |
94 |
58 |
unsigned char*->long double |
133 |
217 |
95 |
!!! 60 !!! |
unsigned char*->string |
!!! 14 !!! |
103 |
23 |
--- |
signed char*->char |
!!! 3 !!! |
88 |
10 |
8 |
signed char*->signed char |
!!! 2 !!! |
87 |
10 |
7 |
signed char*->unsigned char |
!!! 3 !!! |
87 |
9 |
13 |
signed char*->int |
!!! 6 !!! |
104 |
20 |
14 |
signed char*->short |
!!! 6 !!! |
105 |
21 |
14 |
signed char*->long int |
!!! 6 !!! |
104 |
20 |
15 |
signed char*->long long |
!!! 6 !!! |
106 |
20 |
14 |
signed char*->unsigned int |
!!! 6 !!! |
99 |
20 |
14 |
signed char*->unsigned short |
!!! 6 !!! |
100 |
18 |
14 |
signed char*->unsigned long int |
!!! 6 !!! |
102 |
23 |
14 |
signed char*->unsigned long long |
!!! 6 !!! |
103 |
20 |
14 |
signed char*->bool |
!!! 3 !!! |
99 |
18 |
7 |
signed char*->float |
!!! 18 !!! |
159 |
60 |
32 |
signed char*->double |
!!! 18 !!! |
203 |
95 |
57 |
signed char*->long double |
129 |
213 |
97 |
!!! 56 !!! |
signed char*->string |
!!! 14 !!! |
105 |
22 |
--- |
int->int |
!!! <1 !!! |
109 |
22 |
--- |
float->double |
!!! <1 !!! |
226 |
104 |
--- |
double->double |
!!! <1 !!! |
229 |
103 |
--- |
int->int |
!!! <1 !!! |
225 |
115 |
--- |
int->int |
!!! <1 !!! |
227 |
115 |
--- |
char->unsigned char |
!!! <1 !!! |
90 |
8 |
--- |
char->signed char |
!!! <1 !!! |
84 |
8 |
--- |
unsigned char->char |
!!! <1 !!! |
88 |
8 |
--- |
signed char->char |
!!! <1 !!! |
89 |
8 |
--- |
Table 15.5. Performance Table (gcc-4.6)
From->To |
lexical_cast |
std::stringstream with construction |
std::stringstream without construction |
scanf/printf |
---|---|---|---|---|
string->char |
!!! <1 !!! |
94 |
8 |
7 |
string->signed char |
!!! <1 !!! |
96 |
9 |
7 |
string->unsigned char |
!!! <1 !!! |
96 |
8 |
13 |
string->int |
!!! 3 !!! |
110 |
18 |
16 |
string->short |
!!! 3 !!! |
111 |
18 |
16 |
string->long int |
!!! 3 !!! |
109 |
18 |
15 |
string->long long |
!!! 3 !!! |
111 |
18 |
15 |
string->unsigned int |
!!! 3 !!! |
110 |
20 |
15 |
string->unsigned short |
!!! 3 !!! |
111 |
18 |
15 |
string->unsigned long int |
!!! 3 !!! |
109 |
18 |
15 |
string->unsigned long long |
!!! 3 !!! |
114 |
19 |
15 |
string->bool |
!!! <1 !!! |
106 |
17 |
8 |
string->float |
!!! 13 !!! |
175 |
70 |
33 |
string->double |
!!! 14 !!! |
182 |
81 |
58 |
string->long double |
118 |
190 |
87 |
!!! 58 !!! |
char->string |
!!! 8 !!! |
118 |
21 |
12 |
unsigned char->string |
!!! 8 !!! |
109 |
18 |
16 |
signed char->string |
!!! 8 !!! |
108 |
18 |
12 |
int->string |
20 |
121 |
21 |
!!! 16 !!! |
short->string |
!!! 15 !!! |
120 |
22 |
17 |
long int->string |
!!! 15 !!! |
120 |
22 |
16 |
long long->string |
!!! 15 !!! |
120 |
22 |
17 |
unsigned int->string |
!!! 15 !!! |
120 |
22 |
16 |
unsigned short->string |
!!! 15 !!! |
120 |
22 |
18 |
unsigned long int->string |
16 |
118 |
22 |
!!! 15 !!! |
unsigned long long->string |
!!! 15 !!! |
117 |
21 |
17 |
bool->string |
!!! 8 !!! |
117 |
23 |
10 |
float->string |
77 |
218 |
105 |
!!! 50 !!! |
double->string |
108 |
247 |
129 |
!!! 73 !!! |
long double->string |
120 |
250 |
131 |
!!! 79 !!! |
char*->char |
!!! 2 !!! |
99 |
9 |
7 |
char*->signed char |
!!! 2 !!! |
98 |
9 |
8 |
char*->unsigned char |
!!! 2 !!! |
98 |
9 |
13 |
char*->int |
!!! 6 !!! |
115 |
22 |
15 |
char*->short |
!!! 6 !!! |
114 |
22 |
15 |
char*->long int |
!!! 6 !!! |
114 |
22 |
16 |
char*->long long |
!!! 6 !!! |
119 |
22 |
15 |
char*->unsigned int |
!!! 6 !!! |
114 |
20 |
15 |
char*->unsigned short |
!!! 6 !!! |
116 |
20 |
15 |
char*->unsigned long int |
!!! 6 !!! |
117 |
22 |
15 |
char*->unsigned long long |
!!! 6 !!! |
118 |
22 |
15 |
char*->bool |
!!! 3 !!! |
113 |
18 |
8 |
char*->float |
!!! 15 !!! |
180 |
78 |
32 |
char*->double |
!!! 16 !!! |
185 |
89 |
58 |
char*->long double |
119 |
193 |
91 |
!!! 60 !!! |
unsigned char*->char |
!!! 2 !!! |
99 |
9 |
8 |
unsigned char*->signed char |
!!! 2 !!! |
99 |
10 |
8 |
unsigned char*->unsigned char |
!!! 2 !!! |
100 |
9 |
15 |
unsigned char*->int |
!!! 6 !!! |
118 |
22 |
15 |
unsigned char*->short |
!!! 6 !!! |
117 |
26 |
15 |
unsigned char*->long int |
!!! 6 !!! |
119 |
21 |
15 |
unsigned char*->long long |
!!! 6 !!! |
118 |
21 |
14 |
unsigned char*->unsigned int |
!!! 6 !!! |
115 |
22 |
14 |
unsigned char*->unsigned short |
!!! 6 !!! |
117 |
20 |
15 |
unsigned char*->unsigned long int |
!!! 6 !!! |
115 |
21 |
15 |
unsigned char*->unsigned long long |
!!! 6 !!! |
117 |
22 |
15 |
unsigned char*->bool |
!!! 3 !!! |
112 |
18 |
8 |
unsigned char*->float |
!!! 15 !!! |
181 |
78 |
33 |
unsigned char*->double |
!!! 16 !!! |
185 |
92 |
59 |
unsigned char*->long double |
120 |
190 |
89 |
!!! 58 !!! |
unsigned char*->string |
!!! 14 !!! |
121 |
22 |
--- |
signed char*->char |
!!! 2 !!! |
99 |
9 |
9 |
signed char*->signed char |
!!! 2 !!! |
98 |
9 |
8 |
signed char*->unsigned char |
!!! 2 !!! |
98 |
9 |
14 |
signed char*->int |
!!! 6 !!! |
119 |
22 |
16 |
signed char*->short |
!!! 6 !!! |
115 |
22 |
15 |
signed char*->long int |
!!! 6 !!! |
119 |
22 |
15 |
signed char*->long long |
!!! 6 !!! |
117 |
22 |
15 |
signed char*->unsigned int |
!!! 6 !!! |
117 |
23 |
15 |
signed char*->unsigned short |
!!! 6 !!! |
117 |
21 |
14 |
signed char*->unsigned long int |
!!! 7 !!! |
119 |
24 |
15 |
signed char*->unsigned long long |
!!! 6 !!! |
116 |
22 |
15 |
signed char*->bool |
!!! 3 !!! |
111 |
18 |
8 |
signed char*->float |
!!! 16 !!! |
180 |
78 |
33 |
signed char*->double |
!!! 16 !!! |
185 |
89 |
59 |
signed char*->long double |
120 |
191 |
91 |
!!! 59 !!! |
signed char*->string |
!!! 14 !!! |
122 |
23 |
--- |
int->int |
!!! <1 !!! |
120 |
22 |
--- |
float->double |
!!! <1 !!! |
242 |
115 |
--- |
double->double |
!!! <1 !!! |
243 |
115 |
--- |
int->int |
!!! <1 !!! |
265 |
141 |
--- |
int->int |
!!! <1 !!! |
266 |
140 |
--- |
char->unsigned char |
!!! <1 !!! |
95 |
8 |
--- |
char->signed char |
!!! <1 !!! |
95 |
8 |
--- |
unsigned char->char |
!!! <1 !!! |
94 |
8 |
--- |
signed char->char |
!!! <1 !!! |
94 |
8 |
--- |