CoolFace
Modelpublic

AryaWu/sqlite

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
round1.test43 linesDownload Raw Back to test
1# 2019-05-242#3# The author disclaims copyright to this source code.  In place of4# 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# Test cases for rounding behavior of floating point values.12#13# TESTRUNNER: slow14 15set testdir [file dirname $argv0]16source $testdir/tester.tcl17set testprefix round118 19expr srand(0)20unset -nocomplain iTest21for {set iTest 1} {$iTest<=50000} {incr iTest} {22   set x1 [expr int(rand()*100000)]23   set x2 [expr int(rand()*100000)+1000*int(rand()*10000)]24   set n [expr int(rand()*8)+1]25   set x3 [string range [format %09d $x2] [expr {9-$n}] end]26   set r $x1.$x327   set ans [string trimright $r 0]28   if {[string match *. $ans]} {set ans ${ans}0}29   do_test $iTest/$n/${r}4=>$ans {30     set x [db one "SELECT round(${r}4,$n)"]31   } $ans32   set x4 [string range [format %09d [expr {$x2+1}]] [expr {9-$n}] end]33   if {[string trim $x3 9]==""} {incr x1}34   set r2 $x1.$x435   set ans [string trimright $r2 0]36   if {[string match *. $ans]} {set ans ${ans}0}37   do_test $iTest/$n/${r}6=>$ans {38     set x [db one "SELECT round(${r}6,$n)"]39   } $ans40}41 42finish_test43