On Apr 3, 2019, at 6:30 AM, Lifepillar <lifepil...@icloud.com> wrote:
> 
> By default, the precision is limited to 39 digits and exponents must be
> in the range [-99,999,999,+99,999,999] (for some mathematical
> operations, the exponent must not exceed 99,999 in absolute value).

That’s enough. :)

I once calculated that 30 digits was enough to give a precise location to every 
particle the size of a grain of sand or larger in the known universe.  You just 
need to define as many columns in your database as is needed for your physics: 
3 for normal 3-space, 4 for spacetime, 10, 11, or 26 for string theory…

9 extra digits gets you down to the “large molecule” scale.

5+ digits worth of negative exponents is enough to get down to the sub-atomic 
scale.

Put another way, your defaults are already so large that no conceivable 
physical entity could build a computer big enough to simultaneously contain 
every distinct state your data type represents.  It’ll do. :)

I did the original calculation because someone was complaining that MySQL’s 
default — at the time — of 30 digits to the left of the decimal point wasn’t 
enough for their application.  MySQL’s decimal type then allows another 30 
digits to the *right* of the decimal point.  The original poster in that thread 
remained silent when challenged to divulge what application required more 
precision than that.

(The current MySQL limit default for the DECIMAL type is 65 total digits, with 
a configurable number of digits the right of the decimal, up to 30.)

> Also, this is my first public Fossil repository: if you have any
> suggestions on how I should improve its configuration, let me know.

The CRLF line endings in the decNumber directory can cause problems if you ever 
cause a merge conflict.

Fossil has no problems doing merges on arbitrary data, but when it writes out 
the conflict-resolution files to help the user manually fix a merge conflict, 
it does so with the assumption that you’re using LF-only line endings, causing 
stray CRs in the output.

Unless you really need CRLF for some reason, it’s best to convert those line 
endings.  That’ll also avoid the need to set the Fossil crlf-glob setting.

> Git mirror (which exists only for testing `fossil git export`...):
> 
>    https://github.com/lifepillar/sqlite3decimal-mirror

I wouldn’t say “only.”  If nothing else, it’s advertising for your project, and 
it’ll make it more likely to show up in web searches.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to