SQLite
Check-in [5139ea62a8]
Not logged in
Overview
Comment:Improvements to integer/float comparisons on architectures that lack a "long double" type.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:5139ea62a8a6c6dc6558c337de39bcbadd26f6515742263387be03c862c78cf0
User & Date: drh 2018-05-18 14:24:23
Context
2018-05-18
17:11
In the CLI, detect and report errors on sqlite3_close(). Clear global variables prior to exit to so that valgrind can better detect resource leaks. check-in: e3b2e0a078 user: drh tags: trunk
14:24
Improvements to integer/float comparisons on architectures that lack a "long double" type. check-in: 5139ea62a8 user: drh tags: trunk
14:19
Remove incorrect NEVER() macro added by the previous check-in. Closed-Leaf check-in: 3d66251113 user: drh tags: int-float-compare
2018-05-17
20:04
In the CLI with the -A command, if the file does not previously exist and its name looks like a ZIP archive name, then create it as a ZIP archive. check-in: 33dc8fad7f user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/vdbeaux.c.

3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
    if( x<r ) return -1;
    if( x>r ) return +1;
    return 0;
  }else{
    i64 y;
    double s;
    if( r<-9223372036854775808.0 ) return +1;
    if( r>9223372036854775807.0 ) return -1;
    y = (i64)r;
    if( i<y ) return -1;
    if( i>y ){
      if( y==SMALLEST_INT64 && r>0.0 ) return -1;
      return +1;
    }
    s = (double)i;
    if( s<r ) return -1;
    if( s>r ) return +1;
    return 0;
  }
}








|


<
<
|
<







3913
3914
3915
3916
3917
3918
3919
3920
3921
3922


3923

3924
3925
3926
3927
3928
3929
3930
    if( x<r ) return -1;
    if( x>r ) return +1;
    return 0;
  }else{
    i64 y;
    double s;
    if( r<-9223372036854775808.0 ) return +1;
    if( r>=9223372036854775808.0 ) return -1;
    y = (i64)r;
    if( i<y ) return -1;


    if( i>y ) return +1;

    s = (double)i;
    if( s<r ) return -1;
    if( s>r ) return +1;
    return 0;
  }
}