aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <>2023-06-28 12:02:48 +0000
committerdrh <>2023-06-28 12:02:48 +0000
commit8fbb335d9f73dfa61b6da3f99e3408435297b850 (patch)
tree611dcab4bc84f1fdce9bb294985dac9d23106c19 /src/sqliteInt.h
parent60783f47b26fd584f8a7879697092557ecd0c613 (diff)
parentd847c73153ba7eb77a5b773a691ad0ca6b879157 (diff)
downloadsqlite-8fbb335d9f73dfa61b6da3f99e3408435297b850.tar.gz
sqlite-8fbb335d9f73dfa61b6da3f99e3408435297b850.zip
Enhance the SUM() aggregate (and related AVG() and TOTAL()) so that the running
sum is accurate to about 100 bits. FossilOrigin-Name: a915f15a916af698e0cef46c8b3e7ed11bda19349179d2d414073cd39c4cce24
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 91b78710c..332048f43 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -1234,6 +1234,7 @@ typedef struct Cte Cte;
typedef struct CteUse CteUse;
typedef struct Db Db;
typedef struct DbFixer DbFixer;
+typedef struct DblDbl DblDbl;
typedef struct Schema Schema;
typedef struct Expr Expr;
typedef struct ExprList ExprList;
@@ -5035,6 +5036,15 @@ int sqlite3FixSrcList(DbFixer*, SrcList*);
int sqlite3FixSelect(DbFixer*, Select*);
int sqlite3FixExpr(DbFixer*, Expr*);
int sqlite3FixTriggerStep(DbFixer*, TriggerStep*);
+
+
+/* Representation of an extended precision floating point value.
+** The actual value is the sum r and rr. See the dbldbl.c file.
+*/
+void sqlite3DDFromInt(i64,double*);
+void sqlite3DDAdd(double,double,double,double,double*);
+void sqlite3DDSub(double,double,double,double,double*);
+
int sqlite3RealSameAsInt(double,sqlite3_int64);
i64 sqlite3RealToI64(double);
int sqlite3Int64ToText(i64,char*);