3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
12 # Tests of the iee754 extension
15 set testdir [file dirname $argv0]
16 source $testdir/tester.tcl
18 load_static_extension db ieee754
20 foreach {id float rep} {
26 6 4.9406564584124654e-324 4503599627370497,-1075
27 7 2.2250738585072009e-308 9007199254740991,-1075
28 8 2.2250738585072014e-308 1,-1022
30 do_test ieee754-100-$id-1 {
31 db eval "SELECT ieee754($float);"
33 do_test ieee754-100-$id-2 {
34 db eval "SELECT ieee754($rep)==$float;"
37 do_test ieee754-100-$id-3 {
38 db eval "SELECT ieee754(-$float);"
40 do_test ieee754-100-$id-4 {
41 db eval "SELECT ieee754(-$rep)==-$float;"
48 db eval {SELECT ieee754(1,1024), ieee754(4503599627370495,972);}
50 } {inf 1.79769313486232e+308}
53 db eval {SELECT ieee754(-1,1024), ieee754(-4503599627370495,972);}
55 } {-inf -1.79769313486232e+308}
56 do_execsql_test ieee754-112 {
57 SELECT ieee754(4503599627370495,973) is null;