Module Name: src Committed By: christos Date: Mon Sep 4 23:55:54 UTC 2023
Modified Files: src/external/public-domain/sqlite/dist: sqlite3.c Log Message: fix the vax build. we could do better by choosing larger exponents. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/external/public-domain/sqlite/dist/sqlite3.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/public-domain/sqlite/dist/sqlite3.c diff -u src/external/public-domain/sqlite/dist/sqlite3.c:1.21 src/external/public-domain/sqlite/dist/sqlite3.c:1.22 --- src/external/public-domain/sqlite/dist/sqlite3.c:1.21 Mon Sep 4 13:05:24 2023 +++ src/external/public-domain/sqlite/dist/sqlite3.c Mon Sep 4 19:55:53 2023 @@ -34785,7 +34785,7 @@ do_atof_calc: if( e==0 ){ *pResult = s; - }else + }else #ifndef __vax__ if( sqlite3Config.bUseLongDouble ){ LONGDOUBLE_TYPE r = (LONGDOUBLE_TYPE)s; @@ -34844,6 +34844,7 @@ do_atof_calc: *pResult = rr[0]+rr[1]; if( sqlite3IsNaN(*pResult) ) *pResult = 1e300*1e300; #else + { LONGDOUBLE_TYPE scale = 1; /* 1.0e+22 is the largest power of 10 than can be ** represented exactly. */ @@ -35205,11 +35206,15 @@ SQLITE_PRIVATE void sqlite3FpDecode(FpDe if( sqlite3Config.bUseLongDouble ){ LONGDOUBLE_TYPE rr = r; if( rr>=1.0e+19 ){ +#ifndef __vax__ while( rr>=1.0e+119L ){ exp+=100; rr *= 1.0e-100L; } +#endif while( rr>=1.0e+29L ){ exp+=10; rr *= 1.0e-10L; } while( rr>=1.0e+19L ){ exp++; rr *= 1.0e-1L; } }else{ +#ifndef __vax__ while( rr<1.0e-97L ){ exp-=100; rr *= 1.0e+100L; } +#endif while( rr<1.0e+07L ){ exp-=10; rr *= 1.0e+10L; } while( rr<1.0e+17L ){ exp--; rr *= 1.0e+1L; } } @@ -35228,10 +35233,12 @@ SQLITE_PRIVATE void sqlite3FpDecode(FpDe rr[0] = r; rr[1] = 0.0; if( rr[0]>1.84e+19 ){ +#ifndef __vax__ while( rr[0]>1.84e+119 ){ exp += 100; dekkerMul2(rr, 1.0e-100, -1.99918998026028836196e-117); } +#endif while( rr[0]>1.84e+29 ){ exp += 10; dekkerMul2(rr, 1.0e-10, -3.6432197315497741579e-27); @@ -35241,10 +35248,12 @@ SQLITE_PRIVATE void sqlite3FpDecode(FpDe dekkerMul2(rr, 1.0e-01, -5.5511151231257827021e-18); } }else{ +#ifndef __vax__ while( rr[0]<1.84e-82 ){ exp -= 100; dekkerMul2(rr, 1.0e+100, -1.5902891109759918046e+83); } +#endif while( rr[0]<1.84e+08 ){ exp -= 10; dekkerMul2(rr, 1.0e+10, 0.0);