Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/test/func4.test

Issue 949043002: Add //third_party/sqlite to dirs_to_snapshot, remove net_sql.patch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # 2013 March 10
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 # This file implements regression tests for SQLite library. The focus of
12 # this file is testing the tointeger() and toreal() functions.
13 #
14 # Several of the toreal() tests are disabled on platforms where floating
15 # point precision is not high enough to represent their constant integer
16 # expression arguments as double precision floating point values.
17 #
18 set testdir [file dirname $argv0]
19 source $testdir/tester.tcl
20 set saved_tcl_precision $tcl_precision
21 set tcl_precision 0
22 load_static_extension db totype
23
24 set highPrecision(1) [expr \
25 {[db eval {SELECT tointeger(9223372036854775807 + 1);}] eq {{}}}]
26
27 do_execsql_test func4-1.1 {
28 SELECT tointeger(NULL);
29 } {{}}
30 do_execsql_test func4-1.2 {
31 SELECT tointeger('');
32 } {{}}
33 do_execsql_test func4-1.3 {
34 SELECT tointeger(' ');
35 } {{}}
36 do_execsql_test func4-1.4 {
37 SELECT tointeger('1234');
38 } {1234}
39 do_execsql_test func4-1.5 {
40 SELECT tointeger(' 1234');
41 } {{}}
42 do_execsql_test func4-1.6 {
43 SELECT tointeger('bad');
44 } {{}}
45 do_execsql_test func4-1.7 {
46 SELECT tointeger('0xBAD');
47 } {{}}
48 do_execsql_test func4-1.8 {
49 SELECT tointeger('123BAD');
50 } {{}}
51 do_execsql_test func4-1.9 {
52 SELECT tointeger('0x123BAD');
53 } {{}}
54 do_execsql_test func4-1.10 {
55 SELECT tointeger('123NO');
56 } {{}}
57 do_execsql_test func4-1.11 {
58 SELECT tointeger('0x123NO');
59 } {{}}
60 do_execsql_test func4-1.12 {
61 SELECT tointeger('-0x1');
62 } {{}}
63 do_execsql_test func4-1.13 {
64 SELECT tointeger('-0x0');
65 } {{}}
66 do_execsql_test func4-1.14 {
67 SELECT tointeger('0x0');
68 } {{}}
69 do_execsql_test func4-1.15 {
70 SELECT tointeger('0x1');
71 } {{}}
72 do_execsql_test func4-1.16 {
73 SELECT tointeger(-1);
74 } {-1}
75 do_execsql_test func4-1.17 {
76 SELECT tointeger(-0);
77 } {0}
78 do_execsql_test func4-1.18 {
79 SELECT tointeger(0);
80 } {0}
81 do_execsql_test func4-1.19 {
82 SELECT tointeger(1);
83 } {1}
84 do_execsql_test func4-1.20 {
85 SELECT tointeger(-1.79769313486232e308 - 1);
86 } {{}}
87 do_execsql_test func4-1.21 {
88 SELECT tointeger(-1.79769313486232e308);
89 } {{}}
90 do_execsql_test func4-1.22 {
91 SELECT tointeger(-1.79769313486232e308 + 1);
92 } {{}}
93 do_execsql_test func4-1.23 {
94 SELECT tointeger(-9223372036854775808 - 1);
95 } {-9223372036854775808}
96 do_execsql_test func4-1.24 {
97 SELECT tointeger(-9223372036854775808);
98 } {-9223372036854775808}
99 do_execsql_test func4-1.25 {
100 SELECT tointeger(-9223372036854775808 + 1);
101 } {-9223372036854775807}
102 do_execsql_test func4-1.26 {
103 SELECT tointeger(-9223372036854775807 - 1);
104 } {-9223372036854775808}
105 do_execsql_test func4-1.27 {
106 SELECT tointeger(-9223372036854775807);
107 } {-9223372036854775807}
108 do_execsql_test func4-1.28 {
109 SELECT tointeger(-9223372036854775807 + 1);
110 } {-9223372036854775806}
111 do_execsql_test func4-1.29 {
112 SELECT tointeger(-2147483648 - 1);
113 } {-2147483649}
114 do_execsql_test func4-1.30 {
115 SELECT tointeger(-2147483648);
116 } {-2147483648}
117 do_execsql_test func4-1.31 {
118 SELECT tointeger(-2147483648 + 1);
119 } {-2147483647}
120 do_execsql_test func4-1.32 {
121 SELECT tointeger(2147483647 - 1);
122 } {2147483646}
123 do_execsql_test func4-1.33 {
124 SELECT tointeger(2147483647);
125 } {2147483647}
126 do_execsql_test func4-1.34 {
127 SELECT tointeger(2147483647 + 1);
128 } {2147483648}
129 do_execsql_test func4-1.35 {
130 SELECT tointeger(9223372036854775807 - 1);
131 } {9223372036854775806}
132 do_execsql_test func4-1.36 {
133 SELECT tointeger(9223372036854775807);
134 } {9223372036854775807}
135 if {$highPrecision(1)} {
136 do_execsql_test func4-1.37 {
137 SELECT tointeger(9223372036854775807 + 1);
138 } {{}}
139 }
140 do_execsql_test func4-1.38 {
141 SELECT tointeger(1.79769313486232e308 - 1);
142 } {{}}
143 do_execsql_test func4-1.39 {
144 SELECT tointeger(1.79769313486232e308);
145 } {{}}
146 do_execsql_test func4-1.40 {
147 SELECT tointeger(1.79769313486232e308 + 1);
148 } {{}}
149 do_execsql_test func4-1.41 {
150 SELECT tointeger(4503599627370496 - 1);
151 } {4503599627370495}
152 do_execsql_test func4-1.42 {
153 SELECT tointeger(4503599627370496);
154 } {4503599627370496}
155 do_execsql_test func4-1.43 {
156 SELECT tointeger(4503599627370496 + 1);
157 } {4503599627370497}
158 do_execsql_test func4-1.44 {
159 SELECT tointeger(9007199254740992 - 1);
160 } {9007199254740991}
161 do_execsql_test func4-1.45 {
162 SELECT tointeger(9007199254740992);
163 } {9007199254740992}
164 do_execsql_test func4-1.46 {
165 SELECT tointeger(9007199254740992 + 1);
166 } {9007199254740993}
167 do_execsql_test func4-1.47 {
168 SELECT tointeger(9223372036854775807 - 1);
169 } {9223372036854775806}
170 do_execsql_test func4-1.48 {
171 SELECT tointeger(9223372036854775807);
172 } {9223372036854775807}
173 if {$highPrecision(1)} {
174 do_execsql_test func4-1.49 {
175 SELECT tointeger(9223372036854775807 + 1);
176 } {{}}
177 do_execsql_test func4-1.50 {
178 SELECT tointeger(9223372036854775808 - 1);
179 } {{}}
180 do_execsql_test func4-1.51 {
181 SELECT tointeger(9223372036854775808);
182 } {{}}
183 do_execsql_test func4-1.52 {
184 SELECT tointeger(9223372036854775808 + 1);
185 } {{}}
186 }
187 do_execsql_test func4-1.53 {
188 SELECT tointeger(18446744073709551616 - 1);
189 } {{}}
190 do_execsql_test func4-1.54 {
191 SELECT tointeger(18446744073709551616);
192 } {{}}
193 do_execsql_test func4-1.55 {
194 SELECT tointeger(18446744073709551616 + 1);
195 } {{}}
196
197 ifcapable floatingpoint {
198 set highPrecision(2) [expr \
199 {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}]
200
201 do_execsql_test func4-2.1 {
202 SELECT toreal(NULL);
203 } {{}}
204 do_execsql_test func4-2.2 {
205 SELECT toreal('');
206 } {{}}
207 do_execsql_test func4-2.3 {
208 SELECT toreal(' ');
209 } {{}}
210 do_execsql_test func4-2.4 {
211 SELECT toreal('1234');
212 } {1234.0}
213 do_execsql_test func4-2.5 {
214 SELECT toreal(' 1234');
215 } {{}}
216 do_execsql_test func4-2.6 {
217 SELECT toreal('bad');
218 } {{}}
219 do_execsql_test func4-2.7 {
220 SELECT toreal('0xBAD');
221 } {{}}
222 do_execsql_test func4-2.8 {
223 SELECT toreal('123BAD');
224 } {{}}
225 do_execsql_test func4-2.9 {
226 SELECT toreal('0x123BAD');
227 } {{}}
228 do_execsql_test func4-2.10 {
229 SELECT toreal('123NO');
230 } {{}}
231 do_execsql_test func4-2.11 {
232 SELECT toreal('0x123NO');
233 } {{}}
234 do_execsql_test func4-2.12 {
235 SELECT toreal('-0x1');
236 } {{}}
237 do_execsql_test func4-2.13 {
238 SELECT toreal('-0x0');
239 } {{}}
240 do_execsql_test func4-2.14 {
241 SELECT toreal('0x0');
242 } {{}}
243 do_execsql_test func4-2.15 {
244 SELECT toreal('0x1');
245 } {{}}
246 do_execsql_test func4-2.16 {
247 SELECT toreal(-1);
248 } {-1.0}
249 do_execsql_test func4-2.17 {
250 SELECT toreal(-0);
251 } {0.0}
252 do_execsql_test func4-2.18 {
253 SELECT toreal(0);
254 } {0.0}
255 do_execsql_test func4-2.19 {
256 SELECT toreal(1);
257 } {1.0}
258 do_execsql_test func4-2.20 {
259 SELECT toreal(-1.79769313486232e308 - 1);
260 } {-Inf}
261 do_execsql_test func4-2.21 {
262 SELECT toreal(-1.79769313486232e308);
263 } {-Inf}
264 do_execsql_test func4-2.22 {
265 SELECT toreal(-1.79769313486232e308 + 1);
266 } {-Inf}
267 do_execsql_test func4-2.23 {
268 SELECT toreal(-9223372036854775808 - 1);
269 } {-9.223372036854776e+18}
270 do_execsql_test func4-2.24 {
271 SELECT toreal(-9223372036854775808);
272 } {-9.223372036854776e+18}
273 if {$highPrecision(2)} {
274 do_execsql_test func4-2.25 {
275 SELECT toreal(-9223372036854775808 + 1);
276 } {{}}
277 }
278 do_execsql_test func4-2.26 {
279 SELECT toreal(-9223372036854775807 - 1);
280 } {-9.223372036854776e+18}
281 if {$highPrecision(2)} {
282 do_execsql_test func4-2.27 {
283 SELECT toreal(-9223372036854775807);
284 } {{}}
285 do_execsql_test func4-2.28 {
286 SELECT toreal(-9223372036854775807 + 1);
287 } {{}}
288 }
289 do_execsql_test func4-2.29 {
290 SELECT toreal(-2147483648 - 1);
291 } {-2147483649.0}
292 do_execsql_test func4-2.30 {
293 SELECT toreal(-2147483648);
294 } {-2147483648.0}
295 do_execsql_test func4-2.31 {
296 SELECT toreal(-2147483648 + 1);
297 } {-2147483647.0}
298 do_execsql_test func4-2.32 {
299 SELECT toreal(2147483647 - 1);
300 } {2147483646.0}
301 do_execsql_test func4-2.33 {
302 SELECT toreal(2147483647);
303 } {2147483647.0}
304 do_execsql_test func4-2.34 {
305 SELECT toreal(2147483647 + 1);
306 } {2147483648.0}
307 if {$highPrecision(2)} {
308 do_execsql_test func4-2.35 {
309 SELECT toreal(9223372036854775807 - 1);
310 } {{}}
311 if {$highPrecision(1)} {
312 do_execsql_test func4-2.36 {
313 SELECT toreal(9223372036854775807);
314 } {{}}
315 }
316 }
317 do_execsql_test func4-2.37 {
318 SELECT toreal(9223372036854775807 + 1);
319 } {9.223372036854776e+18}
320 do_execsql_test func4-2.38 {
321 SELECT toreal(1.79769313486232e308 - 1);
322 } {Inf}
323 do_execsql_test func4-2.39 {
324 SELECT toreal(1.79769313486232e308);
325 } {Inf}
326 do_execsql_test func4-2.40 {
327 SELECT toreal(1.79769313486232e308 + 1);
328 } {Inf}
329 do_execsql_test func4-2.41 {
330 SELECT toreal(4503599627370496 - 1);
331 } {4503599627370495.0}
332 do_execsql_test func4-2.42 {
333 SELECT toreal(4503599627370496);
334 } {4503599627370496.0}
335 do_execsql_test func4-2.43 {
336 SELECT toreal(4503599627370496 + 1);
337 } {4503599627370497.0}
338 do_execsql_test func4-2.44 {
339 SELECT toreal(9007199254740992 - 1);
340 } {9007199254740991.0}
341 do_execsql_test func4-2.45 {
342 SELECT toreal(9007199254740992);
343 } {9007199254740992.0}
344 if {$highPrecision(2)} {
345 do_execsql_test func4-2.46 {
346 SELECT toreal(9007199254740992 + 1);
347 } {{}}
348 }
349 do_execsql_test func4-2.47 {
350 SELECT toreal(9007199254740992 + 2);
351 } {9007199254740994.0}
352 do_execsql_test func4-2.48 {
353 SELECT toreal(tointeger(9223372036854775808) - 1);
354 } {{}}
355 if {$highPrecision(1)} {
356 do_execsql_test func4-2.49 {
357 SELECT toreal(tointeger(9223372036854775808));
358 } {{}}
359 do_execsql_test func4-2.50 {
360 SELECT toreal(tointeger(9223372036854775808) + 1);
361 } {{}}
362 }
363 do_execsql_test func4-2.51 {
364 SELECT toreal(tointeger(18446744073709551616) - 1);
365 } {{}}
366 do_execsql_test func4-2.52 {
367 SELECT toreal(tointeger(18446744073709551616));
368 } {{}}
369 do_execsql_test func4-2.53 {
370 SELECT toreal(tointeger(18446744073709551616) + 1);
371 } {{}}
372 }
373
374 ifcapable check {
375 do_execsql_test func4-3.1 {
376 CREATE TABLE t1(
377 x INTEGER CHECK(tointeger(x) IS NOT NULL)
378 );
379 } {}
380 do_test func4-3.2 {
381 catchsql {
382 INSERT INTO t1 (x) VALUES (NULL);
383 }
384 } {1 {CHECK constraint failed: t1}}
385 do_test func4-3.3 {
386 catchsql {
387 INSERT INTO t1 (x) VALUES (NULL);
388 }
389 } {1 {CHECK constraint failed: t1}}
390 do_test func4-3.4 {
391 catchsql {
392 INSERT INTO t1 (x) VALUES ('');
393 }
394 } {1 {CHECK constraint failed: t1}}
395 do_test func4-3.5 {
396 catchsql {
397 INSERT INTO t1 (x) VALUES ('bad');
398 }
399 } {1 {CHECK constraint failed: t1}}
400 do_test func4-3.6 {
401 catchsql {
402 INSERT INTO t1 (x) VALUES ('1234bad');
403 }
404 } {1 {CHECK constraint failed: t1}}
405 do_test func4-3.7 {
406 catchsql {
407 INSERT INTO t1 (x) VALUES ('1234.56bad');
408 }
409 } {1 {CHECK constraint failed: t1}}
410 do_test func4-3.8 {
411 catchsql {
412 INSERT INTO t1 (x) VALUES (1234);
413 }
414 } {0 {}}
415 do_test func4-3.9 {
416 catchsql {
417 INSERT INTO t1 (x) VALUES (1234.56);
418 }
419 } {1 {CHECK constraint failed: t1}}
420 do_test func4-3.10 {
421 catchsql {
422 INSERT INTO t1 (x) VALUES ('1234');
423 }
424 } {0 {}}
425 do_test func4-3.11 {
426 catchsql {
427 INSERT INTO t1 (x) VALUES ('1234.56');
428 }
429 } {1 {CHECK constraint failed: t1}}
430 do_test func4-3.12 {
431 catchsql {
432 INSERT INTO t1 (x) VALUES (ZEROBLOB(4));
433 }
434 } {1 {CHECK constraint failed: t1}}
435 do_test func4-3.13 {
436 catchsql {
437 INSERT INTO t1 (x) VALUES (X'');
438 }
439 } {1 {CHECK constraint failed: t1}}
440 do_test func4-3.14 {
441 catchsql {
442 INSERT INTO t1 (x) VALUES (X'1234');
443 }
444 } {1 {CHECK constraint failed: t1}}
445 do_test func4-3.15 {
446 catchsql {
447 INSERT INTO t1 (x) VALUES (X'12345678');
448 }
449 } {1 {CHECK constraint failed: t1}}
450 do_test func4-3.16 {
451 catchsql {
452 INSERT INTO t1 (x) VALUES ('1234.00');
453 }
454 } {1 {CHECK constraint failed: t1}}
455 do_test func4-3.17 {
456 catchsql {
457 INSERT INTO t1 (x) VALUES (1234.00);
458 }
459 } {0 {}}
460 do_test func4-3.18 {
461 catchsql {
462 INSERT INTO t1 (x) VALUES ('-9223372036854775809');
463 }
464 } {1 {CHECK constraint failed: t1}}
465 if {$highPrecision(1)} {
466 do_test func4-3.19 {
467 catchsql {
468 INSERT INTO t1 (x) VALUES (9223372036854775808);
469 }
470 } {1 {CHECK constraint failed: t1}}
471 }
472 do_execsql_test func4-3.20 {
473 SELECT x FROM t1 ORDER BY x;
474 } {1234 1234 1234}
475
476 ifcapable floatingpoint {
477 do_execsql_test func4-4.1 {
478 CREATE TABLE t2(
479 x REAL CHECK(toreal(x) IS NOT NULL)
480 );
481 } {}
482 do_test func4-4.2 {
483 catchsql {
484 INSERT INTO t2 (x) VALUES (NULL);
485 }
486 } {1 {CHECK constraint failed: t2}}
487 do_test func4-4.3 {
488 catchsql {
489 INSERT INTO t2 (x) VALUES (NULL);
490 }
491 } {1 {CHECK constraint failed: t2}}
492 do_test func4-4.4 {
493 catchsql {
494 INSERT INTO t2 (x) VALUES ('');
495 }
496 } {1 {CHECK constraint failed: t2}}
497 do_test func4-4.5 {
498 catchsql {
499 INSERT INTO t2 (x) VALUES ('bad');
500 }
501 } {1 {CHECK constraint failed: t2}}
502 do_test func4-4.6 {
503 catchsql {
504 INSERT INTO t2 (x) VALUES ('1234bad');
505 }
506 } {1 {CHECK constraint failed: t2}}
507 do_test func4-4.7 {
508 catchsql {
509 INSERT INTO t2 (x) VALUES ('1234.56bad');
510 }
511 } {1 {CHECK constraint failed: t2}}
512 do_test func4-4.8 {
513 catchsql {
514 INSERT INTO t2 (x) VALUES (1234);
515 }
516 } {0 {}}
517 do_test func4-4.9 {
518 catchsql {
519 INSERT INTO t2 (x) VALUES (1234.56);
520 }
521 } {0 {}}
522 do_test func4-4.10 {
523 catchsql {
524 INSERT INTO t2 (x) VALUES ('1234');
525 }
526 } {0 {}}
527 do_test func4-4.11 {
528 catchsql {
529 INSERT INTO t2 (x) VALUES ('1234.56');
530 }
531 } {0 {}}
532 do_test func4-4.12 {
533 catchsql {
534 INSERT INTO t2 (x) VALUES (ZEROBLOB(4));
535 }
536 } {1 {CHECK constraint failed: t2}}
537 do_test func4-4.13 {
538 catchsql {
539 INSERT INTO t2 (x) VALUES (X'');
540 }
541 } {1 {CHECK constraint failed: t2}}
542 do_test func4-4.14 {
543 catchsql {
544 INSERT INTO t2 (x) VALUES (X'1234');
545 }
546 } {1 {CHECK constraint failed: t2}}
547 do_test func4-4.15 {
548 catchsql {
549 INSERT INTO t2 (x) VALUES (X'12345678');
550 }
551 } {1 {CHECK constraint failed: t2}}
552 do_execsql_test func4-4.16 {
553 SELECT x FROM t2 ORDER BY x;
554 } {1234.0 1234.0 1234.56 1234.56}
555 }
556 }
557
558 ifcapable floatingpoint {
559 do_execsql_test func4-5.1 {
560 SELECT tointeger(toreal('1234'));
561 } {1234}
562 do_execsql_test func4-5.2 {
563 SELECT tointeger(toreal(-1));
564 } {-1}
565 do_execsql_test func4-5.3 {
566 SELECT tointeger(toreal(-0));
567 } {0}
568 do_execsql_test func4-5.4 {
569 SELECT tointeger(toreal(0));
570 } {0}
571 do_execsql_test func4-5.5 {
572 SELECT tointeger(toreal(1));
573 } {1}
574 do_execsql_test func4-5.6 {
575 SELECT tointeger(toreal(-9223372036854775808 - 1));
576 } {-9223372036854775808}
577 do_execsql_test func4-5.7 {
578 SELECT tointeger(toreal(-9223372036854775808));
579 } {-9223372036854775808}
580 if {$highPrecision(2)} {
581 do_execsql_test func4-5.8 {
582 SELECT tointeger(toreal(-9223372036854775808 + 1));
583 } {{}}
584 }
585 do_execsql_test func4-5.9 {
586 SELECT tointeger(toreal(-2147483648 - 1));
587 } {-2147483649}
588 do_execsql_test func4-5.10 {
589 SELECT tointeger(toreal(-2147483648));
590 } {-2147483648}
591 do_execsql_test func4-5.11 {
592 SELECT tointeger(toreal(-2147483648 + 1));
593 } {-2147483647}
594 do_execsql_test func4-5.12 {
595 SELECT tointeger(toreal(2147483647 - 1));
596 } {2147483646}
597 do_execsql_test func4-5.13 {
598 SELECT tointeger(toreal(2147483647));
599 } {2147483647}
600 do_execsql_test func4-5.14 {
601 SELECT tointeger(toreal(2147483647 + 1));
602 } {2147483648}
603 do_execsql_test func4-5.15 {
604 SELECT tointeger(toreal(9223372036854775807 - 1));
605 } {{}}
606 if {$highPrecision(1)} {
607 do_execsql_test func4-5.16 {
608 SELECT tointeger(toreal(9223372036854775807));
609 } {{}}
610 do_execsql_test func4-5.17 {
611 SELECT tointeger(toreal(9223372036854775807 + 1));
612 } {{}}
613 }
614 do_execsql_test func4-5.18 {
615 SELECT tointeger(toreal(4503599627370496 - 1));
616 } {4503599627370495}
617 do_execsql_test func4-5.19 {
618 SELECT tointeger(toreal(4503599627370496));
619 } {4503599627370496}
620 do_execsql_test func4-5.20 {
621 SELECT tointeger(toreal(4503599627370496 + 1));
622 } {4503599627370497}
623 do_execsql_test func4-5.21 {
624 SELECT tointeger(toreal(9007199254740992 - 1));
625 } {9007199254740991}
626 do_execsql_test func4-5.22 {
627 SELECT tointeger(toreal(9007199254740992));
628 } {9007199254740992}
629 if {$highPrecision(2)} {
630 do_execsql_test func4-5.23 {
631 SELECT tointeger(toreal(9007199254740992 + 1));
632 } {{}}
633 }
634 do_execsql_test func4-5.24 {
635 SELECT tointeger(toreal(9007199254740992 + 2));
636 } {9007199254740994}
637 if {$highPrecision(1)} {
638 do_execsql_test func4-5.25 {
639 SELECT tointeger(toreal(9223372036854775808 - 1));
640 } {{}}
641 do_execsql_test func4-5.26 {
642 SELECT tointeger(toreal(9223372036854775808));
643 } {{}}
644 do_execsql_test func4-5.27 {
645 SELECT tointeger(toreal(9223372036854775808 + 1));
646 } {{}}
647 }
648 do_execsql_test func4-5.28 {
649 SELECT tointeger(toreal(18446744073709551616 - 1));
650 } {{}}
651 do_execsql_test func4-5.29 {
652 SELECT tointeger(toreal(18446744073709551616));
653 } {{}}
654 do_execsql_test func4-5.30 {
655 SELECT tointeger(toreal(18446744073709551616 + 1));
656 } {{}}
657 }
658
659 for {set i 0} {$i < 10} {incr i} {
660 if {$i == 8} continue
661 do_execsql_test func4-6.1.$i.1 [subst {
662 SELECT tointeger(x'[string repeat 01 $i]');
663 }] {{}}
664 ifcapable floatingpoint {
665 do_execsql_test func4-6.1.$i.2 [subst {
666 SELECT toreal(x'[string repeat 01 $i]');
667 }] {{}}
668 }
669 }
670
671 do_execsql_test func4-6.2.1 {
672 SELECT tointeger(x'0102030405060708');
673 } {578437695752307201}
674 do_execsql_test func4-6.2.2 {
675 SELECT tointeger(x'0807060504030201');
676 } {72623859790382856}
677
678 ifcapable floatingpoint {
679 do_execsql_test func4-6.3.1 {
680 SELECT toreal(x'ffefffffffffffff');
681 } {-1.7976931348623157e+308}
682 do_execsql_test func4-6.3.2 {
683 SELECT toreal(x'8010000000000000');
684 } {-2.2250738585072014e-308}
685 do_execsql_test func4-6.3.3 {
686 SELECT toreal(x'c000000000000000');
687 } {-2.0}
688 do_execsql_test func4-6.3.4 {
689 SELECT toreal(x'bff0000000000000');
690 } {-1.0}
691 do_execsql_test func4-6.3.5 {
692 SELECT toreal(x'8000000000000000');
693 } {-0.0}
694 do_execsql_test func4-6.3.6 {
695 SELECT toreal(x'0000000000000000');
696 } {0.0}
697 do_execsql_test func4-6.3.7 {
698 SELECT toreal(x'3ff0000000000000');
699 } {1.0}
700 do_execsql_test func4-6.3.8 {
701 SELECT toreal(x'4000000000000000');
702 } {2.0}
703 do_execsql_test func4-6.3.9 {
704 SELECT toreal(x'0010000000000000');
705 } {2.2250738585072014e-308}
706 do_execsql_test func4-6.3.10 {
707 SELECT toreal(x'7fefffffffffffff');
708 } {1.7976931348623157e+308}
709 do_execsql_test func4-6.3.11 {
710 SELECT toreal(x'8000000000000001');
711 } {-5e-324}
712 do_execsql_test func4-6.3.12 {
713 SELECT toreal(x'800fffffffffffff');
714 } {-2.225073858507201e-308}
715 do_execsql_test func4-6.3.13 {
716 SELECT toreal(x'0000000000000001');
717 } {5e-324}
718 do_execsql_test func4-6.3.14 {
719 SELECT toreal(x'000fffffffffffff');
720 } {2.225073858507201e-308}
721 do_execsql_test func4-6.3.15 {
722 SELECT toreal(x'fff0000000000000');
723 } {-Inf}
724 do_execsql_test func4-6.3.16 {
725 SELECT toreal(x'7ff0000000000000');
726 } {Inf}
727 do_execsql_test func4-6.3.17 {
728 SELECT toreal(x'fff8000000000000');
729 } {{}}
730 do_execsql_test func4-6.3.18 {
731 SELECT toreal(x'fff0000000000001');
732 } {{}}
733 do_execsql_test func4-6.3.19 {
734 SELECT toreal(x'fff7ffffffffffff');
735 } {{}}
736 do_execsql_test func4-6.3.20 {
737 SELECT toreal(x'7ff0000000000001');
738 } {{}}
739 do_execsql_test func4-6.3.21 {
740 SELECT toreal(x'7ff7ffffffffffff');
741 } {{}}
742 do_execsql_test func4-6.3.22 {
743 SELECT toreal(x'fff8000000000001');
744 } {{}}
745 do_execsql_test func4-6.3.23 {
746 SELECT toreal(x'ffffffffffffffff');
747 } {{}}
748 do_execsql_test func4-6.3.24 {
749 SELECT toreal(x'7ff8000000000000');
750 } {{}}
751 do_execsql_test func4-6.3.25 {
752 SELECT toreal(x'7fffffffffffffff');
753 } {{}}
754 }
755
756 set tcl_precision $saved_tcl_precision
757 unset saved_tcl_precision
758 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/test/func3.test ('k') | third_party/sqlite/sqlite-src-3080704/test/func5.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698