Index: Doc/Extra/version.html
==================================================================
--- Doc/Extra/version.html
+++ Doc/Extra/version.html
@@ -49,10 +49,11 @@
Add static Execute method to the SQLiteCommand class.
Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.
When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.
Support automatic value conversions for columns with a declared type of BIGUINT, INTEGER8, INTEGER16, INTEGER32, INTEGER64, SMALLUINT, TINYSINT, UNSIGNEDINTEGER, UNSIGNEDINTEGER8, UNSIGNEDINTEGER16, UNSIGNEDINTEGER32, UNSIGNEDINTEGER64, INT8, INT16, INT32, INT64, UINT, UINT8, UINT16, UINT32, UINT64, or ULONG.
Remove AUTOINCREMENT from the column type name map. ** Potentially Incompatible Change **
+ Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584]. ** Potentially Incompatible Change **
1.0.84.0 - January 9, 2013
- Updated to SQLite 3.7.15.2.
- Explicitly dispose of all SQLiteCommand objects managed by the DbDataAdapter class. Fix for [6434e23a0f].
Index: System.Data.SQLite/SQLite3.cs
==================================================================
--- System.Data.SQLite/SQLite3.cs
+++ System.Data.SQLite/SQLite3.cs
@@ -1146,15 +1146,40 @@
#else
UnsafeNativeMethods.sqlite3_column_double_interop(stmt._sqlite_stmt, index, out value);
#endif
return value;
}
+
+ internal override sbyte GetSByte(SQLiteStatement stmt, int index)
+ {
+ return unchecked((sbyte)(GetInt32(stmt, index) & byte.MaxValue));
+ }
+
+ internal override byte GetByte(SQLiteStatement stmt, int index)
+ {
+ return unchecked((byte)(GetInt32(stmt, index) & byte.MaxValue));
+ }
+
+ internal override short GetInt16(SQLiteStatement stmt, int index)
+ {
+ return unchecked((short)(GetInt32(stmt, index) & ushort.MaxValue));
+ }
+
+ internal override ushort GetUInt16(SQLiteStatement stmt, int index)
+ {
+ return unchecked((ushort)(GetInt32(stmt, index) & ushort.MaxValue));
+ }
internal override int GetInt32(SQLiteStatement stmt, int index)
{
return UnsafeNativeMethods.sqlite3_column_int(stmt._sqlite_stmt, index);
}
+
+ internal override uint GetUInt32(SQLiteStatement stmt, int index)
+ {
+ return unchecked((uint)GetInt32(stmt, index));
+ }
internal override long GetInt64(SQLiteStatement stmt, int index)
{
long value;
#if !PLATFORM_COMPACTFRAMEWORK
@@ -1162,10 +1187,15 @@
#else
UnsafeNativeMethods.sqlite3_column_int64_interop(stmt._sqlite_stmt, index, out value);
#endif
return value;
}
+
+ internal override ulong GetUInt64(SQLiteStatement stmt, int index)
+ {
+ return unchecked((ulong)GetInt64(stmt, index));
+ }
internal override string GetText(SQLiteStatement stmt, int index)
{
#if !SQLITE_STANDARD
int len;
@@ -1912,16 +1942,21 @@
return b;
case TypeAffinity.DateTime:
return GetDateTime(stmt, index);
case TypeAffinity.Double:
if (t == null) return GetDouble(stmt, index);
- else
- return Convert.ChangeType(GetDouble(stmt, index), t, null);
+ return Convert.ChangeType(GetDouble(stmt, index), t, null);
case TypeAffinity.Int64:
if (t == null) return GetInt64(stmt, index);
- else
- return Convert.ChangeType(GetInt64(stmt, index), t, null);
+ if (t == typeof(SByte)) return GetSByte(stmt, index);
+ if (t == typeof(Byte)) return GetByte(stmt, index);
+ if (t == typeof(Int16)) return GetInt16(stmt, index);
+ if (t == typeof(UInt16)) return GetUInt16(stmt, index);
+ if (t == typeof(Int32)) return GetInt32(stmt, index);
+ if (t == typeof(UInt32)) return GetUInt32(stmt, index);
+ if (t == typeof(UInt64)) return GetUInt64(stmt, index);
+ return Convert.ChangeType(GetInt64(stmt, index), t, null);
default:
return GetText(stmt, index);
}
}
Index: System.Data.SQLite/SQLiteBase.cs
==================================================================
--- System.Data.SQLite/SQLiteBase.cs
+++ System.Data.SQLite/SQLiteBase.cs
@@ -161,12 +161,18 @@
internal abstract string ColumnTableName(SQLiteStatement stmt, int index);
internal abstract void ColumnMetaData(string dataBase, string table, string column, out string dataType, out string collateSequence, out bool notNull, out bool primaryKey, out bool autoIncrement);
internal abstract void GetIndexColumnExtendedInfo(string database, string index, string column, out int sortMode, out int onError, out string collationSequence);
internal abstract double GetDouble(SQLiteStatement stmt, int index);
+ internal abstract SByte GetSByte(SQLiteStatement stmt, int index);
+ internal abstract Byte GetByte(SQLiteStatement stmt, int index);
+ internal abstract Int16 GetInt16(SQLiteStatement stmt, int index);
+ internal abstract UInt16 GetUInt16(SQLiteStatement stmt, int index);
internal abstract Int32 GetInt32(SQLiteStatement stmt, int index);
+ internal abstract UInt32 GetUInt32(SQLiteStatement stmt, int index);
internal abstract Int64 GetInt64(SQLiteStatement stmt, int index);
+ internal abstract UInt64 GetUInt64(SQLiteStatement stmt, int index);
internal abstract string GetText(SQLiteStatement stmt, int index);
internal abstract long GetBytes(SQLiteStatement stmt, int index, int nDataoffset, byte[] bDest, int nStart, int nLength);
internal abstract long GetChars(SQLiteStatement stmt, int index, int nDataoffset, char[] bDest, int nStart, int nLength);
internal abstract DateTime GetDateTime(SQLiteStatement stmt, int index);
internal abstract bool IsNull(SQLiteStatement stmt, int index);
Index: Tests/tkt-c010fa6584.eagle
==================================================================
--- Tests/tkt-c010fa6584.eagle
+++ Tests/tkt-c010fa6584.eagle
@@ -107,20 +107,16 @@
set code [catch {
sql execute -execute scalar $db [subst {
SELECT $name FROM t1 WHERE a00 = '$name' LIMIT 1 OFFSET $offset;
}]
} result]
+
set match [expr {$result eq [lindex $values $offset]}]
- if {$match} then {
- lappend results [list \
- $name $offset $match [lindex $values $offset]]
- } else {
- lappend results [list \
- $name $offset $match [lindex $values $offset] \
- $code [expr {$code == 0 ? $result : [string map [list \
- "EXCEPTION System.OverflowException" overflow] $errorCode]}]]
- }
+
+ lappend results [list \
+ $name $offset $match [lindex $values $offset] \
+ $code [expr {$code == 0 ? $result : $errorCode}]]
}
}
set results
} -cleanup {
@@ -129,354 +125,404 @@
unset -nocomplain match result code offset count results value name index \
values db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
{{a01 0 False -9223372036854775809 0 -9.22337203685478E+18} {a01 1 True\
--9223372036854775808} {a01 2 True -2147483649} {a01 3 True -2147483648} {a01 4\
-True -32769} {a01 5 True -32768} {a01 6 True -129} {a01 7 True -128} {a01 8\
-True -1} {a01 9 True 0} {a01 10 True 1} {a01 11 True 127} {a01 12 True 128}\
-{a01 13 True 255} {a01 14 True 256} {a01 15 True 32767} {a01 16 True 32768}\
-{a01 17 True 65535} {a01 18 True 65536} {a01 19 True 2147483647} {a01 20 True\
-2147483648} {a01 21 True 4294967295} {a01 22 True 4294967296} {a01 23 True\
-9223372036854775807} {a01 24 False 9223372036854775808 0 9.22337203685478E+18}\
-{a01 25 False 18446744073709551615 0 1.84467440737096E+19} {a01 26 False\
-18446744073709551616 0 1.84467440737096E+19} {a02 0 False -9223372036854775809\
-0 -9.22337203685478e+18} {a02 1 True -9223372036854775808} {a02 2 True\
--2147483649} {a02 3 True -2147483648} {a02 4 True -32769} {a02 5 True -32768}\
-{a02 6 True -129} {a02 7 True -128} {a02 8 True -1} {a02 9 True 0} {a02 10 True\
-1} {a02 11 True 127} {a02 12 True 128} {a02 13 True 255} {a02 14 True 256} {a02\
-15 True 32767} {a02 16 True 32768} {a02 17 True 65535} {a02 18 True 65536} {a02\
-19 True 2147483647} {a02 20 True 2147483648} {a02 21 True 4294967295} {a02 22\
-True 4294967296} {a02 23 True 9223372036854775807} {a02 24 False\
-9223372036854775808 0 9.22337203685478e+18} {a02 25 False 18446744073709551615\
-0 1.84467440737096e+19} {a02 26 False 18446744073709551616 0\
+-9223372036854775808 0 -9223372036854775808} {a01 2 True -2147483649 0\
+-2147483649} {a01 3 True -2147483648 0 -2147483648} {a01 4 True -32769 0\
+-32769} {a01 5 True -32768 0 -32768} {a01 6 True -129 0 -129} {a01 7 True -128\
+0 -128} {a01 8 True -1 0 -1} {a01 9 True 0 0 0} {a01 10 True 1 0 1} {a01 11\
+True 127 0 127} {a01 12 True 128 0 128} {a01 13 True 255 0 255} {a01 14 True\
+256 0 256} {a01 15 True 32767 0 32767} {a01 16 True 32768 0 32768} {a01 17 True\
+65535 0 65535} {a01 18 True 65536 0 65536} {a01 19 True 2147483647 0\
+2147483647} {a01 20 True 2147483648 0 2147483648} {a01 21 True 4294967295 0\
+4294967295} {a01 22 True 4294967296 0 4294967296} {a01 23 True\
+9223372036854775807 0 9223372036854775807} {a01 24 False 9223372036854775808 0\
+9.22337203685478E+18} {a01 25 False 18446744073709551615 0\
+1.84467440737096E+19} {a01 26 False 18446744073709551616 0\
+1.84467440737096E+19} {a02 0 False -9223372036854775809 0\
+-9.22337203685478e+18} {a02 1 True -9223372036854775808 0 -9223372036854775808}\
+{a02 2 True -2147483649 0 -2147483649} {a02 3 True -2147483648 0 -2147483648}\
+{a02 4 True -32769 0 -32769} {a02 5 True -32768 0 -32768} {a02 6 True -129 0\
+-129} {a02 7 True -128 0 -128} {a02 8 True -1 0 -1} {a02 9 True 0 0 0} {a02 10\
+True 1 0 1} {a02 11 True 127 0 127} {a02 12 True 128 0 128} {a02 13 True 255 0\
+255} {a02 14 True 256 0 256} {a02 15 True 32767 0 32767} {a02 16 True 32768 0\
+32768} {a02 17 True 65535 0 65535} {a02 18 True 65536 0 65536} {a02 19 True\
+2147483647 0 2147483647} {a02 20 True 2147483648 0 2147483648} {a02 21 True\
+4294967295 0 4294967295} {a02 22 True 4294967296 0 4294967296} {a02 23 True\
+9223372036854775807 0 9223372036854775807} {a02 24 False 9223372036854775808 0\
+9.22337203685478e+18} {a02 25 False 18446744073709551615 0\
+1.84467440737096e+19} {a02 26 False 18446744073709551616 0\
1.84467440737096e+19} {a03 0 False -9223372036854775809 0 -9223372036854775808}\
-{a03 1 True -9223372036854775808} {a03 2 True -2147483649} {a03 3 True\
--2147483648} {a03 4 True -32769} {a03 5 True -32768} {a03 6 True -129} {a03 7\
-True -128} {a03 8 True -1} {a03 9 True 0} {a03 10 True 1} {a03 11 True 127}\
-{a03 12 True 128} {a03 13 True 255} {a03 14 True 256} {a03 15 True 32767} {a03\
-16 True 32768} {a03 17 True 65535} {a03 18 True 65536} {a03 19 True 2147483647}\
-{a03 20 True 2147483648} {a03 21 True 4294967295} {a03 22 True 4294967296} {a03\
-23 True 9223372036854775807} {a03 24 False 9223372036854775808 0\
+{a03 1 True -9223372036854775808 0 -9223372036854775808} {a03 2 True\
+-2147483649 0 -2147483649} {a03 3 True -2147483648 0 -2147483648} {a03 4 True\
+-32769 0 -32769} {a03 5 True -32768 0 -32768} {a03 6 True -129 0 -129} {a03 7\
+True -128 0 -128} {a03 8 True -1 0 -1} {a03 9 True 0 0 0} {a03 10 True 1 0 1}\
+{a03 11 True 127 0 127} {a03 12 True 128 0 128} {a03 13 True 255 0 255} {a03 14\
+True 256 0 256} {a03 15 True 32767 0 32767} {a03 16 True 32768 0 32768} {a03 17\
+True 65535 0 65535} {a03 18 True 65536 0 65536} {a03 19 True 2147483647 0\
+2147483647} {a03 20 True 2147483648 0 2147483648} {a03 21 True 4294967295 0\
+4294967295} {a03 22 True 4294967296 0 4294967296} {a03 23 True\
+9223372036854775807 0 9223372036854775807} {a03 24 False 9223372036854775808 0\
-9223372036854775808} {a03 25 False 18446744073709551615 0\
-9223372036854775808} {a03 26 False 18446744073709551616 0\
-9223372036854775808} {a04 0 False -9223372036854775809 0 9223372036854775808}\
{a04 1 False -9223372036854775808 0 9223372036854775808} {a04 2 False\
-2147483649 0 18446744071562067967} {a04 3 False -2147483648 0\
18446744071562067968} {a04 4 False -32769 0 18446744073709518847} {a04 5 False\
-32768 0 18446744073709518848} {a04 6 False -129 0 18446744073709551487} {a04 7\
False -128 0 18446744073709551488} {a04 8 False -1 0 18446744073709551615} {a04\
-9 True 0} {a04 10 True 1} {a04 11 True 127} {a04 12 True 128} {a04 13 True 255}\
-{a04 14 True 256} {a04 15 True 32767} {a04 16 True 32768} {a04 17 True 65535}\
-{a04 18 True 65536} {a04 19 True 2147483647} {a04 20 True 2147483648} {a04 21\
-True 4294967295} {a04 22 True 4294967296} {a04 23 True 9223372036854775807}\
-{a04 24 True 9223372036854775808} {a04 25 False 18446744073709551615 0\
-9223372036854775808} {a04 26 False 18446744073709551616 0 9223372036854775808}\
-{a05 0 False -9223372036854775809 0 -9223372036854775808} {a05 1 True\
--9223372036854775808} {a05 2 True -2147483649} {a05 3 True -2147483648} {a05 4\
-True -32769} {a05 5 True -32768} {a05 6 True -129} {a05 7 True -128} {a05 8\
-True -1} {a05 9 True 0} {a05 10 True 1} {a05 11 True 127} {a05 12 True 128}\
-{a05 13 True 255} {a05 14 True 256} {a05 15 True 32767} {a05 16 True 32768}\
-{a05 17 True 65535} {a05 18 True 65536} {a05 19 True 2147483647} {a05 20 True\
-2147483648} {a05 21 True 4294967295} {a05 22 True 4294967296} {a05 23 True\
-9223372036854775807} {a05 24 False 9223372036854775808 0 -9223372036854775808}\
-{a05 25 False 18446744073709551615 0 -9223372036854775808} {a05 26 False\
-18446744073709551616 0 -9223372036854775808} {a06 0 False -9223372036854775809\
-0 -9223372036854775808} {a06 1 True -9223372036854775808} {a06 2 True\
--2147483649} {a06 3 True -2147483648} {a06 4 True -32769} {a06 5 True -32768}\
-{a06 6 True -129} {a06 7 True -128} {a06 8 True -1} {a06 9 True 0} {a06 10 True\
-1} {a06 11 True 127} {a06 12 True 128} {a06 13 True 255} {a06 14 True 256} {a06\
-15 True 32767} {a06 16 True 32768} {a06 17 True 65535} {a06 18 True 65536} {a06\
-19 True 2147483647} {a06 20 True 2147483648} {a06 21 True 4294967295} {a06 22\
-True 4294967296} {a06 23 True 9223372036854775807} {a06 24 False\
-9223372036854775808 0 -9223372036854775808} {a06 25 False 18446744073709551615\
-0 -9223372036854775808} {a06 26 False 18446744073709551616 0\
--9223372036854775808} {a07 0 False -9223372036854775809 1 overflow} {a07 1\
-False -9223372036854775808 1 overflow} {a07 2 False -2147483649 1 overflow}\
-{a07 3 True -2147483648} {a07 4 True -32769} {a07 5 True -32768} {a07 6 True\
--129} {a07 7 True -128} {a07 8 True -1} {a07 9 True 0} {a07 10 True 1} {a07 11\
-True 127} {a07 12 True 128} {a07 13 True 255} {a07 14 True 256} {a07 15 True\
-32767} {a07 16 True 32768} {a07 17 True 65535} {a07 18 True 65536} {a07 19 True\
-2147483647} {a07 20 False 2147483648 1 overflow} {a07 21 False 4294967295 1\
-overflow} {a07 22 False 4294967296 1 overflow} {a07 23 False\
-9223372036854775807 1 overflow} {a07 24 False 9223372036854775808 1 overflow}\
-{a07 25 False 18446744073709551615 1 overflow} {a07 26 False\
-18446744073709551616 1 overflow} {a08 0 False -9223372036854775809 1 overflow}\
-{a08 1 False -9223372036854775808 1 overflow} {a08 2 False -2147483649 1\
-overflow} {a08 3 False -2147483648 1 overflow} {a08 4 False -32769 1 overflow}\
-{a08 5 False -32768 1 overflow} {a08 6 False -129 1 overflow} {a08 7 True -128}\
-{a08 8 True -1} {a08 9 True 0} {a08 10 True 1} {a08 11 True 127} {a08 12 False\
-128 1 overflow} {a08 13 False 255 1 overflow} {a08 14 False 256 1 overflow}\
-{a08 15 False 32767 1 overflow} {a08 16 False 32768 1 overflow} {a08 17 False\
-65535 1 overflow} {a08 18 False 65536 1 overflow} {a08 19 False 2147483647 1\
-overflow} {a08 20 False 2147483648 1 overflow} {a08 21 False 4294967295 1\
-overflow} {a08 22 False 4294967296 1 overflow} {a08 23 False\
-9223372036854775807 1 overflow} {a08 24 False 9223372036854775808 1 overflow}\
-{a08 25 False 18446744073709551615 1 overflow} {a08 26 False\
-18446744073709551616 1 overflow} {a09 0 False -9223372036854775809 1 overflow}\
-{a09 1 False -9223372036854775808 1 overflow} {a09 2 False -2147483649 1\
-overflow} {a09 3 False -2147483648 1 overflow} {a09 4 False -32769 1 overflow}\
-{a09 5 True -32768} {a09 6 True -129} {a09 7 True -128} {a09 8 True -1} {a09 9\
-True 0} {a09 10 True 1} {a09 11 True 127} {a09 12 True 128} {a09 13 True 255}\
-{a09 14 True 256} {a09 15 True 32767} {a09 16 False 32768 1 overflow} {a09 17\
-False 65535 1 overflow} {a09 18 False 65536 1 overflow} {a09 19 False\
-2147483647 1 overflow} {a09 20 False 2147483648 1 overflow} {a09 21 False\
-4294967295 1 overflow} {a09 22 False 4294967296 1 overflow} {a09 23 False\
-9223372036854775807 1 overflow} {a09 24 False 9223372036854775808 1 overflow}\
-{a09 25 False 18446744073709551615 1 overflow} {a09 26 False\
-18446744073709551616 1 overflow} {a10 0 False -9223372036854775809 1 overflow}\
-{a10 1 False -9223372036854775808 1 overflow} {a10 2 False -2147483649 1\
-overflow} {a10 3 True -2147483648} {a10 4 True -32769} {a10 5 True -32768} {a10\
-6 True -129} {a10 7 True -128} {a10 8 True -1} {a10 9 True 0} {a10 10 True 1}\
-{a10 11 True 127} {a10 12 True 128} {a10 13 True 255} {a10 14 True 256} {a10 15\
-True 32767} {a10 16 True 32768} {a10 17 True 65535} {a10 18 True 65536} {a10 19\
-True 2147483647} {a10 20 False 2147483648 1 overflow} {a10 21 False 4294967295\
-1 overflow} {a10 22 False 4294967296 1 overflow} {a10 23 False\
-9223372036854775807 1 overflow} {a10 24 False 9223372036854775808 1 overflow}\
-{a10 25 False 18446744073709551615 1 overflow} {a10 26 False\
-18446744073709551616 1 overflow} {a11 0 False -9223372036854775809 0\
--9223372036854775808} {a11 1 True -9223372036854775808} {a11 2 True\
--2147483649} {a11 3 True -2147483648} {a11 4 True -32769} {a11 5 True -32768}\
-{a11 6 True -129} {a11 7 True -128} {a11 8 True -1} {a11 9 True 0} {a11 10 True\
-1} {a11 11 True 127} {a11 12 True 128} {a11 13 True 255} {a11 14 True 256} {a11\
-15 True 32767} {a11 16 True 32768} {a11 17 True 65535} {a11 18 True 65536} {a11\
-19 True 2147483647} {a11 20 True 2147483648} {a11 21 True 4294967295} {a11 22\
-True 4294967296} {a11 23 True 9223372036854775807} {a11 24 False\
-9223372036854775808 0 -9223372036854775808} {a11 25 False 18446744073709551615\
-0 -9223372036854775808} {a11 26 False 18446744073709551616 0\
--9223372036854775808} {a12 0 False -9223372036854775809 0 -9223372036854775808}\
-{a12 1 True -9223372036854775808} {a12 2 True -2147483649} {a12 3 True\
--2147483648} {a12 4 True -32769} {a12 5 True -32768} {a12 6 True -129} {a12 7\
-True -128} {a12 8 True -1} {a12 9 True 0} {a12 10 True 1} {a12 11 True 127}\
-{a12 12 True 128} {a12 13 True 255} {a12 14 True 256} {a12 15 True 32767} {a12\
-16 True 32768} {a12 17 True 65535} {a12 18 True 65536} {a12 19 True 2147483647}\
-{a12 20 True 2147483648} {a12 21 True 4294967295} {a12 22 True 4294967296} {a12\
-23 True 9223372036854775807} {a12 24 False 9223372036854775808 0\
+9 True 0 0 0} {a04 10 True 1 0 1} {a04 11 True 127 0 127} {a04 12 True 128 0\
+128} {a04 13 True 255 0 255} {a04 14 True 256 0 256} {a04 15 True 32767 0\
+32767} {a04 16 True 32768 0 32768} {a04 17 True 65535 0 65535} {a04 18 True\
+65536 0 65536} {a04 19 True 2147483647 0 2147483647} {a04 20 True 2147483648 0\
+2147483648} {a04 21 True 4294967295 0 4294967295} {a04 22 True 4294967296 0\
+4294967296} {a04 23 True 9223372036854775807 0 9223372036854775807} {a04 24\
+True 9223372036854775808 0 9223372036854775808} {a04 25 False\
+18446744073709551615 0 9223372036854775808} {a04 26 False 18446744073709551616\
+0 9223372036854775808} {a05 0 False -9223372036854775809 0\
+-9223372036854775808} {a05 1 True -9223372036854775808 0 -9223372036854775808}\
+{a05 2 True -2147483649 0 -2147483649} {a05 3 True -2147483648 0 -2147483648}\
+{a05 4 True -32769 0 -32769} {a05 5 True -32768 0 -32768} {a05 6 True -129 0\
+-129} {a05 7 True -128 0 -128} {a05 8 True -1 0 -1} {a05 9 True 0 0 0} {a05 10\
+True 1 0 1} {a05 11 True 127 0 127} {a05 12 True 128 0 128} {a05 13 True 255 0\
+255} {a05 14 True 256 0 256} {a05 15 True 32767 0 32767} {a05 16 True 32768 0\
+32768} {a05 17 True 65535 0 65535} {a05 18 True 65536 0 65536} {a05 19 True\
+2147483647 0 2147483647} {a05 20 True 2147483648 0 2147483648} {a05 21 True\
+4294967295 0 4294967295} {a05 22 True 4294967296 0 4294967296} {a05 23 True\
+9223372036854775807 0 9223372036854775807} {a05 24 False 9223372036854775808 0\
+-9223372036854775808} {a05 25 False 18446744073709551615 0\
+-9223372036854775808} {a05 26 False 18446744073709551616 0\
+-9223372036854775808} {a06 0 False -9223372036854775809 0 -9223372036854775808}\
+{a06 1 True -9223372036854775808 0 -9223372036854775808} {a06 2 True\
+-2147483649 0 -2147483649} {a06 3 True -2147483648 0 -2147483648} {a06 4 True\
+-32769 0 -32769} {a06 5 True -32768 0 -32768} {a06 6 True -129 0 -129} {a06 7\
+True -128 0 -128} {a06 8 True -1 0 -1} {a06 9 True 0 0 0} {a06 10 True 1 0 1}\
+{a06 11 True 127 0 127} {a06 12 True 128 0 128} {a06 13 True 255 0 255} {a06 14\
+True 256 0 256} {a06 15 True 32767 0 32767} {a06 16 True 32768 0 32768} {a06 17\
+True 65535 0 65535} {a06 18 True 65536 0 65536} {a06 19 True 2147483647 0\
+2147483647} {a06 20 True 2147483648 0 2147483648} {a06 21 True 4294967295 0\
+4294967295} {a06 22 True 4294967296 0 4294967296} {a06 23 True\
+9223372036854775807 0 9223372036854775807} {a06 24 False 9223372036854775808 0\
+-9223372036854775808} {a06 25 False 18446744073709551615 0\
+-9223372036854775808} {a06 26 False 18446744073709551616 0\
+-9223372036854775808} {a07 0 False -9223372036854775809 0 0} {a07 1 False\
+-9223372036854775808 0 0} {a07 2 False -2147483649 0 2147483647} {a07 3 True\
+-2147483648 0 -2147483648} {a07 4 True -32769 0 -32769} {a07 5 True -32768 0\
+-32768} {a07 6 True -129 0 -129} {a07 7 True -128 0 -128} {a07 8 True -1 0 -1}\
+{a07 9 True 0 0 0} {a07 10 True 1 0 1} {a07 11 True 127 0 127} {a07 12 True 128\
+0 128} {a07 13 True 255 0 255} {a07 14 True 256 0 256} {a07 15 True 32767 0\
+32767} {a07 16 True 32768 0 32768} {a07 17 True 65535 0 65535} {a07 18 True\
+65536 0 65536} {a07 19 True 2147483647 0 2147483647} {a07 20 False 2147483648 0\
+-2147483648} {a07 21 False 4294967295 0 -1} {a07 22 False 4294967296 0 0} {a07\
+23 False 9223372036854775807 0 -1} {a07 24 False 9223372036854775808 0 0} {a07\
+25 False 18446744073709551615 0 0} {a07 26 False 18446744073709551616 0 0} {a08\
+0 False -9223372036854775809 0 0} {a08 1 False -9223372036854775808 0 0} {a08 2\
+False -2147483649 0 -1} {a08 3 False -2147483648 0 0} {a08 4 False -32769 0 -1}\
+{a08 5 False -32768 0 0} {a08 6 False -129 0 127} {a08 7 True -128 0 -128} {a08\
+8 True -1 0 -1} {a08 9 True 0 0 0} {a08 10 True 1 0 1} {a08 11 True 127 0 127}\
+{a08 12 False 128 0 -128} {a08 13 False 255 0 -1} {a08 14 False 256 0 0} {a08\
+15 False 32767 0 -1} {a08 16 False 32768 0 0} {a08 17 False 65535 0 -1} {a08 18\
+False 65536 0 0} {a08 19 False 2147483647 0 -1} {a08 20 False 2147483648 0 0}\
+{a08 21 False 4294967295 0 -1} {a08 22 False 4294967296 0 0} {a08 23 False\
+9223372036854775807 0 -1} {a08 24 False 9223372036854775808 0 0} {a08 25 False\
+18446744073709551615 0 0} {a08 26 False 18446744073709551616 0 0} {a09 0 False\
+-9223372036854775809 0 0} {a09 1 False -9223372036854775808 0 0} {a09 2 False\
+-2147483649 0 -1} {a09 3 False -2147483648 0 0} {a09 4 False -32769 0 32767}\
+{a09 5 True -32768 0 -32768} {a09 6 True -129 0 -129} {a09 7 True -128 0 -128}\
+{a09 8 True -1 0 -1} {a09 9 True 0 0 0} {a09 10 True 1 0 1} {a09 11 True 127 0\
+127} {a09 12 True 128 0 128} {a09 13 True 255 0 255} {a09 14 True 256 0 256}\
+{a09 15 True 32767 0 32767} {a09 16 False 32768 0 -32768} {a09 17 False 65535 0\
+-1} {a09 18 False 65536 0 0} {a09 19 False 2147483647 0 -1} {a09 20 False\
+2147483648 0 0} {a09 21 False 4294967295 0 -1} {a09 22 False 4294967296 0 0}\
+{a09 23 False 9223372036854775807 0 -1} {a09 24 False 9223372036854775808 0 0}\
+{a09 25 False 18446744073709551615 0 0} {a09 26 False 18446744073709551616 0 0}\
+{a10 0 False -9223372036854775809 0 0} {a10 1 False -9223372036854775808 0 0}\
+{a10 2 False -2147483649 0 2147483647} {a10 3 True -2147483648 0 -2147483648}\
+{a10 4 True -32769 0 -32769} {a10 5 True -32768 0 -32768} {a10 6 True -129 0\
+-129} {a10 7 True -128 0 -128} {a10 8 True -1 0 -1} {a10 9 True 0 0 0} {a10 10\
+True 1 0 1} {a10 11 True 127 0 127} {a10 12 True 128 0 128} {a10 13 True 255 0\
+255} {a10 14 True 256 0 256} {a10 15 True 32767 0 32767} {a10 16 True 32768 0\
+32768} {a10 17 True 65535 0 65535} {a10 18 True 65536 0 65536} {a10 19 True\
+2147483647 0 2147483647} {a10 20 False 2147483648 0 -2147483648} {a10 21 False\
+4294967295 0 -1} {a10 22 False 4294967296 0 0} {a10 23 False\
+9223372036854775807 0 -1} {a10 24 False 9223372036854775808 0 0} {a10 25 False\
+18446744073709551615 0 0} {a10 26 False 18446744073709551616 0 0} {a11 0 False\
+-9223372036854775809 0 -9223372036854775808} {a11 1 True -9223372036854775808 0\
+-9223372036854775808} {a11 2 True -2147483649 0 -2147483649} {a11 3 True\
+-2147483648 0 -2147483648} {a11 4 True -32769 0 -32769} {a11 5 True -32768 0\
+-32768} {a11 6 True -129 0 -129} {a11 7 True -128 0 -128} {a11 8 True -1 0 -1}\
+{a11 9 True 0 0 0} {a11 10 True 1 0 1} {a11 11 True 127 0 127} {a11 12 True 128\
+0 128} {a11 13 True 255 0 255} {a11 14 True 256 0 256} {a11 15 True 32767 0\
+32767} {a11 16 True 32768 0 32768} {a11 17 True 65535 0 65535} {a11 18 True\
+65536 0 65536} {a11 19 True 2147483647 0 2147483647} {a11 20 True 2147483648 0\
+2147483648} {a11 21 True 4294967295 0 4294967295} {a11 22 True 4294967296 0\
+4294967296} {a11 23 True 9223372036854775807 0 9223372036854775807} {a11 24\
+False 9223372036854775808 0 -9223372036854775808} {a11 25 False\
+18446744073709551615 0 -9223372036854775808} {a11 26 False 18446744073709551616\
+0 -9223372036854775808} {a12 0 False -9223372036854775809 0\
+-9223372036854775808} {a12 1 True -9223372036854775808 0 -9223372036854775808}\
+{a12 2 True -2147483649 0 -2147483649} {a12 3 True -2147483648 0 -2147483648}\
+{a12 4 True -32769 0 -32769} {a12 5 True -32768 0 -32768} {a12 6 True -129 0\
+-129} {a12 7 True -128 0 -128} {a12 8 True -1 0 -1} {a12 9 True 0 0 0} {a12 10\
+True 1 0 1} {a12 11 True 127 0 127} {a12 12 True 128 0 128} {a12 13 True 255 0\
+255} {a12 14 True 256 0 256} {a12 15 True 32767 0 32767} {a12 16 True 32768 0\
+32768} {a12 17 True 65535 0 65535} {a12 18 True 65536 0 65536} {a12 19 True\
+2147483647 0 2147483647} {a12 20 True 2147483648 0 2147483648} {a12 21 True\
+4294967295 0 4294967295} {a12 22 True 4294967296 0 4294967296} {a12 23 True\
+9223372036854775807 0 9223372036854775807} {a12 24 False 9223372036854775808 0\
-9223372036854775808} {a12 25 False 18446744073709551615 0\
-9223372036854775808} {a12 26 False 18446744073709551616 0\
--9223372036854775808} {a13 0 False -9223372036854775809 1 overflow} {a13 1\
-False -9223372036854775808 1 overflow} {a13 2 False -2147483649 1 overflow}\
-{a13 3 False -2147483648 1 overflow} {a13 4 False -32769 1 overflow} {a13 5\
-False -32768 1 overflow} {a13 6 False -129 1 overflow} {a13 7 True -128} {a13 8\
-True -1} {a13 9 True 0} {a13 10 True 1} {a13 11 True 127} {a13 12 False 128 1\
-overflow} {a13 13 False 255 1 overflow} {a13 14 False 256 1 overflow} {a13 15\
-False 32767 1 overflow} {a13 16 False 32768 1 overflow} {a13 17 False 65535 1\
-overflow} {a13 18 False 65536 1 overflow} {a13 19 False 2147483647 1 overflow}\
-{a13 20 False 2147483648 1 overflow} {a13 21 False 4294967295 1 overflow} {a13\
-22 False 4294967296 1 overflow} {a13 23 False 9223372036854775807 1 overflow}\
-{a13 24 False 9223372036854775808 1 overflow} {a13 25 False\
-18446744073709551615 1 overflow} {a13 26 False 18446744073709551616 1 overflow}\
-{a14 0 False -9223372036854775809 1 overflow} {a14 1 False -9223372036854775808\
-1 overflow} {a14 2 False -2147483649 1 overflow} {a14 3 False -2147483648 1\
-overflow} {a14 4 False -32769 1 overflow} {a14 5 True -32768} {a14 6 True -129}\
-{a14 7 True -128} {a14 8 True -1} {a14 9 True 0} {a14 10 True 1} {a14 11 True\
-127} {a14 12 True 128} {a14 13 True 255} {a14 14 True 256} {a14 15 True 32767}\
-{a14 16 False 32768 1 overflow} {a14 17 False 65535 1 overflow} {a14 18 False\
-65536 1 overflow} {a14 19 False 2147483647 1 overflow} {a14 20 False 2147483648\
-1 overflow} {a14 21 False 4294967295 1 overflow} {a14 22 False 4294967296 1\
-overflow} {a14 23 False 9223372036854775807 1 overflow} {a14 24 False\
-9223372036854775808 1 overflow} {a14 25 False 18446744073709551615 1 overflow}\
-{a14 26 False 18446744073709551616 1 overflow} {a15 0 False\
--9223372036854775809 1 overflow} {a15 1 False -9223372036854775808 1 overflow}\
-{a15 2 False -2147483649 1 overflow} {a15 3 True -2147483648} {a15 4 True\
--32769} {a15 5 True -32768} {a15 6 True -129} {a15 7 True -128} {a15 8 True -1}\
-{a15 9 True 0} {a15 10 True 1} {a15 11 True 127} {a15 12 True 128} {a15 13 True\
-255} {a15 14 True 256} {a15 15 True 32767} {a15 16 True 32768} {a15 17 True\
-65535} {a15 18 True 65536} {a15 19 True 2147483647} {a15 20 False 2147483648 1\
-overflow} {a15 21 False 4294967295 1 overflow} {a15 22 False 4294967296 1\
-overflow} {a15 23 False 9223372036854775807 1 overflow} {a15 24 False\
-9223372036854775808 1 overflow} {a15 25 False 18446744073709551615 1 overflow}\
-{a15 26 False 18446744073709551616 1 overflow} {a16 0 False\
--9223372036854775809 0 -9223372036854775808} {a16 1 True -9223372036854775808}\
-{a16 2 True -2147483649} {a16 3 True -2147483648} {a16 4 True -32769} {a16 5\
-True -32768} {a16 6 True -129} {a16 7 True -128} {a16 8 True -1} {a16 9 True 0}\
-{a16 10 True 1} {a16 11 True 127} {a16 12 True 128} {a16 13 True 255} {a16 14\
-True 256} {a16 15 True 32767} {a16 16 True 32768} {a16 17 True 65535} {a16 18\
-True 65536} {a16 19 True 2147483647} {a16 20 True 2147483648} {a16 21 True\
-4294967295} {a16 22 True 4294967296} {a16 23 True 9223372036854775807} {a16 24\
-False 9223372036854775808 0 -9223372036854775808} {a16 25 False\
-18446744073709551615 0 -9223372036854775808} {a16 26 False 18446744073709551616\
-0 -9223372036854775808} {a17 0 False -9223372036854775809 0\
--9223372036854775808} {a17 1 True -9223372036854775808} {a17 2 True\
--2147483649} {a17 3 True -2147483648} {a17 4 True -32769} {a17 5 True -32768}\
-{a17 6 True -129} {a17 7 True -128} {a17 8 True -1} {a17 9 True 0} {a17 10 True\
-1} {a17 11 True 127} {a17 12 True 128} {a17 13 True 255} {a17 14 True 256} {a17\
-15 True 32767} {a17 16 True 32768} {a17 17 True 65535} {a17 18 True 65536} {a17\
-19 True 2147483647} {a17 20 True 2147483648} {a17 21 True 4294967295} {a17 22\
-True 4294967296} {a17 23 True 9223372036854775807} {a17 24 False\
-9223372036854775808 0 -9223372036854775808} {a17 25 False 18446744073709551615\
-0 -9223372036854775808} {a17 26 False 18446744073709551616 0\
--9223372036854775808} {a18 0 False -9223372036854775809 1 overflow} {a18 1\
-False -9223372036854775808 1 overflow} {a18 2 False -2147483649 1 overflow}\
-{a18 3 False -2147483648 1 overflow} {a18 4 False -32769 1 overflow} {a18 5\
-True -32768} {a18 6 True -129} {a18 7 True -128} {a18 8 True -1} {a18 9 True 0}\
-{a18 10 True 1} {a18 11 True 127} {a18 12 True 128} {a18 13 True 255} {a18 14\
-True 256} {a18 15 True 32767} {a18 16 False 32768 1 overflow} {a18 17 False\
-65535 1 overflow} {a18 18 False 65536 1 overflow} {a18 19 False 2147483647 1\
-overflow} {a18 20 False 2147483648 1 overflow} {a18 21 False 4294967295 1\
-overflow} {a18 22 False 4294967296 1 overflow} {a18 23 False\
-9223372036854775807 1 overflow} {a18 24 False 9223372036854775808 1 overflow}\
-{a18 25 False 18446744073709551615 1 overflow} {a18 26 False\
-18446744073709551616 1 overflow} {a19 0 False -9223372036854775809 1 overflow}\
-{a19 1 False -9223372036854775808 1 overflow} {a19 2 False -2147483649 1\
-overflow} {a19 3 False -2147483648 1 overflow} {a19 4 False -32769 1 overflow}\
-{a19 5 False -32768 1 overflow} {a19 6 False -129 1 overflow} {a19 7 False -128\
-1 overflow} {a19 8 False -1 1 overflow} {a19 9 True 0} {a19 10 True 1} {a19 11\
-True 127} {a19 12 True 128} {a19 13 True 255} {a19 14 True 256} {a19 15 True\
-32767} {a19 16 True 32768} {a19 17 True 65535} {a19 18 False 65536 1 overflow}\
-{a19 19 False 2147483647 1 overflow} {a19 20 False 2147483648 1 overflow} {a19\
-21 False 4294967295 1 overflow} {a19 22 False 4294967296 1 overflow} {a19 23\
-False 9223372036854775807 1 overflow} {a19 24 False 9223372036854775808 1\
-overflow} {a19 25 False 18446744073709551615 1 overflow} {a19 26 False\
-18446744073709551616 1 overflow} {a20 0 False -9223372036854775809 1 overflow}\
-{a20 1 False -9223372036854775808 1 overflow} {a20 2 False -2147483649 1\
-overflow} {a20 3 False -2147483648 1 overflow} {a20 4 False -32769 1 overflow}\
-{a20 5 False -32768 1 overflow} {a20 6 False -129 1 overflow} {a20 7 False -128\
-1 overflow} {a20 8 False -1 1 overflow} {a20 9 True 0} {a20 10 True 1} {a20 11\
-True 127} {a20 12 True 128} {a20 13 True 255} {a20 14 False 256 1 overflow}\
-{a20 15 False 32767 1 overflow} {a20 16 False 32768 1 overflow} {a20 17 False\
-65535 1 overflow} {a20 18 False 65536 1 overflow} {a20 19 False 2147483647 1\
-overflow} {a20 20 False 2147483648 1 overflow} {a20 21 False 4294967295 1\
-overflow} {a20 22 False 4294967296 1 overflow} {a20 23 False\
-9223372036854775807 1 overflow} {a20 24 False 9223372036854775808 1 overflow}\
-{a20 25 False 18446744073709551615 1 overflow} {a20 26 False\
-18446744073709551616 1 overflow} {a21 0 False -9223372036854775809 1 overflow}\
-{a21 1 False -9223372036854775808 1 overflow} {a21 2 False -2147483649 1\
-overflow} {a21 3 False -2147483648 1 overflow} {a21 4 False -32769 1 overflow}\
-{a21 5 False -32768 1 overflow} {a21 6 False -129 1 overflow} {a21 7 True -128}\
-{a21 8 True -1} {a21 9 True 0} {a21 10 True 1} {a21 11 True 127} {a21 12 False\
-128 1 overflow} {a21 13 False 255 1 overflow} {a21 14 False 256 1 overflow}\
-{a21 15 False 32767 1 overflow} {a21 16 False 32768 1 overflow} {a21 17 False\
-65535 1 overflow} {a21 18 False 65536 1 overflow} {a21 19 False 2147483647 1\
-overflow} {a21 20 False 2147483648 1 overflow} {a21 21 False 4294967295 1\
-overflow} {a21 22 False 4294967296 1 overflow} {a21 23 False\
-9223372036854775807 1 overflow} {a21 24 False 9223372036854775808 1 overflow}\
-{a21 25 False 18446744073709551615 1 overflow} {a21 26 False\
-18446744073709551616 1 overflow} {a22 0 False -9223372036854775809 1 overflow}\
-{a22 1 False -9223372036854775808 1 overflow} {a22 2 False -2147483649 1\
-overflow} {a22 3 False -2147483648 1 overflow} {a22 4 False -32769 1 overflow}\
-{a22 5 False -32768 1 overflow} {a22 6 False -129 1 overflow} {a22 7 False -128\
-1 overflow} {a22 8 False -1 1 overflow} {a22 9 True 0} {a22 10 True 1} {a22 11\
-True 127} {a22 12 True 128} {a22 13 True 255} {a22 14 True 256} {a22 15 True\
-32767} {a22 16 True 32768} {a22 17 True 65535} {a22 18 True 65536} {a22 19 True\
-2147483647} {a22 20 True 2147483648} {a22 21 True 4294967295} {a22 22 False\
-4294967296 1 overflow} {a22 23 False 9223372036854775807 1 overflow} {a22 24\
-False 9223372036854775808 1 overflow} {a22 25 False 18446744073709551615 1\
-overflow} {a22 26 False 18446744073709551616 1 overflow} {a23 0 False\
--9223372036854775809 1 overflow} {a23 1 False -9223372036854775808 1 overflow}\
-{a23 2 False -2147483649 1 overflow} {a23 3 False -2147483648 1 overflow} {a23\
-4 False -32769 1 overflow} {a23 5 False -32768 1 overflow} {a23 6 False -129 1\
-overflow} {a23 7 False -128 1 overflow} {a23 8 False -1 1 overflow} {a23 9 True\
-0} {a23 10 True 1} {a23 11 True 127} {a23 12 True 128} {a23 13 True 255} {a23\
-14 False 256 1 overflow} {a23 15 False 32767 1 overflow} {a23 16 False 32768 1\
-overflow} {a23 17 False 65535 1 overflow} {a23 18 False 65536 1 overflow} {a23\
-19 False 2147483647 1 overflow} {a23 20 False 2147483648 1 overflow} {a23 21\
-False 4294967295 1 overflow} {a23 22 False 4294967296 1 overflow} {a23 23 False\
-9223372036854775807 1 overflow} {a23 24 False 9223372036854775808 1 overflow}\
-{a23 25 False 18446744073709551615 1 overflow} {a23 26 False\
-18446744073709551616 1 overflow} {a24 0 False -9223372036854775809 1 overflow}\
-{a24 1 False -9223372036854775808 1 overflow} {a24 2 False -2147483649 1\
-overflow} {a24 3 False -2147483648 1 overflow} {a24 4 False -32769 1 overflow}\
-{a24 5 False -32768 1 overflow} {a24 6 False -129 1 overflow} {a24 7 False -128\
-1 overflow} {a24 8 False -1 1 overflow} {a24 9 True 0} {a24 10 True 1} {a24 11\
-True 127} {a24 12 True 128} {a24 13 True 255} {a24 14 True 256} {a24 15 True\
-32767} {a24 16 True 32768} {a24 17 True 65535} {a24 18 False 65536 1 overflow}\
-{a24 19 False 2147483647 1 overflow} {a24 20 False 2147483648 1 overflow} {a24\
-21 False 4294967295 1 overflow} {a24 22 False 4294967296 1 overflow} {a24 23\
-False 9223372036854775807 1 overflow} {a24 24 False 9223372036854775808 1\
-overflow} {a24 25 False 18446744073709551615 1 overflow} {a24 26 False\
-18446744073709551616 1 overflow} {a25 0 False -9223372036854775809 1 overflow}\
-{a25 1 False -9223372036854775808 1 overflow} {a25 2 False -2147483649 1\
-overflow} {a25 3 False -2147483648 1 overflow} {a25 4 False -32769 1 overflow}\
-{a25 5 False -32768 1 overflow} {a25 6 False -129 1 overflow} {a25 7 False -128\
-1 overflow} {a25 8 False -1 1 overflow} {a25 9 True 0} {a25 10 True 1} {a25 11\
-True 127} {a25 12 True 128} {a25 13 True 255} {a25 14 True 256} {a25 15 True\
-32767} {a25 16 True 32768} {a25 17 True 65535} {a25 18 True 65536} {a25 19 True\
-2147483647} {a25 20 True 2147483648} {a25 21 True 4294967295} {a25 22 False\
-4294967296 1 overflow} {a25 23 False 9223372036854775807 1 overflow} {a25 24\
-False 9223372036854775808 1 overflow} {a25 25 False 18446744073709551615 1\
-overflow} {a25 26 False 18446744073709551616 1 overflow} {a26 0 False\
+-9223372036854775808} {a13 0 False -9223372036854775809 0 0} {a13 1 False\
+-9223372036854775808 0 0} {a13 2 False -2147483649 0 -1} {a13 3 False\
+-2147483648 0 0} {a13 4 False -32769 0 -1} {a13 5 False -32768 0 0} {a13 6\
+False -129 0 127} {a13 7 True -128 0 -128} {a13 8 True -1 0 -1} {a13 9 True 0 0\
+0} {a13 10 True 1 0 1} {a13 11 True 127 0 127} {a13 12 False 128 0 -128} {a13\
+13 False 255 0 -1} {a13 14 False 256 0 0} {a13 15 False 32767 0 -1} {a13 16\
+False 32768 0 0} {a13 17 False 65535 0 -1} {a13 18 False 65536 0 0} {a13 19\
+False 2147483647 0 -1} {a13 20 False 2147483648 0 0} {a13 21 False 4294967295 0\
+-1} {a13 22 False 4294967296 0 0} {a13 23 False 9223372036854775807 0 -1} {a13\
+24 False 9223372036854775808 0 0} {a13 25 False 18446744073709551615 0 0} {a13\
+26 False 18446744073709551616 0 0} {a14 0 False -9223372036854775809 0 0} {a14\
+1 False -9223372036854775808 0 0} {a14 2 False -2147483649 0 -1} {a14 3 False\
+-2147483648 0 0} {a14 4 False -32769 0 32767} {a14 5 True -32768 0 -32768} {a14\
+6 True -129 0 -129} {a14 7 True -128 0 -128} {a14 8 True -1 0 -1} {a14 9 True 0\
+0 0} {a14 10 True 1 0 1} {a14 11 True 127 0 127} {a14 12 True 128 0 128} {a14\
+13 True 255 0 255} {a14 14 True 256 0 256} {a14 15 True 32767 0 32767} {a14 16\
+False 32768 0 -32768} {a14 17 False 65535 0 -1} {a14 18 False 65536 0 0} {a14\
+19 False 2147483647 0 -1} {a14 20 False 2147483648 0 0} {a14 21 False\
+4294967295 0 -1} {a14 22 False 4294967296 0 0} {a14 23 False\
+9223372036854775807 0 -1} {a14 24 False 9223372036854775808 0 0} {a14 25 False\
+18446744073709551615 0 0} {a14 26 False 18446744073709551616 0 0} {a15 0 False\
+-9223372036854775809 0 0} {a15 1 False -9223372036854775808 0 0} {a15 2 False\
+-2147483649 0 2147483647} {a15 3 True -2147483648 0 -2147483648} {a15 4 True\
+-32769 0 -32769} {a15 5 True -32768 0 -32768} {a15 6 True -129 0 -129} {a15 7\
+True -128 0 -128} {a15 8 True -1 0 -1} {a15 9 True 0 0 0} {a15 10 True 1 0 1}\
+{a15 11 True 127 0 127} {a15 12 True 128 0 128} {a15 13 True 255 0 255} {a15 14\
+True 256 0 256} {a15 15 True 32767 0 32767} {a15 16 True 32768 0 32768} {a15 17\
+True 65535 0 65535} {a15 18 True 65536 0 65536} {a15 19 True 2147483647 0\
+2147483647} {a15 20 False 2147483648 0 -2147483648} {a15 21 False 4294967295 0\
+-1} {a15 22 False 4294967296 0 0} {a15 23 False 9223372036854775807 0 -1} {a15\
+24 False 9223372036854775808 0 0} {a15 25 False 18446744073709551615 0 0} {a15\
+26 False 18446744073709551616 0 0} {a16 0 False -9223372036854775809 0\
+-9223372036854775808} {a16 1 True -9223372036854775808 0 -9223372036854775808}\
+{a16 2 True -2147483649 0 -2147483649} {a16 3 True -2147483648 0 -2147483648}\
+{a16 4 True -32769 0 -32769} {a16 5 True -32768 0 -32768} {a16 6 True -129 0\
+-129} {a16 7 True -128 0 -128} {a16 8 True -1 0 -1} {a16 9 True 0 0 0} {a16 10\
+True 1 0 1} {a16 11 True 127 0 127} {a16 12 True 128 0 128} {a16 13 True 255 0\
+255} {a16 14 True 256 0 256} {a16 15 True 32767 0 32767} {a16 16 True 32768 0\
+32768} {a16 17 True 65535 0 65535} {a16 18 True 65536 0 65536} {a16 19 True\
+2147483647 0 2147483647} {a16 20 True 2147483648 0 2147483648} {a16 21 True\
+4294967295 0 4294967295} {a16 22 True 4294967296 0 4294967296} {a16 23 True\
+9223372036854775807 0 9223372036854775807} {a16 24 False 9223372036854775808 0\
+-9223372036854775808} {a16 25 False 18446744073709551615 0\
+-9223372036854775808} {a16 26 False 18446744073709551616 0\
+-9223372036854775808} {a17 0 False -9223372036854775809 0 -9223372036854775808}\
+{a17 1 True -9223372036854775808 0 -9223372036854775808} {a17 2 True\
+-2147483649 0 -2147483649} {a17 3 True -2147483648 0 -2147483648} {a17 4 True\
+-32769 0 -32769} {a17 5 True -32768 0 -32768} {a17 6 True -129 0 -129} {a17 7\
+True -128 0 -128} {a17 8 True -1 0 -1} {a17 9 True 0 0 0} {a17 10 True 1 0 1}\
+{a17 11 True 127 0 127} {a17 12 True 128 0 128} {a17 13 True 255 0 255} {a17 14\
+True 256 0 256} {a17 15 True 32767 0 32767} {a17 16 True 32768 0 32768} {a17 17\
+True 65535 0 65535} {a17 18 True 65536 0 65536} {a17 19 True 2147483647 0\
+2147483647} {a17 20 True 2147483648 0 2147483648} {a17 21 True 4294967295 0\
+4294967295} {a17 22 True 4294967296 0 4294967296} {a17 23 True\
+9223372036854775807 0 9223372036854775807} {a17 24 False 9223372036854775808 0\
+-9223372036854775808} {a17 25 False 18446744073709551615 0\
+-9223372036854775808} {a17 26 False 18446744073709551616 0\
+-9223372036854775808} {a18 0 False -9223372036854775809 0 0} {a18 1 False\
+-9223372036854775808 0 0} {a18 2 False -2147483649 0 -1} {a18 3 False\
+-2147483648 0 0} {a18 4 False -32769 0 32767} {a18 5 True -32768 0 -32768} {a18\
+6 True -129 0 -129} {a18 7 True -128 0 -128} {a18 8 True -1 0 -1} {a18 9 True 0\
+0 0} {a18 10 True 1 0 1} {a18 11 True 127 0 127} {a18 12 True 128 0 128} {a18\
+13 True 255 0 255} {a18 14 True 256 0 256} {a18 15 True 32767 0 32767} {a18 16\
+False 32768 0 -32768} {a18 17 False 65535 0 -1} {a18 18 False 65536 0 0} {a18\
+19 False 2147483647 0 -1} {a18 20 False 2147483648 0 0} {a18 21 False\
+4294967295 0 -1} {a18 22 False 4294967296 0 0} {a18 23 False\
+9223372036854775807 0 -1} {a18 24 False 9223372036854775808 0 0} {a18 25 False\
+18446744073709551615 0 0} {a18 26 False 18446744073709551616 0 0} {a19 0 False\
+-9223372036854775809 0 0} {a19 1 False -9223372036854775808 0 0} {a19 2 False\
+-2147483649 0 65535} {a19 3 False -2147483648 0 0} {a19 4 False -32769 0 32767}\
+{a19 5 False -32768 0 32768} {a19 6 False -129 0 65407} {a19 7 False -128 0\
+65408} {a19 8 False -1 0 65535} {a19 9 True 0 0 0} {a19 10 True 1 0 1} {a19 11\
+True 127 0 127} {a19 12 True 128 0 128} {a19 13 True 255 0 255} {a19 14 True\
+256 0 256} {a19 15 True 32767 0 32767} {a19 16 True 32768 0 32768} {a19 17 True\
+65535 0 65535} {a19 18 False 65536 0 0} {a19 19 False 2147483647 0 65535} {a19\
+20 False 2147483648 0 0} {a19 21 False 4294967295 0 65535} {a19 22 False\
+4294967296 0 0} {a19 23 False 9223372036854775807 0 65535} {a19 24 False\
+9223372036854775808 0 0} {a19 25 False 18446744073709551615 0 0} {a19 26 False\
+18446744073709551616 0 0} {a20 0 False -9223372036854775809 0 0} {a20 1 False\
+-9223372036854775808 0 0} {a20 2 False -2147483649 0 255} {a20 3 False\
+-2147483648 0 0} {a20 4 False -32769 0 255} {a20 5 False -32768 0 0} {a20 6\
+False -129 0 127} {a20 7 False -128 0 128} {a20 8 False -1 0 255} {a20 9 True 0\
+0 0} {a20 10 True 1 0 1} {a20 11 True 127 0 127} {a20 12 True 128 0 128} {a20\
+13 True 255 0 255} {a20 14 False 256 0 0} {a20 15 False 32767 0 255} {a20 16\
+False 32768 0 0} {a20 17 False 65535 0 255} {a20 18 False 65536 0 0} {a20 19\
+False 2147483647 0 255} {a20 20 False 2147483648 0 0} {a20 21 False 4294967295\
+0 255} {a20 22 False 4294967296 0 0} {a20 23 False 9223372036854775807 0 255}\
+{a20 24 False 9223372036854775808 0 0} {a20 25 False 18446744073709551615 0 0}\
+{a20 26 False 18446744073709551616 0 0} {a21 0 False -9223372036854775809 0 0}\
+{a21 1 False -9223372036854775808 0 0} {a21 2 False -2147483649 0 -1} {a21 3\
+False -2147483648 0 0} {a21 4 False -32769 0 -1} {a21 5 False -32768 0 0} {a21\
+6 False -129 0 127} {a21 7 True -128 0 -128} {a21 8 True -1 0 -1} {a21 9 True 0\
+0 0} {a21 10 True 1 0 1} {a21 11 True 127 0 127} {a21 12 False 128 0 -128} {a21\
+13 False 255 0 -1} {a21 14 False 256 0 0} {a21 15 False 32767 0 -1} {a21 16\
+False 32768 0 0} {a21 17 False 65535 0 -1} {a21 18 False 65536 0 0} {a21 19\
+False 2147483647 0 -1} {a21 20 False 2147483648 0 0} {a21 21 False 4294967295 0\
+-1} {a21 22 False 4294967296 0 0} {a21 23 False 9223372036854775807 0 -1} {a21\
+24 False 9223372036854775808 0 0} {a21 25 False 18446744073709551615 0 0} {a21\
+26 False 18446744073709551616 0 0} {a22 0 False -9223372036854775809 0 0} {a22\
+1 False -9223372036854775808 0 0} {a22 2 False -2147483649 0 2147483647} {a22 3\
+False -2147483648 0 2147483648} {a22 4 False -32769 0 4294934527} {a22 5 False\
+-32768 0 4294934528} {a22 6 False -129 0 4294967167} {a22 7 False -128 0\
+4294967168} {a22 8 False -1 0 4294967295} {a22 9 True 0 0 0} {a22 10 True 1 0\
+1} {a22 11 True 127 0 127} {a22 12 True 128 0 128} {a22 13 True 255 0 255} {a22\
+14 True 256 0 256} {a22 15 True 32767 0 32767} {a22 16 True 32768 0 32768} {a22\
+17 True 65535 0 65535} {a22 18 True 65536 0 65536} {a22 19 True 2147483647 0\
+2147483647} {a22 20 True 2147483648 0 2147483648} {a22 21 True 4294967295 0\
+4294967295} {a22 22 False 4294967296 0 0} {a22 23 False 9223372036854775807 0\
+4294967295} {a22 24 False 9223372036854775808 0 0} {a22 25 False\
+18446744073709551615 0 0} {a22 26 False 18446744073709551616 0 0} {a23 0 False\
+-9223372036854775809 0 0} {a23 1 False -9223372036854775808 0 0} {a23 2 False\
+-2147483649 0 255} {a23 3 False -2147483648 0 0} {a23 4 False -32769 0 255}\
+{a23 5 False -32768 0 0} {a23 6 False -129 0 127} {a23 7 False -128 0 128} {a23\
+8 False -1 0 255} {a23 9 True 0 0 0} {a23 10 True 1 0 1} {a23 11 True 127 0\
+127} {a23 12 True 128 0 128} {a23 13 True 255 0 255} {a23 14 False 256 0 0}\
+{a23 15 False 32767 0 255} {a23 16 False 32768 0 0} {a23 17 False 65535 0 255}\
+{a23 18 False 65536 0 0} {a23 19 False 2147483647 0 255} {a23 20 False\
+2147483648 0 0} {a23 21 False 4294967295 0 255} {a23 22 False 4294967296 0 0}\
+{a23 23 False 9223372036854775807 0 255} {a23 24 False 9223372036854775808 0 0}\
+{a23 25 False 18446744073709551615 0 0} {a23 26 False 18446744073709551616 0 0}\
+{a24 0 False -9223372036854775809 0 0} {a24 1 False -9223372036854775808 0 0}\
+{a24 2 False -2147483649 0 65535} {a24 3 False -2147483648 0 0} {a24 4 False\
+-32769 0 32767} {a24 5 False -32768 0 32768} {a24 6 False -129 0 65407} {a24 7\
+False -128 0 65408} {a24 8 False -1 0 65535} {a24 9 True 0 0 0} {a24 10 True 1\
+0 1} {a24 11 True 127 0 127} {a24 12 True 128 0 128} {a24 13 True 255 0 255}\
+{a24 14 True 256 0 256} {a24 15 True 32767 0 32767} {a24 16 True 32768 0 32768}\
+{a24 17 True 65535 0 65535} {a24 18 False 65536 0 0} {a24 19 False 2147483647 0\
+65535} {a24 20 False 2147483648 0 0} {a24 21 False 4294967295 0 65535} {a24 22\
+False 4294967296 0 0} {a24 23 False 9223372036854775807 0 65535} {a24 24 False\
+9223372036854775808 0 0} {a24 25 False 18446744073709551615 0 0} {a24 26 False\
+18446744073709551616 0 0} {a25 0 False -9223372036854775809 0 0} {a25 1 False\
+-9223372036854775808 0 0} {a25 2 False -2147483649 0 2147483647} {a25 3 False\
+-2147483648 0 2147483648} {a25 4 False -32769 0 4294934527} {a25 5 False -32768\
+0 4294934528} {a25 6 False -129 0 4294967167} {a25 7 False -128 0 4294967168}\
+{a25 8 False -1 0 4294967295} {a25 9 True 0 0 0} {a25 10 True 1 0 1} {a25 11\
+True 127 0 127} {a25 12 True 128 0 128} {a25 13 True 255 0 255} {a25 14 True\
+256 0 256} {a25 15 True 32767 0 32767} {a25 16 True 32768 0 32768} {a25 17 True\
+65535 0 65535} {a25 18 True 65536 0 65536} {a25 19 True 2147483647 0\
+2147483647} {a25 20 True 2147483648 0 2147483648} {a25 21 True 4294967295 0\
+4294967295} {a25 22 False 4294967296 0 0} {a25 23 False 9223372036854775807 0\
+4294967295} {a25 24 False 9223372036854775808 0 0} {a25 25 False\
+18446744073709551615 0 0} {a25 26 False 18446744073709551616 0 0} {a26 0 False\
-9223372036854775809 0 9223372036854775808} {a26 1 False -9223372036854775808 0\
9223372036854775808} {a26 2 False -2147483649 0 18446744071562067967} {a26 3\
False -2147483648 0 18446744071562067968} {a26 4 False -32769 0\
18446744073709518847} {a26 5 False -32768 0 18446744073709518848} {a26 6 False\
-129 0 18446744073709551487} {a26 7 False -128 0 18446744073709551488} {a26 8\
-False -1 0 18446744073709551615} {a26 9 True 0} {a26 10 True 1} {a26 11 True\
-127} {a26 12 True 128} {a26 13 True 255} {a26 14 True 256} {a26 15 True 32767}\
-{a26 16 True 32768} {a26 17 True 65535} {a26 18 True 65536} {a26 19 True\
-2147483647} {a26 20 True 2147483648} {a26 21 True 4294967295} {a26 22 True\
-4294967296} {a26 23 True 9223372036854775807} {a26 24 True 9223372036854775808}\
-{a26 25 False 18446744073709551615 0 9223372036854775808} {a26 26 False\
-18446744073709551616 0 9223372036854775808} {a27 0 False -9223372036854775809 0\
-9223372036854775808} {a27 1 False -9223372036854775808 0 9223372036854775808}\
-{a27 2 False -2147483649 0 18446744071562067967} {a27 3 False -2147483648 0\
-18446744071562067968} {a27 4 False -32769 0 18446744073709518847} {a27 5 False\
--32768 0 18446744073709518848} {a27 6 False -129 0 18446744073709551487} {a27 7\
-False -128 0 18446744073709551488} {a27 8 False -1 0 18446744073709551615} {a27\
-9 True 0} {a27 10 True 1} {a27 11 True 127} {a27 12 True 128} {a27 13 True 255}\
-{a27 14 True 256} {a27 15 True 32767} {a27 16 True 32768} {a27 17 True 65535}\
-{a27 18 True 65536} {a27 19 True 2147483647} {a27 20 True 2147483648} {a27 21\
-True 4294967295} {a27 22 True 4294967296} {a27 23 True 9223372036854775807}\
-{a27 24 True 9223372036854775808} {a27 25 False 18446744073709551615 0\
-9223372036854775808} {a27 26 False 18446744073709551616 0 9223372036854775808}\
-{a28 0 False -9223372036854775809 0 9223372036854775808} {a28 1 False\
--9223372036854775808 0 9223372036854775808} {a28 2 False -2147483649 0\
-18446744071562067967} {a28 3 False -2147483648 0 18446744071562067968} {a28 4\
-False -32769 0 18446744073709518847} {a28 5 False -32768 0\
-18446744073709518848} {a28 6 False -129 0 18446744073709551487} {a28 7 False\
--128 0 18446744073709551488} {a28 8 False -1 0 18446744073709551615} {a28 9\
-True 0} {a28 10 True 1} {a28 11 True 127} {a28 12 True 128} {a28 13 True 255}\
-{a28 14 True 256} {a28 15 True 32767} {a28 16 True 32768} {a28 17 True 65535}\
-{a28 18 True 65536} {a28 19 True 2147483647} {a28 20 True 2147483648} {a28 21\
-True 4294967295} {a28 22 True 4294967296} {a28 23 True 9223372036854775807}\
-{a28 24 True 9223372036854775808} {a28 25 False 18446744073709551615 0\
-9223372036854775808} {a28 26 False 18446744073709551616 0 9223372036854775808}\
-{a29 0 False -9223372036854775809 1 overflow} {a29 1 False -9223372036854775808\
-1 overflow} {a29 2 False -2147483649 1 overflow} {a29 3 False -2147483648 1\
-overflow} {a29 4 False -32769 1 overflow} {a29 5 False -32768 1 overflow} {a29\
-6 False -129 1 overflow} {a29 7 False -128 1 overflow} {a29 8 False -1 1\
-overflow} {a29 9 True 0} {a29 10 True 1} {a29 11 True 127} {a29 12 True 128}\
-{a29 13 True 255} {a29 14 False 256 1 overflow} {a29 15 False 32767 1 overflow}\
-{a29 16 False 32768 1 overflow} {a29 17 False 65535 1 overflow} {a29 18 False\
-65536 1 overflow} {a29 19 False 2147483647 1 overflow} {a29 20 False 2147483648\
-1 overflow} {a29 21 False 4294967295 1 overflow} {a29 22 False 4294967296 1\
-overflow} {a29 23 False 9223372036854775807 1 overflow} {a29 24 False\
-9223372036854775808 1 overflow} {a29 25 False 18446744073709551615 1 overflow}\
-{a29 26 False 18446744073709551616 1 overflow} {a30 0 False\
--9223372036854775809 1 overflow} {a30 1 False -9223372036854775808 1 overflow}\
-{a30 2 False -2147483649 1 overflow} {a30 3 False -2147483648 1 overflow} {a30\
-4 False -32769 1 overflow} {a30 5 False -32768 1 overflow} {a30 6 False -129 1\
-overflow} {a30 7 False -128 1 overflow} {a30 8 False -1 1 overflow} {a30 9 True\
-0} {a30 10 True 1} {a30 11 True 127} {a30 12 True 128} {a30 13 True 255} {a30\
-14 True 256} {a30 15 True 32767} {a30 16 True 32768} {a30 17 True 65535} {a30\
-18 False 65536 1 overflow} {a30 19 False 2147483647 1 overflow} {a30 20 False\
-2147483648 1 overflow} {a30 21 False 4294967295 1 overflow} {a30 22 False\
-4294967296 1 overflow} {a30 23 False 9223372036854775807 1 overflow} {a30 24\
-False 9223372036854775808 1 overflow} {a30 25 False 18446744073709551615 1\
-overflow} {a30 26 False 18446744073709551616 1 overflow} {a31 0 False\
--9223372036854775809 1 overflow} {a31 1 False -9223372036854775808 1 overflow}\
-{a31 2 False -2147483649 1 overflow} {a31 3 False -2147483648 1 overflow} {a31\
-4 False -32769 1 overflow} {a31 5 False -32768 1 overflow} {a31 6 False -129 1\
-overflow} {a31 7 False -128 1 overflow} {a31 8 False -1 1 overflow} {a31 9 True\
-0} {a31 10 True 1} {a31 11 True 127} {a31 12 True 128} {a31 13 True 255} {a31\
-14 True 256} {a31 15 True 32767} {a31 16 True 32768} {a31 17 True 65535} {a31\
-18 True 65536} {a31 19 True 2147483647} {a31 20 True 2147483648} {a31 21 True\
-4294967295} {a31 22 False 4294967296 1 overflow} {a31 23 False\
-9223372036854775807 1 overflow} {a31 24 False 9223372036854775808 1 overflow}\
-{a31 25 False 18446744073709551615 1 overflow} {a31 26 False\
-18446744073709551616 1 overflow} {a32 0 False -9223372036854775809 0\
-9223372036854775808} {a32 1 False -9223372036854775808 0 9223372036854775808}\
-{a32 2 False -2147483649 0 18446744071562067967} {a32 3 False -2147483648 0\
-18446744071562067968} {a32 4 False -32769 0 18446744073709518847} {a32 5 False\
--32768 0 18446744073709518848} {a32 6 False -129 0 18446744073709551487} {a32 7\
-False -128 0 18446744073709551488} {a32 8 False -1 0 18446744073709551615} {a32\
-9 True 0} {a32 10 True 1} {a32 11 True 127} {a32 12 True 128} {a32 13 True 255}\
-{a32 14 True 256} {a32 15 True 32767} {a32 16 True 32768} {a32 17 True 65535}\
-{a32 18 True 65536} {a32 19 True 2147483647} {a32 20 True 2147483648} {a32 21\
-True 4294967295} {a32 22 True 4294967296} {a32 23 True 9223372036854775807}\
-{a32 24 True 9223372036854775808} {a32 25 False 18446744073709551615 0\
-9223372036854775808} {a32 26 False 18446744073709551616 0 9223372036854775808}}}
+False -1 0 18446744073709551615} {a26 9 True 0 0 0} {a26 10 True 1 0 1} {a26 11\
+True 127 0 127} {a26 12 True 128 0 128} {a26 13 True 255 0 255} {a26 14 True\
+256 0 256} {a26 15 True 32767 0 32767} {a26 16 True 32768 0 32768} {a26 17 True\
+65535 0 65535} {a26 18 True 65536 0 65536} {a26 19 True 2147483647 0\
+2147483647} {a26 20 True 2147483648 0 2147483648} {a26 21 True 4294967295 0\
+4294967295} {a26 22 True 4294967296 0 4294967296} {a26 23 True\
+9223372036854775807 0 9223372036854775807} {a26 24 True 9223372036854775808 0\
+9223372036854775808} {a26 25 False 18446744073709551615 0 9223372036854775808}\
+{a26 26 False 18446744073709551616 0 9223372036854775808} {a27 0 False\
+-9223372036854775809 0 9223372036854775808} {a27 1 False -9223372036854775808 0\
+9223372036854775808} {a27 2 False -2147483649 0 18446744071562067967} {a27 3\
+False -2147483648 0 18446744071562067968} {a27 4 False -32769 0\
+18446744073709518847} {a27 5 False -32768 0 18446744073709518848} {a27 6 False\
+-129 0 18446744073709551487} {a27 7 False -128 0 18446744073709551488} {a27 8\
+False -1 0 18446744073709551615} {a27 9 True 0 0 0} {a27 10 True 1 0 1} {a27 11\
+True 127 0 127} {a27 12 True 128 0 128} {a27 13 True 255 0 255} {a27 14 True\
+256 0 256} {a27 15 True 32767 0 32767} {a27 16 True 32768 0 32768} {a27 17 True\
+65535 0 65535} {a27 18 True 65536 0 65536} {a27 19 True 2147483647 0\
+2147483647} {a27 20 True 2147483648 0 2147483648} {a27 21 True 4294967295 0\
+4294967295} {a27 22 True 4294967296 0 4294967296} {a27 23 True\
+9223372036854775807 0 9223372036854775807} {a27 24 True 9223372036854775808 0\
+9223372036854775808} {a27 25 False 18446744073709551615 0 9223372036854775808}\
+{a27 26 False 18446744073709551616 0 9223372036854775808} {a28 0 False\
+-9223372036854775809 0 9223372036854775808} {a28 1 False -9223372036854775808 0\
+9223372036854775808} {a28 2 False -2147483649 0 18446744071562067967} {a28 3\
+False -2147483648 0 18446744071562067968} {a28 4 False -32769 0\
+18446744073709518847} {a28 5 False -32768 0 18446744073709518848} {a28 6 False\
+-129 0 18446744073709551487} {a28 7 False -128 0 18446744073709551488} {a28 8\
+False -1 0 18446744073709551615} {a28 9 True 0 0 0} {a28 10 True 1 0 1} {a28 11\
+True 127 0 127} {a28 12 True 128 0 128} {a28 13 True 255 0 255} {a28 14 True\
+256 0 256} {a28 15 True 32767 0 32767} {a28 16 True 32768 0 32768} {a28 17 True\
+65535 0 65535} {a28 18 True 65536 0 65536} {a28 19 True 2147483647 0\
+2147483647} {a28 20 True 2147483648 0 2147483648} {a28 21 True 4294967295 0\
+4294967295} {a28 22 True 4294967296 0 4294967296} {a28 23 True\
+9223372036854775807 0 9223372036854775807} {a28 24 True 9223372036854775808 0\
+9223372036854775808} {a28 25 False 18446744073709551615 0 9223372036854775808}\
+{a28 26 False 18446744073709551616 0 9223372036854775808} {a29 0 False\
+-9223372036854775809 0 0} {a29 1 False -9223372036854775808 0 0} {a29 2 False\
+-2147483649 0 255} {a29 3 False -2147483648 0 0} {a29 4 False -32769 0 255}\
+{a29 5 False -32768 0 0} {a29 6 False -129 0 127} {a29 7 False -128 0 128} {a29\
+8 False -1 0 255} {a29 9 True 0 0 0} {a29 10 True 1 0 1} {a29 11 True 127 0\
+127} {a29 12 True 128 0 128} {a29 13 True 255 0 255} {a29 14 False 256 0 0}\
+{a29 15 False 32767 0 255} {a29 16 False 32768 0 0} {a29 17 False 65535 0 255}\
+{a29 18 False 65536 0 0} {a29 19 False 2147483647 0 255} {a29 20 False\
+2147483648 0 0} {a29 21 False 4294967295 0 255} {a29 22 False 4294967296 0 0}\
+{a29 23 False 9223372036854775807 0 255} {a29 24 False 9223372036854775808 0 0}\
+{a29 25 False 18446744073709551615 0 0} {a29 26 False 18446744073709551616 0 0}\
+{a30 0 False -9223372036854775809 0 0} {a30 1 False -9223372036854775808 0 0}\
+{a30 2 False -2147483649 0 65535} {a30 3 False -2147483648 0 0} {a30 4 False\
+-32769 0 32767} {a30 5 False -32768 0 32768} {a30 6 False -129 0 65407} {a30 7\
+False -128 0 65408} {a30 8 False -1 0 65535} {a30 9 True 0 0 0} {a30 10 True 1\
+0 1} {a30 11 True 127 0 127} {a30 12 True 128 0 128} {a30 13 True 255 0 255}\
+{a30 14 True 256 0 256} {a30 15 True 32767 0 32767} {a30 16 True 32768 0 32768}\
+{a30 17 True 65535 0 65535} {a30 18 False 65536 0 0} {a30 19 False 2147483647 0\
+65535} {a30 20 False 2147483648 0 0} {a30 21 False 4294967295 0 65535} {a30 22\
+False 4294967296 0 0} {a30 23 False 9223372036854775807 0 65535} {a30 24 False\
+9223372036854775808 0 0} {a30 25 False 18446744073709551615 0 0} {a30 26 False\
+18446744073709551616 0 0} {a31 0 False -9223372036854775809 0 0} {a31 1 False\
+-9223372036854775808 0 0} {a31 2 False -2147483649 0 2147483647} {a31 3 False\
+-2147483648 0 2147483648} {a31 4 False -32769 0 4294934527} {a31 5 False -32768\
+0 4294934528} {a31 6 False -129 0 4294967167} {a31 7 False -128 0 4294967168}\
+{a31 8 False -1 0 4294967295} {a31 9 True 0 0 0} {a31 10 True 1 0 1} {a31 11\
+True 127 0 127} {a31 12 True 128 0 128} {a31 13 True 255 0 255} {a31 14 True\
+256 0 256} {a31 15 True 32767 0 32767} {a31 16 True 32768 0 32768} {a31 17 True\
+65535 0 65535} {a31 18 True 65536 0 65536} {a31 19 True 2147483647 0\
+2147483647} {a31 20 True 2147483648 0 2147483648} {a31 21 True 4294967295 0\
+4294967295} {a31 22 False 4294967296 0 0} {a31 23 False 9223372036854775807 0\
+4294967295} {a31 24 False 9223372036854775808 0 0} {a31 25 False\
+18446744073709551615 0 0} {a31 26 False 18446744073709551616 0 0} {a32 0 False\
+-9223372036854775809 0 9223372036854775808} {a32 1 False -9223372036854775808 0\
+9223372036854775808} {a32 2 False -2147483649 0 18446744071562067967} {a32 3\
+False -2147483648 0 18446744071562067968} {a32 4 False -32769 0\
+18446744073709518847} {a32 5 False -32768 0 18446744073709518848} {a32 6 False\
+-129 0 18446744073709551487} {a32 7 False -128 0 18446744073709551488} {a32 8\
+False -1 0 18446744073709551615} {a32 9 True 0 0 0} {a32 10 True 1 0 1} {a32 11\
+True 127 0 127} {a32 12 True 128 0 128} {a32 13 True 255 0 255} {a32 14 True\
+256 0 256} {a32 15 True 32767 0 32767} {a32 16 True 32768 0 32768} {a32 17 True\
+65535 0 65535} {a32 18 True 65536 0 65536} {a32 19 True 2147483647 0\
+2147483647} {a32 20 True 2147483648 0 2147483648} {a32 21 True 4294967295 0\
+4294967295} {a32 22 True 4294967296 0 4294967296} {a32 23 True\
+9223372036854775807 0 9223372036854775807} {a32 24 True 9223372036854775808 0\
+9223372036854775808} {a32 25 False 18446744073709551615 0 9223372036854775808}\
+{a32 26 False 18446744073709551616 0 9223372036854775808}}}
+
+###############################################################################
+
+runTest {test tkt-c010fa6584-1.2 {UInt32 parameter binding} -setup {
+ setupDb [set fileName tkt-c010fa6584-1.2.db]
+} -body {
+ sql execute $db "CREATE TABLE t1(x UINT32);"
+
+ sql execute $db "INSERT INTO t1 (x) VALUES(?);" \
+ [list param1 UInt32 0xFFFFFFFF]
+
+ sql execute -execute scalar $db "SELECT x FROM t1;"
+} -cleanup {
+ cleanupDb $fileName
+
+ unset -nocomplain db fileName
+} -constraints \
+{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
+{4294967295}}
###############################################################################
runSQLiteTestEpilogue
runTestEpilogue
Index: readme.htm
==================================================================
--- readme.htm
+++ readme.htm
@@ -194,10 +194,11 @@
- Add static Execute method to the SQLiteCommand class.
- Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.
- When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.
- Support automatic value conversions for columns with a declared type of BIGUINT, INTEGER8, INTEGER16, INTEGER32, INTEGER64, SMALLUINT, TINYSINT, UNSIGNEDINTEGER, UNSIGNEDINTEGER8, UNSIGNEDINTEGER16, UNSIGNEDINTEGER32, UNSIGNEDINTEGER64, INT8, INT16, INT32, INT64, UINT, UINT8, UINT16, UINT32, UINT64, or ULONG.
- Remove AUTOINCREMENT from the column type name map. ** Potentially Incompatible Change **
+ - Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584]. ** Potentially Incompatible Change **
1.0.84.0 - January 9, 2013
Index: www/news.wiki
==================================================================
--- www/news.wiki
+++ www/news.wiki
@@ -10,10 +10,11 @@
- Add static Execute method to the SQLiteCommand class.
- Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.
- When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.
- Support automatic value conversions for columns with a declared type of BIGUINT, INTEGER8, INTEGER16, INTEGER32, INTEGER64, SMALLUINT, TINYSINT, UNSIGNEDINTEGER, UNSIGNEDINTEGER8, UNSIGNEDINTEGER16, UNSIGNEDINTEGER32, UNSIGNEDINTEGER64, INT8, INT16, INT32, INT64, UINT, UINT8, UINT16, UINT32, UINT64, or ULONG.
- Remove AUTOINCREMENT from the column type name map. ** Potentially Incompatible Change **
+ - Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584]. ** Potentially Incompatible Change **
1.0.84.0 - January 9, 2013