System.Data.SQLite
Check-in [618f5890e7]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tkt-c010fa6584
Files: files | file ages | folders
SHA1: 618f5890e7925375bd0bc7f330dcdacf0bd3f6a0
User & Date: mistachkin 2013-01-31 07:36:14
Context
2013-01-31
07:39
Merge fix for ticket [c010fa6584] to trunk. check-in: c55ee9c616 user: mistachkin tags: trunk
07:36
Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584]. Closed-Leaf check-in: 618f5890e7 user: mistachkin tags: tkt-c010fa6584
03:34
Merge updates from trunk. check-in: 5ad118c22e user: mistachkin tags: tkt-c010fa6584
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Doc/Extra/version.html.

    47     47       <ul>
    48     48         <li>Updated to <a href="http://www.sqlite.org/src/info/trunk">SQLite 3.7.16</a>.</li>
    49     49         <li>Add static Execute method to the SQLiteCommand class.</li>
    50     50         <li>Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.</li>
    51     51         <li>When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.</li>
    52     52         <li>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.</li>
    53     53         <li>Remove AUTOINCREMENT from the column type name map.&nbsp;<b>** Potentially Incompatible Change **</b></li>
           54  +      <li>Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for <a href="http://system.data.sqlite.org/index.html/info/c010fa6584">[c010fa6584]</a>.&nbsp;<b>** Potentially Incompatible Change **</b></li>
    54     55       </ul>
    55     56       <p><b>1.0.84.0 - January 9, 2013</b></p>
    56     57       <ul>
    57     58         <li>Updated to <a href="http://www.sqlite.org/releaselog/3_7_15_2.html">SQLite 3.7.15.2</a>.</li>
    58     59         <li>Explicitly dispose of all SQLiteCommand objects managed by the DbDataAdapter class. Fix for <a href="http://system.data.sqlite.org/index.html/info/6434e23a0f">[6434e23a0f]</a>.</li>
    59     60         <li>Add Cancel method to the SQLiteConnection class to interrupt a long running query.</li>
    60     61         <li>Improve thread safety of the SQLiteLog.LogMessage method.</li>

Changes to System.Data.SQLite/SQLite3.cs.

  1144   1144   #if !PLATFORM_COMPACTFRAMEWORK
  1145   1145         value = UnsafeNativeMethods.sqlite3_column_double(stmt._sqlite_stmt, index);
  1146   1146   #else
  1147   1147         UnsafeNativeMethods.sqlite3_column_double_interop(stmt._sqlite_stmt, index, out value);
  1148   1148   #endif
  1149   1149         return value;
  1150   1150       }
         1151  +
         1152  +    internal override sbyte GetSByte(SQLiteStatement stmt, int index)
         1153  +    {
         1154  +      return unchecked((sbyte)(GetInt32(stmt, index) & byte.MaxValue));
         1155  +    }
         1156  +
         1157  +    internal override byte GetByte(SQLiteStatement stmt, int index)
         1158  +    {
         1159  +      return unchecked((byte)(GetInt32(stmt, index) & byte.MaxValue));
         1160  +    }
         1161  +
         1162  +    internal override short GetInt16(SQLiteStatement stmt, int index)
         1163  +    {
         1164  +      return unchecked((short)(GetInt32(stmt, index) & ushort.MaxValue));
         1165  +    }
         1166  +
         1167  +    internal override ushort GetUInt16(SQLiteStatement stmt, int index)
         1168  +    {
         1169  +      return unchecked((ushort)(GetInt32(stmt, index) & ushort.MaxValue));
         1170  +    }
  1151   1171   
  1152   1172       internal override int GetInt32(SQLiteStatement stmt, int index)
  1153   1173       {
  1154   1174         return UnsafeNativeMethods.sqlite3_column_int(stmt._sqlite_stmt, index);
  1155   1175       }
         1176  +
         1177  +    internal override uint GetUInt32(SQLiteStatement stmt, int index)
         1178  +    {
         1179  +      return unchecked((uint)GetInt32(stmt, index));
         1180  +    }
  1156   1181   
  1157   1182       internal override long GetInt64(SQLiteStatement stmt, int index)
  1158   1183       {
  1159   1184         long value;
  1160   1185   #if !PLATFORM_COMPACTFRAMEWORK
  1161   1186         value = UnsafeNativeMethods.sqlite3_column_int64(stmt._sqlite_stmt, index);
  1162   1187   #else
  1163   1188         UnsafeNativeMethods.sqlite3_column_int64_interop(stmt._sqlite_stmt, index, out value);
  1164   1189   #endif
  1165   1190         return value;
  1166   1191       }
         1192  +
         1193  +    internal override ulong GetUInt64(SQLiteStatement stmt, int index)
         1194  +    {
         1195  +      return unchecked((ulong)GetInt64(stmt, index));
         1196  +    }
  1167   1197   
  1168   1198       internal override string GetText(SQLiteStatement stmt, int index)
  1169   1199       {
  1170   1200   #if !SQLITE_STANDARD
  1171   1201         int len;
  1172   1202         return UTF8ToString(UnsafeNativeMethods.sqlite3_column_text_interop(stmt._sqlite_stmt, index, out len), len);
  1173   1203   #else
................................................................................
  1910   1940               return new Guid(b);
  1911   1941   
  1912   1942             return b;
  1913   1943           case TypeAffinity.DateTime:
  1914   1944             return GetDateTime(stmt, index);
  1915   1945           case TypeAffinity.Double:
  1916   1946             if (t == null) return GetDouble(stmt, index);
  1917         -          else
  1918         -            return Convert.ChangeType(GetDouble(stmt, index), t, null);
         1947  +          return Convert.ChangeType(GetDouble(stmt, index), t, null);
  1919   1948           case TypeAffinity.Int64:
  1920   1949             if (t == null) return GetInt64(stmt, index);
  1921         -          else
  1922         -            return Convert.ChangeType(GetInt64(stmt, index), t, null);
         1950  +          if (t == typeof(SByte)) return GetSByte(stmt, index);
         1951  +          if (t == typeof(Byte)) return GetByte(stmt, index);
         1952  +          if (t == typeof(Int16)) return GetInt16(stmt, index);
         1953  +          if (t == typeof(UInt16)) return GetUInt16(stmt, index);
         1954  +          if (t == typeof(Int32)) return GetInt32(stmt, index);
         1955  +          if (t == typeof(UInt32)) return GetUInt32(stmt, index);
         1956  +          if (t == typeof(UInt64)) return GetUInt64(stmt, index);
         1957  +          return Convert.ChangeType(GetInt64(stmt, index), t, null);
  1923   1958           default:
  1924   1959             return GetText(stmt, index);
  1925   1960         }
  1926   1961       }
  1927   1962   
  1928   1963       internal override int GetCursorForTable(SQLiteStatement stmt, int db, int rootPage)
  1929   1964       {

Changes to System.Data.SQLite/SQLiteBase.cs.

   159    159       internal abstract string ColumnOriginalName(SQLiteStatement stmt, int index);
   160    160       internal abstract string ColumnDatabaseName(SQLiteStatement stmt, int index);
   161    161       internal abstract string ColumnTableName(SQLiteStatement stmt, int index);
   162    162       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);
   163    163       internal abstract void GetIndexColumnExtendedInfo(string database, string index, string column, out int sortMode, out int onError, out string collationSequence);
   164    164   
   165    165       internal abstract double GetDouble(SQLiteStatement stmt, int index);
          166  +    internal abstract SByte GetSByte(SQLiteStatement stmt, int index);
          167  +    internal abstract Byte GetByte(SQLiteStatement stmt, int index);
          168  +    internal abstract Int16 GetInt16(SQLiteStatement stmt, int index);
          169  +    internal abstract UInt16 GetUInt16(SQLiteStatement stmt, int index);
   166    170       internal abstract Int32 GetInt32(SQLiteStatement stmt, int index);
          171  +    internal abstract UInt32 GetUInt32(SQLiteStatement stmt, int index);
   167    172       internal abstract Int64 GetInt64(SQLiteStatement stmt, int index);
          173  +    internal abstract UInt64 GetUInt64(SQLiteStatement stmt, int index);
   168    174       internal abstract string GetText(SQLiteStatement stmt, int index);
   169    175       internal abstract long GetBytes(SQLiteStatement stmt, int index, int nDataoffset, byte[] bDest, int nStart, int nLength);
   170    176       internal abstract long GetChars(SQLiteStatement stmt, int index, int nDataoffset, char[] bDest, int nStart, int nLength);
   171    177       internal abstract DateTime GetDateTime(SQLiteStatement stmt, int index);
   172    178       internal abstract bool IsNull(SQLiteStatement stmt, int index);
   173    179   
   174    180       internal abstract void CreateCollation(string strCollation, SQLiteCollation func, SQLiteCollation func16);

Changes to Tests/tkt-c010fa6584.eagle.

   105    105       }]]
   106    106       for {set offset 0} {$offset < $count} {incr offset} {
   107    107         set code [catch {
   108    108           sql execute -execute scalar $db [subst {
   109    109             SELECT $name FROM t1 WHERE a00 = '$name' LIMIT 1 OFFSET $offset;
   110    110           }]
   111    111         } result]
          112  +
   112    113         set match [expr {$result eq [lindex $values $offset]}]
   113         -      if {$match} then {
   114         -        lappend results [list \
   115         -            $name $offset $match [lindex $values $offset]]
   116         -      } else {
   117         -        lappend results [list \
   118         -            $name $offset $match [lindex $values $offset] \
   119         -            $code [expr {$code == 0 ? $result : [string map [list \
   120         -            "EXCEPTION System.OverflowException" overflow] $errorCode]}]]
   121         -      }
          114  +
          115  +      lappend results [list \
          116  +          $name $offset $match [lindex $values $offset] \
          117  +          $code [expr {$code == 0 ? $result : $errorCode}]]
   122    118       }
   123    119     }
   124    120   
   125    121     set results
   126    122   } -cleanup {
   127    123     cleanupDb $fileName
   128    124   
   129    125     unset -nocomplain match result code offset count results value name index \
   130    126         values db fileName
   131    127   } -constraints \
   132    128   {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
   133    129   {{a01 0 False -9223372036854775809 0 -9.22337203685478E+18} {a01 1 True\
   134         --9223372036854775808} {a01 2 True -2147483649} {a01 3 True -2147483648} {a01 4\
   135         -True -32769} {a01 5 True -32768} {a01 6 True -129} {a01 7 True -128} {a01 8\
   136         -True -1} {a01 9 True 0} {a01 10 True 1} {a01 11 True 127} {a01 12 True 128}\
   137         -{a01 13 True 255} {a01 14 True 256} {a01 15 True 32767} {a01 16 True 32768}\
   138         -{a01 17 True 65535} {a01 18 True 65536} {a01 19 True 2147483647} {a01 20 True\
   139         -2147483648} {a01 21 True 4294967295} {a01 22 True 4294967296} {a01 23 True\
   140         -9223372036854775807} {a01 24 False 9223372036854775808 0 9.22337203685478E+18}\
   141         -{a01 25 False 18446744073709551615 0 1.84467440737096E+19} {a01 26 False\
   142         -18446744073709551616 0 1.84467440737096E+19} {a02 0 False -9223372036854775809\
   143         -0 -9.22337203685478e+18} {a02 1 True -9223372036854775808} {a02 2 True\
   144         --2147483649} {a02 3 True -2147483648} {a02 4 True -32769} {a02 5 True -32768}\
   145         -{a02 6 True -129} {a02 7 True -128} {a02 8 True -1} {a02 9 True 0} {a02 10 True\
   146         -1} {a02 11 True 127} {a02 12 True 128} {a02 13 True 255} {a02 14 True 256} {a02\
   147         -15 True 32767} {a02 16 True 32768} {a02 17 True 65535} {a02 18 True 65536} {a02\
   148         -19 True 2147483647} {a02 20 True 2147483648} {a02 21 True 4294967295} {a02 22\
   149         -True 4294967296} {a02 23 True 9223372036854775807} {a02 24 False\
   150         -9223372036854775808 0 9.22337203685478e+18} {a02 25 False 18446744073709551615\
   151         -0 1.84467440737096e+19} {a02 26 False 18446744073709551616 0\
          130  +-9223372036854775808 0 -9223372036854775808} {a01 2 True -2147483649 0\
          131  +-2147483649} {a01 3 True -2147483648 0 -2147483648} {a01 4 True -32769 0\
          132  +-32769} {a01 5 True -32768 0 -32768} {a01 6 True -129 0 -129} {a01 7 True -128\
          133  +0 -128} {a01 8 True -1 0 -1} {a01 9 True 0 0 0} {a01 10 True 1 0 1} {a01 11\
          134  +True 127 0 127} {a01 12 True 128 0 128} {a01 13 True 255 0 255} {a01 14 True\
          135  +256 0 256} {a01 15 True 32767 0 32767} {a01 16 True 32768 0 32768} {a01 17 True\
          136  +65535 0 65535} {a01 18 True 65536 0 65536} {a01 19 True 2147483647 0\
          137  +2147483647} {a01 20 True 2147483648 0 2147483648} {a01 21 True 4294967295 0\
          138  +4294967295} {a01 22 True 4294967296 0 4294967296} {a01 23 True\
          139  +9223372036854775807 0 9223372036854775807} {a01 24 False 9223372036854775808 0\
          140  +9.22337203685478E+18} {a01 25 False 18446744073709551615 0\
          141  +1.84467440737096E+19} {a01 26 False 18446744073709551616 0\
          142  +1.84467440737096E+19} {a02 0 False -9223372036854775809 0\
          143  +-9.22337203685478e+18} {a02 1 True -9223372036854775808 0 -9223372036854775808}\
          144  +{a02 2 True -2147483649 0 -2147483649} {a02 3 True -2147483648 0 -2147483648}\
          145  +{a02 4 True -32769 0 -32769} {a02 5 True -32768 0 -32768} {a02 6 True -129 0\
          146  +-129} {a02 7 True -128 0 -128} {a02 8 True -1 0 -1} {a02 9 True 0 0 0} {a02 10\
          147  +True 1 0 1} {a02 11 True 127 0 127} {a02 12 True 128 0 128} {a02 13 True 255 0\
          148  +255} {a02 14 True 256 0 256} {a02 15 True 32767 0 32767} {a02 16 True 32768 0\
          149  +32768} {a02 17 True 65535 0 65535} {a02 18 True 65536 0 65536} {a02 19 True\
          150  +2147483647 0 2147483647} {a02 20 True 2147483648 0 2147483648} {a02 21 True\
          151  +4294967295 0 4294967295} {a02 22 True 4294967296 0 4294967296} {a02 23 True\
          152  +9223372036854775807 0 9223372036854775807} {a02 24 False 9223372036854775808 0\
          153  +9.22337203685478e+18} {a02 25 False 18446744073709551615 0\
          154  +1.84467440737096e+19} {a02 26 False 18446744073709551616 0\
   152    155   1.84467440737096e+19} {a03 0 False -9223372036854775809 0 -9223372036854775808}\
   153         -{a03 1 True -9223372036854775808} {a03 2 True -2147483649} {a03 3 True\
   154         --2147483648} {a03 4 True -32769} {a03 5 True -32768} {a03 6 True -129} {a03 7\
   155         -True -128} {a03 8 True -1} {a03 9 True 0} {a03 10 True 1} {a03 11 True 127}\
   156         -{a03 12 True 128} {a03 13 True 255} {a03 14 True 256} {a03 15 True 32767} {a03\
   157         -16 True 32768} {a03 17 True 65535} {a03 18 True 65536} {a03 19 True 2147483647}\
   158         -{a03 20 True 2147483648} {a03 21 True 4294967295} {a03 22 True 4294967296} {a03\
   159         -23 True 9223372036854775807} {a03 24 False 9223372036854775808 0\
          156  +{a03 1 True -9223372036854775808 0 -9223372036854775808} {a03 2 True\
          157  +-2147483649 0 -2147483649} {a03 3 True -2147483648 0 -2147483648} {a03 4 True\
          158  +-32769 0 -32769} {a03 5 True -32768 0 -32768} {a03 6 True -129 0 -129} {a03 7\
          159  +True -128 0 -128} {a03 8 True -1 0 -1} {a03 9 True 0 0 0} {a03 10 True 1 0 1}\
          160  +{a03 11 True 127 0 127} {a03 12 True 128 0 128} {a03 13 True 255 0 255} {a03 14\
          161  +True 256 0 256} {a03 15 True 32767 0 32767} {a03 16 True 32768 0 32768} {a03 17\
          162  +True 65535 0 65535} {a03 18 True 65536 0 65536} {a03 19 True 2147483647 0\
          163  +2147483647} {a03 20 True 2147483648 0 2147483648} {a03 21 True 4294967295 0\
          164  +4294967295} {a03 22 True 4294967296 0 4294967296} {a03 23 True\
          165  +9223372036854775807 0 9223372036854775807} {a03 24 False 9223372036854775808 0\
   160    166   -9223372036854775808} {a03 25 False 18446744073709551615 0\
   161    167   -9223372036854775808} {a03 26 False 18446744073709551616 0\
   162    168   -9223372036854775808} {a04 0 False -9223372036854775809 0 9223372036854775808}\
   163    169   {a04 1 False -9223372036854775808 0 9223372036854775808} {a04 2 False\
   164    170   -2147483649 0 18446744071562067967} {a04 3 False -2147483648 0\
   165    171   18446744071562067968} {a04 4 False -32769 0 18446744073709518847} {a04 5 False\
   166    172   -32768 0 18446744073709518848} {a04 6 False -129 0 18446744073709551487} {a04 7\
   167    173   False -128 0 18446744073709551488} {a04 8 False -1 0 18446744073709551615} {a04\
   168         -9 True 0} {a04 10 True 1} {a04 11 True 127} {a04 12 True 128} {a04 13 True 255}\
   169         -{a04 14 True 256} {a04 15 True 32767} {a04 16 True 32768} {a04 17 True 65535}\
   170         -{a04 18 True 65536} {a04 19 True 2147483647} {a04 20 True 2147483648} {a04 21\
   171         -True 4294967295} {a04 22 True 4294967296} {a04 23 True 9223372036854775807}\
   172         -{a04 24 True 9223372036854775808} {a04 25 False 18446744073709551615 0\
   173         -9223372036854775808} {a04 26 False 18446744073709551616 0 9223372036854775808}\
   174         -{a05 0 False -9223372036854775809 0 -9223372036854775808} {a05 1 True\
   175         --9223372036854775808} {a05 2 True -2147483649} {a05 3 True -2147483648} {a05 4\
   176         -True -32769} {a05 5 True -32768} {a05 6 True -129} {a05 7 True -128} {a05 8\
   177         -True -1} {a05 9 True 0} {a05 10 True 1} {a05 11 True 127} {a05 12 True 128}\
   178         -{a05 13 True 255} {a05 14 True 256} {a05 15 True 32767} {a05 16 True 32768}\
   179         -{a05 17 True 65535} {a05 18 True 65536} {a05 19 True 2147483647} {a05 20 True\
   180         -2147483648} {a05 21 True 4294967295} {a05 22 True 4294967296} {a05 23 True\
   181         -9223372036854775807} {a05 24 False 9223372036854775808 0 -9223372036854775808}\
   182         -{a05 25 False 18446744073709551615 0 -9223372036854775808} {a05 26 False\
   183         -18446744073709551616 0 -9223372036854775808} {a06 0 False -9223372036854775809\
   184         -0 -9223372036854775808} {a06 1 True -9223372036854775808} {a06 2 True\
   185         --2147483649} {a06 3 True -2147483648} {a06 4 True -32769} {a06 5 True -32768}\
   186         -{a06 6 True -129} {a06 7 True -128} {a06 8 True -1} {a06 9 True 0} {a06 10 True\
   187         -1} {a06 11 True 127} {a06 12 True 128} {a06 13 True 255} {a06 14 True 256} {a06\
   188         -15 True 32767} {a06 16 True 32768} {a06 17 True 65535} {a06 18 True 65536} {a06\
   189         -19 True 2147483647} {a06 20 True 2147483648} {a06 21 True 4294967295} {a06 22\
   190         -True 4294967296} {a06 23 True 9223372036854775807} {a06 24 False\
   191         -9223372036854775808 0 -9223372036854775808} {a06 25 False 18446744073709551615\
   192         -0 -9223372036854775808} {a06 26 False 18446744073709551616 0\
   193         --9223372036854775808} {a07 0 False -9223372036854775809 1 overflow} {a07 1\
   194         -False -9223372036854775808 1 overflow} {a07 2 False -2147483649 1 overflow}\
   195         -{a07 3 True -2147483648} {a07 4 True -32769} {a07 5 True -32768} {a07 6 True\
   196         --129} {a07 7 True -128} {a07 8 True -1} {a07 9 True 0} {a07 10 True 1} {a07 11\
   197         -True 127} {a07 12 True 128} {a07 13 True 255} {a07 14 True 256} {a07 15 True\
   198         -32767} {a07 16 True 32768} {a07 17 True 65535} {a07 18 True 65536} {a07 19 True\
   199         -2147483647} {a07 20 False 2147483648 1 overflow} {a07 21 False 4294967295 1\
   200         -overflow} {a07 22 False 4294967296 1 overflow} {a07 23 False\
   201         -9223372036854775807 1 overflow} {a07 24 False 9223372036854775808 1 overflow}\
   202         -{a07 25 False 18446744073709551615 1 overflow} {a07 26 False\
   203         -18446744073709551616 1 overflow} {a08 0 False -9223372036854775809 1 overflow}\
   204         -{a08 1 False -9223372036854775808 1 overflow} {a08 2 False -2147483649 1\
   205         -overflow} {a08 3 False -2147483648 1 overflow} {a08 4 False -32769 1 overflow}\
   206         -{a08 5 False -32768 1 overflow} {a08 6 False -129 1 overflow} {a08 7 True -128}\
   207         -{a08 8 True -1} {a08 9 True 0} {a08 10 True 1} {a08 11 True 127} {a08 12 False\
   208         -128 1 overflow} {a08 13 False 255 1 overflow} {a08 14 False 256 1 overflow}\
   209         -{a08 15 False 32767 1 overflow} {a08 16 False 32768 1 overflow} {a08 17 False\
   210         -65535 1 overflow} {a08 18 False 65536 1 overflow} {a08 19 False 2147483647 1\
   211         -overflow} {a08 20 False 2147483648 1 overflow} {a08 21 False 4294967295 1\
   212         -overflow} {a08 22 False 4294967296 1 overflow} {a08 23 False\
   213         -9223372036854775807 1 overflow} {a08 24 False 9223372036854775808 1 overflow}\
   214         -{a08 25 False 18446744073709551615 1 overflow} {a08 26 False\
   215         -18446744073709551616 1 overflow} {a09 0 False -9223372036854775809 1 overflow}\
   216         -{a09 1 False -9223372036854775808 1 overflow} {a09 2 False -2147483649 1\
   217         -overflow} {a09 3 False -2147483648 1 overflow} {a09 4 False -32769 1 overflow}\
   218         -{a09 5 True -32768} {a09 6 True -129} {a09 7 True -128} {a09 8 True -1} {a09 9\
   219         -True 0} {a09 10 True 1} {a09 11 True 127} {a09 12 True 128} {a09 13 True 255}\
   220         -{a09 14 True 256} {a09 15 True 32767} {a09 16 False 32768 1 overflow} {a09 17\
   221         -False 65535 1 overflow} {a09 18 False 65536 1 overflow} {a09 19 False\
   222         -2147483647 1 overflow} {a09 20 False 2147483648 1 overflow} {a09 21 False\
   223         -4294967295 1 overflow} {a09 22 False 4294967296 1 overflow} {a09 23 False\
   224         -9223372036854775807 1 overflow} {a09 24 False 9223372036854775808 1 overflow}\
   225         -{a09 25 False 18446744073709551615 1 overflow} {a09 26 False\
   226         -18446744073709551616 1 overflow} {a10 0 False -9223372036854775809 1 overflow}\
   227         -{a10 1 False -9223372036854775808 1 overflow} {a10 2 False -2147483649 1\
   228         -overflow} {a10 3 True -2147483648} {a10 4 True -32769} {a10 5 True -32768} {a10\
   229         -6 True -129} {a10 7 True -128} {a10 8 True -1} {a10 9 True 0} {a10 10 True 1}\
   230         -{a10 11 True 127} {a10 12 True 128} {a10 13 True 255} {a10 14 True 256} {a10 15\
   231         -True 32767} {a10 16 True 32768} {a10 17 True 65535} {a10 18 True 65536} {a10 19\
   232         -True 2147483647} {a10 20 False 2147483648 1 overflow} {a10 21 False 4294967295\
   233         -1 overflow} {a10 22 False 4294967296 1 overflow} {a10 23 False\
   234         -9223372036854775807 1 overflow} {a10 24 False 9223372036854775808 1 overflow}\
   235         -{a10 25 False 18446744073709551615 1 overflow} {a10 26 False\
   236         -18446744073709551616 1 overflow} {a11 0 False -9223372036854775809 0\
   237         --9223372036854775808} {a11 1 True -9223372036854775808} {a11 2 True\
   238         --2147483649} {a11 3 True -2147483648} {a11 4 True -32769} {a11 5 True -32768}\
   239         -{a11 6 True -129} {a11 7 True -128} {a11 8 True -1} {a11 9 True 0} {a11 10 True\
   240         -1} {a11 11 True 127} {a11 12 True 128} {a11 13 True 255} {a11 14 True 256} {a11\
   241         -15 True 32767} {a11 16 True 32768} {a11 17 True 65535} {a11 18 True 65536} {a11\
   242         -19 True 2147483647} {a11 20 True 2147483648} {a11 21 True 4294967295} {a11 22\
   243         -True 4294967296} {a11 23 True 9223372036854775807} {a11 24 False\
   244         -9223372036854775808 0 -9223372036854775808} {a11 25 False 18446744073709551615\
   245         -0 -9223372036854775808} {a11 26 False 18446744073709551616 0\
   246         --9223372036854775808} {a12 0 False -9223372036854775809 0 -9223372036854775808}\
   247         -{a12 1 True -9223372036854775808} {a12 2 True -2147483649} {a12 3 True\
   248         --2147483648} {a12 4 True -32769} {a12 5 True -32768} {a12 6 True -129} {a12 7\
   249         -True -128} {a12 8 True -1} {a12 9 True 0} {a12 10 True 1} {a12 11 True 127}\
   250         -{a12 12 True 128} {a12 13 True 255} {a12 14 True 256} {a12 15 True 32767} {a12\
   251         -16 True 32768} {a12 17 True 65535} {a12 18 True 65536} {a12 19 True 2147483647}\
   252         -{a12 20 True 2147483648} {a12 21 True 4294967295} {a12 22 True 4294967296} {a12\
   253         -23 True 9223372036854775807} {a12 24 False 9223372036854775808 0\
          174  +9 True 0 0 0} {a04 10 True 1 0 1} {a04 11 True 127 0 127} {a04 12 True 128 0\
          175  +128} {a04 13 True 255 0 255} {a04 14 True 256 0 256} {a04 15 True 32767 0\
          176  +32767} {a04 16 True 32768 0 32768} {a04 17 True 65535 0 65535} {a04 18 True\
          177  +65536 0 65536} {a04 19 True 2147483647 0 2147483647} {a04 20 True 2147483648 0\
          178  +2147483648} {a04 21 True 4294967295 0 4294967295} {a04 22 True 4294967296 0\
          179  +4294967296} {a04 23 True 9223372036854775807 0 9223372036854775807} {a04 24\
          180  +True 9223372036854775808 0 9223372036854775808} {a04 25 False\
          181  +18446744073709551615 0 9223372036854775808} {a04 26 False 18446744073709551616\
          182  +0 9223372036854775808} {a05 0 False -9223372036854775809 0\
          183  +-9223372036854775808} {a05 1 True -9223372036854775808 0 -9223372036854775808}\
          184  +{a05 2 True -2147483649 0 -2147483649} {a05 3 True -2147483648 0 -2147483648}\
          185  +{a05 4 True -32769 0 -32769} {a05 5 True -32768 0 -32768} {a05 6 True -129 0\
          186  +-129} {a05 7 True -128 0 -128} {a05 8 True -1 0 -1} {a05 9 True 0 0 0} {a05 10\
          187  +True 1 0 1} {a05 11 True 127 0 127} {a05 12 True 128 0 128} {a05 13 True 255 0\
          188  +255} {a05 14 True 256 0 256} {a05 15 True 32767 0 32767} {a05 16 True 32768 0\
          189  +32768} {a05 17 True 65535 0 65535} {a05 18 True 65536 0 65536} {a05 19 True\
          190  +2147483647 0 2147483647} {a05 20 True 2147483648 0 2147483648} {a05 21 True\
          191  +4294967295 0 4294967295} {a05 22 True 4294967296 0 4294967296} {a05 23 True\
          192  +9223372036854775807 0 9223372036854775807} {a05 24 False 9223372036854775808 0\
          193  +-9223372036854775808} {a05 25 False 18446744073709551615 0\
          194  +-9223372036854775808} {a05 26 False 18446744073709551616 0\
          195  +-9223372036854775808} {a06 0 False -9223372036854775809 0 -9223372036854775808}\
          196  +{a06 1 True -9223372036854775808 0 -9223372036854775808} {a06 2 True\
          197  +-2147483649 0 -2147483649} {a06 3 True -2147483648 0 -2147483648} {a06 4 True\
          198  +-32769 0 -32769} {a06 5 True -32768 0 -32768} {a06 6 True -129 0 -129} {a06 7\
          199  +True -128 0 -128} {a06 8 True -1 0 -1} {a06 9 True 0 0 0} {a06 10 True 1 0 1}\
          200  +{a06 11 True 127 0 127} {a06 12 True 128 0 128} {a06 13 True 255 0 255} {a06 14\
          201  +True 256 0 256} {a06 15 True 32767 0 32767} {a06 16 True 32768 0 32768} {a06 17\
          202  +True 65535 0 65535} {a06 18 True 65536 0 65536} {a06 19 True 2147483647 0\
          203  +2147483647} {a06 20 True 2147483648 0 2147483648} {a06 21 True 4294967295 0\
          204  +4294967295} {a06 22 True 4294967296 0 4294967296} {a06 23 True\
          205  +9223372036854775807 0 9223372036854775807} {a06 24 False 9223372036854775808 0\
          206  +-9223372036854775808} {a06 25 False 18446744073709551615 0\
          207  +-9223372036854775808} {a06 26 False 18446744073709551616 0\
          208  +-9223372036854775808} {a07 0 False -9223372036854775809 0 0} {a07 1 False\
          209  +-9223372036854775808 0 0} {a07 2 False -2147483649 0 2147483647} {a07 3 True\
          210  +-2147483648 0 -2147483648} {a07 4 True -32769 0 -32769} {a07 5 True -32768 0\
          211  +-32768} {a07 6 True -129 0 -129} {a07 7 True -128 0 -128} {a07 8 True -1 0 -1}\
          212  +{a07 9 True 0 0 0} {a07 10 True 1 0 1} {a07 11 True 127 0 127} {a07 12 True 128\
          213  +0 128} {a07 13 True 255 0 255} {a07 14 True 256 0 256} {a07 15 True 32767 0\
          214  +32767} {a07 16 True 32768 0 32768} {a07 17 True 65535 0 65535} {a07 18 True\
          215  +65536 0 65536} {a07 19 True 2147483647 0 2147483647} {a07 20 False 2147483648 0\
          216  +-2147483648} {a07 21 False 4294967295 0 -1} {a07 22 False 4294967296 0 0} {a07\
          217  +23 False 9223372036854775807 0 -1} {a07 24 False 9223372036854775808 0 0} {a07\
          218  +25 False 18446744073709551615 0 0} {a07 26 False 18446744073709551616 0 0} {a08\
          219  +0 False -9223372036854775809 0 0} {a08 1 False -9223372036854775808 0 0} {a08 2\
          220  +False -2147483649 0 -1} {a08 3 False -2147483648 0 0} {a08 4 False -32769 0 -1}\
          221  +{a08 5 False -32768 0 0} {a08 6 False -129 0 127} {a08 7 True -128 0 -128} {a08\
          222  +8 True -1 0 -1} {a08 9 True 0 0 0} {a08 10 True 1 0 1} {a08 11 True 127 0 127}\
          223  +{a08 12 False 128 0 -128} {a08 13 False 255 0 -1} {a08 14 False 256 0 0} {a08\
          224  +15 False 32767 0 -1} {a08 16 False 32768 0 0} {a08 17 False 65535 0 -1} {a08 18\
          225  +False 65536 0 0} {a08 19 False 2147483647 0 -1} {a08 20 False 2147483648 0 0}\
          226  +{a08 21 False 4294967295 0 -1} {a08 22 False 4294967296 0 0} {a08 23 False\
          227  +9223372036854775807 0 -1} {a08 24 False 9223372036854775808 0 0} {a08 25 False\
          228  +18446744073709551615 0 0} {a08 26 False 18446744073709551616 0 0} {a09 0 False\
          229  +-9223372036854775809 0 0} {a09 1 False -9223372036854775808 0 0} {a09 2 False\
          230  +-2147483649 0 -1} {a09 3 False -2147483648 0 0} {a09 4 False -32769 0 32767}\
          231  +{a09 5 True -32768 0 -32768} {a09 6 True -129 0 -129} {a09 7 True -128 0 -128}\
          232  +{a09 8 True -1 0 -1} {a09 9 True 0 0 0} {a09 10 True 1 0 1} {a09 11 True 127 0\
          233  +127} {a09 12 True 128 0 128} {a09 13 True 255 0 255} {a09 14 True 256 0 256}\
          234  +{a09 15 True 32767 0 32767} {a09 16 False 32768 0 -32768} {a09 17 False 65535 0\
          235  +-1} {a09 18 False 65536 0 0} {a09 19 False 2147483647 0 -1} {a09 20 False\
          236  +2147483648 0 0} {a09 21 False 4294967295 0 -1} {a09 22 False 4294967296 0 0}\
          237  +{a09 23 False 9223372036854775807 0 -1} {a09 24 False 9223372036854775808 0 0}\
          238  +{a09 25 False 18446744073709551615 0 0} {a09 26 False 18446744073709551616 0 0}\
          239  +{a10 0 False -9223372036854775809 0 0} {a10 1 False -9223372036854775808 0 0}\
          240  +{a10 2 False -2147483649 0 2147483647} {a10 3 True -2147483648 0 -2147483648}\
          241  +{a10 4 True -32769 0 -32769} {a10 5 True -32768 0 -32768} {a10 6 True -129 0\
          242  +-129} {a10 7 True -128 0 -128} {a10 8 True -1 0 -1} {a10 9 True 0 0 0} {a10 10\
          243  +True 1 0 1} {a10 11 True 127 0 127} {a10 12 True 128 0 128} {a10 13 True 255 0\
          244  +255} {a10 14 True 256 0 256} {a10 15 True 32767 0 32767} {a10 16 True 32768 0\
          245  +32768} {a10 17 True 65535 0 65535} {a10 18 True 65536 0 65536} {a10 19 True\
          246  +2147483647 0 2147483647} {a10 20 False 2147483648 0 -2147483648} {a10 21 False\
          247  +4294967295 0 -1} {a10 22 False 4294967296 0 0} {a10 23 False\
          248  +9223372036854775807 0 -1} {a10 24 False 9223372036854775808 0 0} {a10 25 False\
          249  +18446744073709551615 0 0} {a10 26 False 18446744073709551616 0 0} {a11 0 False\
          250  +-9223372036854775809 0 -9223372036854775808} {a11 1 True -9223372036854775808 0\
          251  +-9223372036854775808} {a11 2 True -2147483649 0 -2147483649} {a11 3 True\
          252  +-2147483648 0 -2147483648} {a11 4 True -32769 0 -32769} {a11 5 True -32768 0\
          253  +-32768} {a11 6 True -129 0 -129} {a11 7 True -128 0 -128} {a11 8 True -1 0 -1}\
          254  +{a11 9 True 0 0 0} {a11 10 True 1 0 1} {a11 11 True 127 0 127} {a11 12 True 128\
          255  +0 128} {a11 13 True 255 0 255} {a11 14 True 256 0 256} {a11 15 True 32767 0\
          256  +32767} {a11 16 True 32768 0 32768} {a11 17 True 65535 0 65535} {a11 18 True\
          257  +65536 0 65536} {a11 19 True 2147483647 0 2147483647} {a11 20 True 2147483648 0\
          258  +2147483648} {a11 21 True 4294967295 0 4294967295} {a11 22 True 4294967296 0\
          259  +4294967296} {a11 23 True 9223372036854775807 0 9223372036854775807} {a11 24\
          260  +False 9223372036854775808 0 -9223372036854775808} {a11 25 False\
          261  +18446744073709551615 0 -9223372036854775808} {a11 26 False 18446744073709551616\
          262  +0 -9223372036854775808} {a12 0 False -9223372036854775809 0\
          263  +-9223372036854775808} {a12 1 True -9223372036854775808 0 -9223372036854775808}\
          264  +{a12 2 True -2147483649 0 -2147483649} {a12 3 True -2147483648 0 -2147483648}\
          265  +{a12 4 True -32769 0 -32769} {a12 5 True -32768 0 -32768} {a12 6 True -129 0\
          266  +-129} {a12 7 True -128 0 -128} {a12 8 True -1 0 -1} {a12 9 True 0 0 0} {a12 10\
          267  +True 1 0 1} {a12 11 True 127 0 127} {a12 12 True 128 0 128} {a12 13 True 255 0\
          268  +255} {a12 14 True 256 0 256} {a12 15 True 32767 0 32767} {a12 16 True 32768 0\
          269  +32768} {a12 17 True 65535 0 65535} {a12 18 True 65536 0 65536} {a12 19 True\
          270  +2147483647 0 2147483647} {a12 20 True 2147483648 0 2147483648} {a12 21 True\
          271  +4294967295 0 4294967295} {a12 22 True 4294967296 0 4294967296} {a12 23 True\
          272  +9223372036854775807 0 9223372036854775807} {a12 24 False 9223372036854775808 0\
   254    273   -9223372036854775808} {a12 25 False 18446744073709551615 0\
   255    274   -9223372036854775808} {a12 26 False 18446744073709551616 0\
   256         --9223372036854775808} {a13 0 False -9223372036854775809 1 overflow} {a13 1\
   257         -False -9223372036854775808 1 overflow} {a13 2 False -2147483649 1 overflow}\
   258         -{a13 3 False -2147483648 1 overflow} {a13 4 False -32769 1 overflow} {a13 5\
   259         -False -32768 1 overflow} {a13 6 False -129 1 overflow} {a13 7 True -128} {a13 8\
   260         -True -1} {a13 9 True 0} {a13 10 True 1} {a13 11 True 127} {a13 12 False 128 1\
   261         -overflow} {a13 13 False 255 1 overflow} {a13 14 False 256 1 overflow} {a13 15\
   262         -False 32767 1 overflow} {a13 16 False 32768 1 overflow} {a13 17 False 65535 1\
   263         -overflow} {a13 18 False 65536 1 overflow} {a13 19 False 2147483647 1 overflow}\
   264         -{a13 20 False 2147483648 1 overflow} {a13 21 False 4294967295 1 overflow} {a13\
   265         -22 False 4294967296 1 overflow} {a13 23 False 9223372036854775807 1 overflow}\
   266         -{a13 24 False 9223372036854775808 1 overflow} {a13 25 False\
   267         -18446744073709551615 1 overflow} {a13 26 False 18446744073709551616 1 overflow}\
   268         -{a14 0 False -9223372036854775809 1 overflow} {a14 1 False -9223372036854775808\
   269         -1 overflow} {a14 2 False -2147483649 1 overflow} {a14 3 False -2147483648 1\
   270         -overflow} {a14 4 False -32769 1 overflow} {a14 5 True -32768} {a14 6 True -129}\
   271         -{a14 7 True -128} {a14 8 True -1} {a14 9 True 0} {a14 10 True 1} {a14 11 True\
   272         -127} {a14 12 True 128} {a14 13 True 255} {a14 14 True 256} {a14 15 True 32767}\
   273         -{a14 16 False 32768 1 overflow} {a14 17 False 65535 1 overflow} {a14 18 False\
   274         -65536 1 overflow} {a14 19 False 2147483647 1 overflow} {a14 20 False 2147483648\
   275         -1 overflow} {a14 21 False 4294967295 1 overflow} {a14 22 False 4294967296 1\
   276         -overflow} {a14 23 False 9223372036854775807 1 overflow} {a14 24 False\
   277         -9223372036854775808 1 overflow} {a14 25 False 18446744073709551615 1 overflow}\
   278         -{a14 26 False 18446744073709551616 1 overflow} {a15 0 False\
   279         --9223372036854775809 1 overflow} {a15 1 False -9223372036854775808 1 overflow}\
   280         -{a15 2 False -2147483649 1 overflow} {a15 3 True -2147483648} {a15 4 True\
   281         --32769} {a15 5 True -32768} {a15 6 True -129} {a15 7 True -128} {a15 8 True -1}\
   282         -{a15 9 True 0} {a15 10 True 1} {a15 11 True 127} {a15 12 True 128} {a15 13 True\
   283         -255} {a15 14 True 256} {a15 15 True 32767} {a15 16 True 32768} {a15 17 True\
   284         -65535} {a15 18 True 65536} {a15 19 True 2147483647} {a15 20 False 2147483648 1\
   285         -overflow} {a15 21 False 4294967295 1 overflow} {a15 22 False 4294967296 1\
   286         -overflow} {a15 23 False 9223372036854775807 1 overflow} {a15 24 False\
   287         -9223372036854775808 1 overflow} {a15 25 False 18446744073709551615 1 overflow}\
   288         -{a15 26 False 18446744073709551616 1 overflow} {a16 0 False\
   289         --9223372036854775809 0 -9223372036854775808} {a16 1 True -9223372036854775808}\
   290         -{a16 2 True -2147483649} {a16 3 True -2147483648} {a16 4 True -32769} {a16 5\
   291         -True -32768} {a16 6 True -129} {a16 7 True -128} {a16 8 True -1} {a16 9 True 0}\
   292         -{a16 10 True 1} {a16 11 True 127} {a16 12 True 128} {a16 13 True 255} {a16 14\
   293         -True 256} {a16 15 True 32767} {a16 16 True 32768} {a16 17 True 65535} {a16 18\
   294         -True 65536} {a16 19 True 2147483647} {a16 20 True 2147483648} {a16 21 True\
   295         -4294967295} {a16 22 True 4294967296} {a16 23 True 9223372036854775807} {a16 24\
   296         -False 9223372036854775808 0 -9223372036854775808} {a16 25 False\
   297         -18446744073709551615 0 -9223372036854775808} {a16 26 False 18446744073709551616\
   298         -0 -9223372036854775808} {a17 0 False -9223372036854775809 0\
   299         --9223372036854775808} {a17 1 True -9223372036854775808} {a17 2 True\
   300         --2147483649} {a17 3 True -2147483648} {a17 4 True -32769} {a17 5 True -32768}\
   301         -{a17 6 True -129} {a17 7 True -128} {a17 8 True -1} {a17 9 True 0} {a17 10 True\
   302         -1} {a17 11 True 127} {a17 12 True 128} {a17 13 True 255} {a17 14 True 256} {a17\
   303         -15 True 32767} {a17 16 True 32768} {a17 17 True 65535} {a17 18 True 65536} {a17\
   304         -19 True 2147483647} {a17 20 True 2147483648} {a17 21 True 4294967295} {a17 22\
   305         -True 4294967296} {a17 23 True 9223372036854775807} {a17 24 False\
   306         -9223372036854775808 0 -9223372036854775808} {a17 25 False 18446744073709551615\
   307         -0 -9223372036854775808} {a17 26 False 18446744073709551616 0\
   308         --9223372036854775808} {a18 0 False -9223372036854775809 1 overflow} {a18 1\
   309         -False -9223372036854775808 1 overflow} {a18 2 False -2147483649 1 overflow}\
   310         -{a18 3 False -2147483648 1 overflow} {a18 4 False -32769 1 overflow} {a18 5\
   311         -True -32768} {a18 6 True -129} {a18 7 True -128} {a18 8 True -1} {a18 9 True 0}\
   312         -{a18 10 True 1} {a18 11 True 127} {a18 12 True 128} {a18 13 True 255} {a18 14\
   313         -True 256} {a18 15 True 32767} {a18 16 False 32768 1 overflow} {a18 17 False\
   314         -65535 1 overflow} {a18 18 False 65536 1 overflow} {a18 19 False 2147483647 1\
   315         -overflow} {a18 20 False 2147483648 1 overflow} {a18 21 False 4294967295 1\
   316         -overflow} {a18 22 False 4294967296 1 overflow} {a18 23 False\
   317         -9223372036854775807 1 overflow} {a18 24 False 9223372036854775808 1 overflow}\
   318         -{a18 25 False 18446744073709551615 1 overflow} {a18 26 False\
   319         -18446744073709551616 1 overflow} {a19 0 False -9223372036854775809 1 overflow}\
   320         -{a19 1 False -9223372036854775808 1 overflow} {a19 2 False -2147483649 1\
   321         -overflow} {a19 3 False -2147483648 1 overflow} {a19 4 False -32769 1 overflow}\
   322         -{a19 5 False -32768 1 overflow} {a19 6 False -129 1 overflow} {a19 7 False -128\
   323         -1 overflow} {a19 8 False -1 1 overflow} {a19 9 True 0} {a19 10 True 1} {a19 11\
   324         -True 127} {a19 12 True 128} {a19 13 True 255} {a19 14 True 256} {a19 15 True\
   325         -32767} {a19 16 True 32768} {a19 17 True 65535} {a19 18 False 65536 1 overflow}\
   326         -{a19 19 False 2147483647 1 overflow} {a19 20 False 2147483648 1 overflow} {a19\
   327         -21 False 4294967295 1 overflow} {a19 22 False 4294967296 1 overflow} {a19 23\
   328         -False 9223372036854775807 1 overflow} {a19 24 False 9223372036854775808 1\
   329         -overflow} {a19 25 False 18446744073709551615 1 overflow} {a19 26 False\
   330         -18446744073709551616 1 overflow} {a20 0 False -9223372036854775809 1 overflow}\
   331         -{a20 1 False -9223372036854775808 1 overflow} {a20 2 False -2147483649 1\
   332         -overflow} {a20 3 False -2147483648 1 overflow} {a20 4 False -32769 1 overflow}\
   333         -{a20 5 False -32768 1 overflow} {a20 6 False -129 1 overflow} {a20 7 False -128\
   334         -1 overflow} {a20 8 False -1 1 overflow} {a20 9 True 0} {a20 10 True 1} {a20 11\
   335         -True 127} {a20 12 True 128} {a20 13 True 255} {a20 14 False 256 1 overflow}\
   336         -{a20 15 False 32767 1 overflow} {a20 16 False 32768 1 overflow} {a20 17 False\
   337         -65535 1 overflow} {a20 18 False 65536 1 overflow} {a20 19 False 2147483647 1\
   338         -overflow} {a20 20 False 2147483648 1 overflow} {a20 21 False 4294967295 1\
   339         -overflow} {a20 22 False 4294967296 1 overflow} {a20 23 False\
   340         -9223372036854775807 1 overflow} {a20 24 False 9223372036854775808 1 overflow}\
   341         -{a20 25 False 18446744073709551615 1 overflow} {a20 26 False\
   342         -18446744073709551616 1 overflow} {a21 0 False -9223372036854775809 1 overflow}\
   343         -{a21 1 False -9223372036854775808 1 overflow} {a21 2 False -2147483649 1\
   344         -overflow} {a21 3 False -2147483648 1 overflow} {a21 4 False -32769 1 overflow}\
   345         -{a21 5 False -32768 1 overflow} {a21 6 False -129 1 overflow} {a21 7 True -128}\
   346         -{a21 8 True -1} {a21 9 True 0} {a21 10 True 1} {a21 11 True 127} {a21 12 False\
   347         -128 1 overflow} {a21 13 False 255 1 overflow} {a21 14 False 256 1 overflow}\
   348         -{a21 15 False 32767 1 overflow} {a21 16 False 32768 1 overflow} {a21 17 False\
   349         -65535 1 overflow} {a21 18 False 65536 1 overflow} {a21 19 False 2147483647 1\
   350         -overflow} {a21 20 False 2147483648 1 overflow} {a21 21 False 4294967295 1\
   351         -overflow} {a21 22 False 4294967296 1 overflow} {a21 23 False\
   352         -9223372036854775807 1 overflow} {a21 24 False 9223372036854775808 1 overflow}\
   353         -{a21 25 False 18446744073709551615 1 overflow} {a21 26 False\
   354         -18446744073709551616 1 overflow} {a22 0 False -9223372036854775809 1 overflow}\
   355         -{a22 1 False -9223372036854775808 1 overflow} {a22 2 False -2147483649 1\
   356         -overflow} {a22 3 False -2147483648 1 overflow} {a22 4 False -32769 1 overflow}\
   357         -{a22 5 False -32768 1 overflow} {a22 6 False -129 1 overflow} {a22 7 False -128\
   358         -1 overflow} {a22 8 False -1 1 overflow} {a22 9 True 0} {a22 10 True 1} {a22 11\
   359         -True 127} {a22 12 True 128} {a22 13 True 255} {a22 14 True 256} {a22 15 True\
   360         -32767} {a22 16 True 32768} {a22 17 True 65535} {a22 18 True 65536} {a22 19 True\
   361         -2147483647} {a22 20 True 2147483648} {a22 21 True 4294967295} {a22 22 False\
   362         -4294967296 1 overflow} {a22 23 False 9223372036854775807 1 overflow} {a22 24\
   363         -False 9223372036854775808 1 overflow} {a22 25 False 18446744073709551615 1\
   364         -overflow} {a22 26 False 18446744073709551616 1 overflow} {a23 0 False\
   365         --9223372036854775809 1 overflow} {a23 1 False -9223372036854775808 1 overflow}\
   366         -{a23 2 False -2147483649 1 overflow} {a23 3 False -2147483648 1 overflow} {a23\
   367         -4 False -32769 1 overflow} {a23 5 False -32768 1 overflow} {a23 6 False -129 1\
   368         -overflow} {a23 7 False -128 1 overflow} {a23 8 False -1 1 overflow} {a23 9 True\
   369         -0} {a23 10 True 1} {a23 11 True 127} {a23 12 True 128} {a23 13 True 255} {a23\
   370         -14 False 256 1 overflow} {a23 15 False 32767 1 overflow} {a23 16 False 32768 1\
   371         -overflow} {a23 17 False 65535 1 overflow} {a23 18 False 65536 1 overflow} {a23\
   372         -19 False 2147483647 1 overflow} {a23 20 False 2147483648 1 overflow} {a23 21\
   373         -False 4294967295 1 overflow} {a23 22 False 4294967296 1 overflow} {a23 23 False\
   374         -9223372036854775807 1 overflow} {a23 24 False 9223372036854775808 1 overflow}\
   375         -{a23 25 False 18446744073709551615 1 overflow} {a23 26 False\
   376         -18446744073709551616 1 overflow} {a24 0 False -9223372036854775809 1 overflow}\
   377         -{a24 1 False -9223372036854775808 1 overflow} {a24 2 False -2147483649 1\
   378         -overflow} {a24 3 False -2147483648 1 overflow} {a24 4 False -32769 1 overflow}\
   379         -{a24 5 False -32768 1 overflow} {a24 6 False -129 1 overflow} {a24 7 False -128\
   380         -1 overflow} {a24 8 False -1 1 overflow} {a24 9 True 0} {a24 10 True 1} {a24 11\
   381         -True 127} {a24 12 True 128} {a24 13 True 255} {a24 14 True 256} {a24 15 True\
   382         -32767} {a24 16 True 32768} {a24 17 True 65535} {a24 18 False 65536 1 overflow}\
   383         -{a24 19 False 2147483647 1 overflow} {a24 20 False 2147483648 1 overflow} {a24\
   384         -21 False 4294967295 1 overflow} {a24 22 False 4294967296 1 overflow} {a24 23\
   385         -False 9223372036854775807 1 overflow} {a24 24 False 9223372036854775808 1\
   386         -overflow} {a24 25 False 18446744073709551615 1 overflow} {a24 26 False\
   387         -18446744073709551616 1 overflow} {a25 0 False -9223372036854775809 1 overflow}\
   388         -{a25 1 False -9223372036854775808 1 overflow} {a25 2 False -2147483649 1\
   389         -overflow} {a25 3 False -2147483648 1 overflow} {a25 4 False -32769 1 overflow}\
   390         -{a25 5 False -32768 1 overflow} {a25 6 False -129 1 overflow} {a25 7 False -128\
   391         -1 overflow} {a25 8 False -1 1 overflow} {a25 9 True 0} {a25 10 True 1} {a25 11\
   392         -True 127} {a25 12 True 128} {a25 13 True 255} {a25 14 True 256} {a25 15 True\
   393         -32767} {a25 16 True 32768} {a25 17 True 65535} {a25 18 True 65536} {a25 19 True\
   394         -2147483647} {a25 20 True 2147483648} {a25 21 True 4294967295} {a25 22 False\
   395         -4294967296 1 overflow} {a25 23 False 9223372036854775807 1 overflow} {a25 24\
   396         -False 9223372036854775808 1 overflow} {a25 25 False 18446744073709551615 1\
   397         -overflow} {a25 26 False 18446744073709551616 1 overflow} {a26 0 False\
          275  +-9223372036854775808} {a13 0 False -9223372036854775809 0 0} {a13 1 False\
          276  +-9223372036854775808 0 0} {a13 2 False -2147483649 0 -1} {a13 3 False\
          277  +-2147483648 0 0} {a13 4 False -32769 0 -1} {a13 5 False -32768 0 0} {a13 6\
          278  +False -129 0 127} {a13 7 True -128 0 -128} {a13 8 True -1 0 -1} {a13 9 True 0 0\
          279  +0} {a13 10 True 1 0 1} {a13 11 True 127 0 127} {a13 12 False 128 0 -128} {a13\
          280  +13 False 255 0 -1} {a13 14 False 256 0 0} {a13 15 False 32767 0 -1} {a13 16\
          281  +False 32768 0 0} {a13 17 False 65535 0 -1} {a13 18 False 65536 0 0} {a13 19\
          282  +False 2147483647 0 -1} {a13 20 False 2147483648 0 0} {a13 21 False 4294967295 0\
          283  +-1} {a13 22 False 4294967296 0 0} {a13 23 False 9223372036854775807 0 -1} {a13\
          284  +24 False 9223372036854775808 0 0} {a13 25 False 18446744073709551615 0 0} {a13\
          285  +26 False 18446744073709551616 0 0} {a14 0 False -9223372036854775809 0 0} {a14\
          286  +1 False -9223372036854775808 0 0} {a14 2 False -2147483649 0 -1} {a14 3 False\
          287  +-2147483648 0 0} {a14 4 False -32769 0 32767} {a14 5 True -32768 0 -32768} {a14\
          288  +6 True -129 0 -129} {a14 7 True -128 0 -128} {a14 8 True -1 0 -1} {a14 9 True 0\
          289  +0 0} {a14 10 True 1 0 1} {a14 11 True 127 0 127} {a14 12 True 128 0 128} {a14\
          290  +13 True 255 0 255} {a14 14 True 256 0 256} {a14 15 True 32767 0 32767} {a14 16\
          291  +False 32768 0 -32768} {a14 17 False 65535 0 -1} {a14 18 False 65536 0 0} {a14\
          292  +19 False 2147483647 0 -1} {a14 20 False 2147483648 0 0} {a14 21 False\
          293  +4294967295 0 -1} {a14 22 False 4294967296 0 0} {a14 23 False\
          294  +9223372036854775807 0 -1} {a14 24 False 9223372036854775808 0 0} {a14 25 False\
          295  +18446744073709551615 0 0} {a14 26 False 18446744073709551616 0 0} {a15 0 False\
          296  +-9223372036854775809 0 0} {a15 1 False -9223372036854775808 0 0} {a15 2 False\
          297  +-2147483649 0 2147483647} {a15 3 True -2147483648 0 -2147483648} {a15 4 True\
          298  +-32769 0 -32769} {a15 5 True -32768 0 -32768} {a15 6 True -129 0 -129} {a15 7\
          299  +True -128 0 -128} {a15 8 True -1 0 -1} {a15 9 True 0 0 0} {a15 10 True 1 0 1}\
          300  +{a15 11 True 127 0 127} {a15 12 True 128 0 128} {a15 13 True 255 0 255} {a15 14\
          301  +True 256 0 256} {a15 15 True 32767 0 32767} {a15 16 True 32768 0 32768} {a15 17\
          302  +True 65535 0 65535} {a15 18 True 65536 0 65536} {a15 19 True 2147483647 0\
          303  +2147483647} {a15 20 False 2147483648 0 -2147483648} {a15 21 False 4294967295 0\
          304  +-1} {a15 22 False 4294967296 0 0} {a15 23 False 9223372036854775807 0 -1} {a15\
          305  +24 False 9223372036854775808 0 0} {a15 25 False 18446744073709551615 0 0} {a15\
          306  +26 False 18446744073709551616 0 0} {a16 0 False -9223372036854775809 0\
          307  +-9223372036854775808} {a16 1 True -9223372036854775808 0 -9223372036854775808}\
          308  +{a16 2 True -2147483649 0 -2147483649} {a16 3 True -2147483648 0 -2147483648}\
          309  +{a16 4 True -32769 0 -32769} {a16 5 True -32768 0 -32768} {a16 6 True -129 0\
          310  +-129} {a16 7 True -128 0 -128} {a16 8 True -1 0 -1} {a16 9 True 0 0 0} {a16 10\
          311  +True 1 0 1} {a16 11 True 127 0 127} {a16 12 True 128 0 128} {a16 13 True 255 0\
          312  +255} {a16 14 True 256 0 256} {a16 15 True 32767 0 32767} {a16 16 True 32768 0\
          313  +32768} {a16 17 True 65535 0 65535} {a16 18 True 65536 0 65536} {a16 19 True\
          314  +2147483647 0 2147483647} {a16 20 True 2147483648 0 2147483648} {a16 21 True\
          315  +4294967295 0 4294967295} {a16 22 True 4294967296 0 4294967296} {a16 23 True\
          316  +9223372036854775807 0 9223372036854775807} {a16 24 False 9223372036854775808 0\
          317  +-9223372036854775808} {a16 25 False 18446744073709551615 0\
          318  +-9223372036854775808} {a16 26 False 18446744073709551616 0\
          319  +-9223372036854775808} {a17 0 False -9223372036854775809 0 -9223372036854775808}\
          320  +{a17 1 True -9223372036854775808 0 -9223372036854775808} {a17 2 True\
          321  +-2147483649 0 -2147483649} {a17 3 True -2147483648 0 -2147483648} {a17 4 True\
          322  +-32769 0 -32769} {a17 5 True -32768 0 -32768} {a17 6 True -129 0 -129} {a17 7\
          323  +True -128 0 -128} {a17 8 True -1 0 -1} {a17 9 True 0 0 0} {a17 10 True 1 0 1}\
          324  +{a17 11 True 127 0 127} {a17 12 True 128 0 128} {a17 13 True 255 0 255} {a17 14\
          325  +True 256 0 256} {a17 15 True 32767 0 32767} {a17 16 True 32768 0 32768} {a17 17\
          326  +True 65535 0 65535} {a17 18 True 65536 0 65536} {a17 19 True 2147483647 0\
          327  +2147483647} {a17 20 True 2147483648 0 2147483648} {a17 21 True 4294967295 0\
          328  +4294967295} {a17 22 True 4294967296 0 4294967296} {a17 23 True\
          329  +9223372036854775807 0 9223372036854775807} {a17 24 False 9223372036854775808 0\
          330  +-9223372036854775808} {a17 25 False 18446744073709551615 0\
          331  +-9223372036854775808} {a17 26 False 18446744073709551616 0\
          332  +-9223372036854775808} {a18 0 False -9223372036854775809 0 0} {a18 1 False\
          333  +-9223372036854775808 0 0} {a18 2 False -2147483649 0 -1} {a18 3 False\
          334  +-2147483648 0 0} {a18 4 False -32769 0 32767} {a18 5 True -32768 0 -32768} {a18\
          335  +6 True -129 0 -129} {a18 7 True -128 0 -128} {a18 8 True -1 0 -1} {a18 9 True 0\
          336  +0 0} {a18 10 True 1 0 1} {a18 11 True 127 0 127} {a18 12 True 128 0 128} {a18\
          337  +13 True 255 0 255} {a18 14 True 256 0 256} {a18 15 True 32767 0 32767} {a18 16\
          338  +False 32768 0 -32768} {a18 17 False 65535 0 -1} {a18 18 False 65536 0 0} {a18\
          339  +19 False 2147483647 0 -1} {a18 20 False 2147483648 0 0} {a18 21 False\
          340  +4294967295 0 -1} {a18 22 False 4294967296 0 0} {a18 23 False\
          341  +9223372036854775807 0 -1} {a18 24 False 9223372036854775808 0 0} {a18 25 False\
          342  +18446744073709551615 0 0} {a18 26 False 18446744073709551616 0 0} {a19 0 False\
          343  +-9223372036854775809 0 0} {a19 1 False -9223372036854775808 0 0} {a19 2 False\
          344  +-2147483649 0 65535} {a19 3 False -2147483648 0 0} {a19 4 False -32769 0 32767}\
          345  +{a19 5 False -32768 0 32768} {a19 6 False -129 0 65407} {a19 7 False -128 0\
          346  +65408} {a19 8 False -1 0 65535} {a19 9 True 0 0 0} {a19 10 True 1 0 1} {a19 11\
          347  +True 127 0 127} {a19 12 True 128 0 128} {a19 13 True 255 0 255} {a19 14 True\
          348  +256 0 256} {a19 15 True 32767 0 32767} {a19 16 True 32768 0 32768} {a19 17 True\
          349  +65535 0 65535} {a19 18 False 65536 0 0} {a19 19 False 2147483647 0 65535} {a19\
          350  +20 False 2147483648 0 0} {a19 21 False 4294967295 0 65535} {a19 22 False\
          351  +4294967296 0 0} {a19 23 False 9223372036854775807 0 65535} {a19 24 False\
          352  +9223372036854775808 0 0} {a19 25 False 18446744073709551615 0 0} {a19 26 False\
          353  +18446744073709551616 0 0} {a20 0 False -9223372036854775809 0 0} {a20 1 False\
          354  +-9223372036854775808 0 0} {a20 2 False -2147483649 0 255} {a20 3 False\
          355  +-2147483648 0 0} {a20 4 False -32769 0 255} {a20 5 False -32768 0 0} {a20 6\
          356  +False -129 0 127} {a20 7 False -128 0 128} {a20 8 False -1 0 255} {a20 9 True 0\
          357  +0 0} {a20 10 True 1 0 1} {a20 11 True 127 0 127} {a20 12 True 128 0 128} {a20\
          358  +13 True 255 0 255} {a20 14 False 256 0 0} {a20 15 False 32767 0 255} {a20 16\
          359  +False 32768 0 0} {a20 17 False 65535 0 255} {a20 18 False 65536 0 0} {a20 19\
          360  +False 2147483647 0 255} {a20 20 False 2147483648 0 0} {a20 21 False 4294967295\
          361  +0 255} {a20 22 False 4294967296 0 0} {a20 23 False 9223372036854775807 0 255}\
          362  +{a20 24 False 9223372036854775808 0 0} {a20 25 False 18446744073709551615 0 0}\
          363  +{a20 26 False 18446744073709551616 0 0} {a21 0 False -9223372036854775809 0 0}\
          364  +{a21 1 False -9223372036854775808 0 0} {a21 2 False -2147483649 0 -1} {a21 3\
          365  +False -2147483648 0 0} {a21 4 False -32769 0 -1} {a21 5 False -32768 0 0} {a21\
          366  +6 False -129 0 127} {a21 7 True -128 0 -128} {a21 8 True -1 0 -1} {a21 9 True 0\
          367  +0 0} {a21 10 True 1 0 1} {a21 11 True 127 0 127} {a21 12 False 128 0 -128} {a21\
          368  +13 False 255 0 -1} {a21 14 False 256 0 0} {a21 15 False 32767 0 -1} {a21 16\
          369  +False 32768 0 0} {a21 17 False 65535 0 -1} {a21 18 False 65536 0 0} {a21 19\
          370  +False 2147483647 0 -1} {a21 20 False 2147483648 0 0} {a21 21 False 4294967295 0\
          371  +-1} {a21 22 False 4294967296 0 0} {a21 23 False 9223372036854775807 0 -1} {a21\
          372  +24 False 9223372036854775808 0 0} {a21 25 False 18446744073709551615 0 0} {a21\
          373  +26 False 18446744073709551616 0 0} {a22 0 False -9223372036854775809 0 0} {a22\
          374  +1 False -9223372036854775808 0 0} {a22 2 False -2147483649 0 2147483647} {a22 3\
          375  +False -2147483648 0 2147483648} {a22 4 False -32769 0 4294934527} {a22 5 False\
          376  +-32768 0 4294934528} {a22 6 False -129 0 4294967167} {a22 7 False -128 0\
          377  +4294967168} {a22 8 False -1 0 4294967295} {a22 9 True 0 0 0} {a22 10 True 1 0\
          378  +1} {a22 11 True 127 0 127} {a22 12 True 128 0 128} {a22 13 True 255 0 255} {a22\
          379  +14 True 256 0 256} {a22 15 True 32767 0 32767} {a22 16 True 32768 0 32768} {a22\
          380  +17 True 65535 0 65535} {a22 18 True 65536 0 65536} {a22 19 True 2147483647 0\
          381  +2147483647} {a22 20 True 2147483648 0 2147483648} {a22 21 True 4294967295 0\
          382  +4294967295} {a22 22 False 4294967296 0 0} {a22 23 False 9223372036854775807 0\
          383  +4294967295} {a22 24 False 9223372036854775808 0 0} {a22 25 False\
          384  +18446744073709551615 0 0} {a22 26 False 18446744073709551616 0 0} {a23 0 False\
          385  +-9223372036854775809 0 0} {a23 1 False -9223372036854775808 0 0} {a23 2 False\
          386  +-2147483649 0 255} {a23 3 False -2147483648 0 0} {a23 4 False -32769 0 255}\
          387  +{a23 5 False -32768 0 0} {a23 6 False -129 0 127} {a23 7 False -128 0 128} {a23\
          388  +8 False -1 0 255} {a23 9 True 0 0 0} {a23 10 True 1 0 1} {a23 11 True 127 0\
          389  +127} {a23 12 True 128 0 128} {a23 13 True 255 0 255} {a23 14 False 256 0 0}\
          390  +{a23 15 False 32767 0 255} {a23 16 False 32768 0 0} {a23 17 False 65535 0 255}\
          391  +{a23 18 False 65536 0 0} {a23 19 False 2147483647 0 255} {a23 20 False\
          392  +2147483648 0 0} {a23 21 False 4294967295 0 255} {a23 22 False 4294967296 0 0}\
          393  +{a23 23 False 9223372036854775807 0 255} {a23 24 False 9223372036854775808 0 0}\
          394  +{a23 25 False 18446744073709551615 0 0} {a23 26 False 18446744073709551616 0 0}\
          395  +{a24 0 False -9223372036854775809 0 0} {a24 1 False -9223372036854775808 0 0}\
          396  +{a24 2 False -2147483649 0 65535} {a24 3 False -2147483648 0 0} {a24 4 False\
          397  +-32769 0 32767} {a24 5 False -32768 0 32768} {a24 6 False -129 0 65407} {a24 7\
          398  +False -128 0 65408} {a24 8 False -1 0 65535} {a24 9 True 0 0 0} {a24 10 True 1\
          399  +0 1} {a24 11 True 127 0 127} {a24 12 True 128 0 128} {a24 13 True 255 0 255}\
          400  +{a24 14 True 256 0 256} {a24 15 True 32767 0 32767} {a24 16 True 32768 0 32768}\
          401  +{a24 17 True 65535 0 65535} {a24 18 False 65536 0 0} {a24 19 False 2147483647 0\
          402  +65535} {a24 20 False 2147483648 0 0} {a24 21 False 4294967295 0 65535} {a24 22\
          403  +False 4294967296 0 0} {a24 23 False 9223372036854775807 0 65535} {a24 24 False\
          404  +9223372036854775808 0 0} {a24 25 False 18446744073709551615 0 0} {a24 26 False\
          405  +18446744073709551616 0 0} {a25 0 False -9223372036854775809 0 0} {a25 1 False\
          406  +-9223372036854775808 0 0} {a25 2 False -2147483649 0 2147483647} {a25 3 False\
          407  +-2147483648 0 2147483648} {a25 4 False -32769 0 4294934527} {a25 5 False -32768\
          408  +0 4294934528} {a25 6 False -129 0 4294967167} {a25 7 False -128 0 4294967168}\
          409  +{a25 8 False -1 0 4294967295} {a25 9 True 0 0 0} {a25 10 True 1 0 1} {a25 11\
          410  +True 127 0 127} {a25 12 True 128 0 128} {a25 13 True 255 0 255} {a25 14 True\
          411  +256 0 256} {a25 15 True 32767 0 32767} {a25 16 True 32768 0 32768} {a25 17 True\
          412  +65535 0 65535} {a25 18 True 65536 0 65536} {a25 19 True 2147483647 0\
          413  +2147483647} {a25 20 True 2147483648 0 2147483648} {a25 21 True 4294967295 0\
          414  +4294967295} {a25 22 False 4294967296 0 0} {a25 23 False 9223372036854775807 0\
          415  +4294967295} {a25 24 False 9223372036854775808 0 0} {a25 25 False\
          416  +18446744073709551615 0 0} {a25 26 False 18446744073709551616 0 0} {a26 0 False\
   398    417   -9223372036854775809 0 9223372036854775808} {a26 1 False -9223372036854775808 0\
   399    418   9223372036854775808} {a26 2 False -2147483649 0 18446744071562067967} {a26 3\
   400    419   False -2147483648 0 18446744071562067968} {a26 4 False -32769 0\
   401    420   18446744073709518847} {a26 5 False -32768 0 18446744073709518848} {a26 6 False\
   402    421   -129 0 18446744073709551487} {a26 7 False -128 0 18446744073709551488} {a26 8\
   403         -False -1 0 18446744073709551615} {a26 9 True 0} {a26 10 True 1} {a26 11 True\
   404         -127} {a26 12 True 128} {a26 13 True 255} {a26 14 True 256} {a26 15 True 32767}\
   405         -{a26 16 True 32768} {a26 17 True 65535} {a26 18 True 65536} {a26 19 True\
   406         -2147483647} {a26 20 True 2147483648} {a26 21 True 4294967295} {a26 22 True\
   407         -4294967296} {a26 23 True 9223372036854775807} {a26 24 True 9223372036854775808}\
   408         -{a26 25 False 18446744073709551615 0 9223372036854775808} {a26 26 False\
   409         -18446744073709551616 0 9223372036854775808} {a27 0 False -9223372036854775809 0\
   410         -9223372036854775808} {a27 1 False -9223372036854775808 0 9223372036854775808}\
   411         -{a27 2 False -2147483649 0 18446744071562067967} {a27 3 False -2147483648 0\
   412         -18446744071562067968} {a27 4 False -32769 0 18446744073709518847} {a27 5 False\
   413         --32768 0 18446744073709518848} {a27 6 False -129 0 18446744073709551487} {a27 7\
   414         -False -128 0 18446744073709551488} {a27 8 False -1 0 18446744073709551615} {a27\
   415         -9 True 0} {a27 10 True 1} {a27 11 True 127} {a27 12 True 128} {a27 13 True 255}\
   416         -{a27 14 True 256} {a27 15 True 32767} {a27 16 True 32768} {a27 17 True 65535}\
   417         -{a27 18 True 65536} {a27 19 True 2147483647} {a27 20 True 2147483648} {a27 21\
   418         -True 4294967295} {a27 22 True 4294967296} {a27 23 True 9223372036854775807}\
   419         -{a27 24 True 9223372036854775808} {a27 25 False 18446744073709551615 0\
   420         -9223372036854775808} {a27 26 False 18446744073709551616 0 9223372036854775808}\
   421         -{a28 0 False -9223372036854775809 0 9223372036854775808} {a28 1 False\
   422         --9223372036854775808 0 9223372036854775808} {a28 2 False -2147483649 0\
   423         -18446744071562067967} {a28 3 False -2147483648 0 18446744071562067968} {a28 4\
   424         -False -32769 0 18446744073709518847} {a28 5 False -32768 0\
   425         -18446744073709518848} {a28 6 False -129 0 18446744073709551487} {a28 7 False\
   426         --128 0 18446744073709551488} {a28 8 False -1 0 18446744073709551615} {a28 9\
   427         -True 0} {a28 10 True 1} {a28 11 True 127} {a28 12 True 128} {a28 13 True 255}\
   428         -{a28 14 True 256} {a28 15 True 32767} {a28 16 True 32768} {a28 17 True 65535}\
   429         -{a28 18 True 65536} {a28 19 True 2147483647} {a28 20 True 2147483648} {a28 21\
   430         -True 4294967295} {a28 22 True 4294967296} {a28 23 True 9223372036854775807}\
   431         -{a28 24 True 9223372036854775808} {a28 25 False 18446744073709551615 0\
   432         -9223372036854775808} {a28 26 False 18446744073709551616 0 9223372036854775808}\
   433         -{a29 0 False -9223372036854775809 1 overflow} {a29 1 False -9223372036854775808\
   434         -1 overflow} {a29 2 False -2147483649 1 overflow} {a29 3 False -2147483648 1\
   435         -overflow} {a29 4 False -32769 1 overflow} {a29 5 False -32768 1 overflow} {a29\
   436         -6 False -129 1 overflow} {a29 7 False -128 1 overflow} {a29 8 False -1 1\
   437         -overflow} {a29 9 True 0} {a29 10 True 1} {a29 11 True 127} {a29 12 True 128}\
   438         -{a29 13 True 255} {a29 14 False 256 1 overflow} {a29 15 False 32767 1 overflow}\
   439         -{a29 16 False 32768 1 overflow} {a29 17 False 65535 1 overflow} {a29 18 False\
   440         -65536 1 overflow} {a29 19 False 2147483647 1 overflow} {a29 20 False 2147483648\
   441         -1 overflow} {a29 21 False 4294967295 1 overflow} {a29 22 False 4294967296 1\
   442         -overflow} {a29 23 False 9223372036854775807 1 overflow} {a29 24 False\
   443         -9223372036854775808 1 overflow} {a29 25 False 18446744073709551615 1 overflow}\
   444         -{a29 26 False 18446744073709551616 1 overflow} {a30 0 False\
   445         --9223372036854775809 1 overflow} {a30 1 False -9223372036854775808 1 overflow}\
   446         -{a30 2 False -2147483649 1 overflow} {a30 3 False -2147483648 1 overflow} {a30\
   447         -4 False -32769 1 overflow} {a30 5 False -32768 1 overflow} {a30 6 False -129 1\
   448         -overflow} {a30 7 False -128 1 overflow} {a30 8 False -1 1 overflow} {a30 9 True\
   449         -0} {a30 10 True 1} {a30 11 True 127} {a30 12 True 128} {a30 13 True 255} {a30\
   450         -14 True 256} {a30 15 True 32767} {a30 16 True 32768} {a30 17 True 65535} {a30\
   451         -18 False 65536 1 overflow} {a30 19 False 2147483647 1 overflow} {a30 20 False\
   452         -2147483648 1 overflow} {a30 21 False 4294967295 1 overflow} {a30 22 False\
   453         -4294967296 1 overflow} {a30 23 False 9223372036854775807 1 overflow} {a30 24\
   454         -False 9223372036854775808 1 overflow} {a30 25 False 18446744073709551615 1\
   455         -overflow} {a30 26 False 18446744073709551616 1 overflow} {a31 0 False\
   456         --9223372036854775809 1 overflow} {a31 1 False -9223372036854775808 1 overflow}\
   457         -{a31 2 False -2147483649 1 overflow} {a31 3 False -2147483648 1 overflow} {a31\
   458         -4 False -32769 1 overflow} {a31 5 False -32768 1 overflow} {a31 6 False -129 1\
   459         -overflow} {a31 7 False -128 1 overflow} {a31 8 False -1 1 overflow} {a31 9 True\
   460         -0} {a31 10 True 1} {a31 11 True 127} {a31 12 True 128} {a31 13 True 255} {a31\
   461         -14 True 256} {a31 15 True 32767} {a31 16 True 32768} {a31 17 True 65535} {a31\
   462         -18 True 65536} {a31 19 True 2147483647} {a31 20 True 2147483648} {a31 21 True\
   463         -4294967295} {a31 22 False 4294967296 1 overflow} {a31 23 False\
   464         -9223372036854775807 1 overflow} {a31 24 False 9223372036854775808 1 overflow}\
   465         -{a31 25 False 18446744073709551615 1 overflow} {a31 26 False\
   466         -18446744073709551616 1 overflow} {a32 0 False -9223372036854775809 0\
   467         -9223372036854775808} {a32 1 False -9223372036854775808 0 9223372036854775808}\
   468         -{a32 2 False -2147483649 0 18446744071562067967} {a32 3 False -2147483648 0\
   469         -18446744071562067968} {a32 4 False -32769 0 18446744073709518847} {a32 5 False\
   470         --32768 0 18446744073709518848} {a32 6 False -129 0 18446744073709551487} {a32 7\
   471         -False -128 0 18446744073709551488} {a32 8 False -1 0 18446744073709551615} {a32\
   472         -9 True 0} {a32 10 True 1} {a32 11 True 127} {a32 12 True 128} {a32 13 True 255}\
   473         -{a32 14 True 256} {a32 15 True 32767} {a32 16 True 32768} {a32 17 True 65535}\
   474         -{a32 18 True 65536} {a32 19 True 2147483647} {a32 20 True 2147483648} {a32 21\
   475         -True 4294967295} {a32 22 True 4294967296} {a32 23 True 9223372036854775807}\
   476         -{a32 24 True 9223372036854775808} {a32 25 False 18446744073709551615 0\
   477         -9223372036854775808} {a32 26 False 18446744073709551616 0 9223372036854775808}}}
          422  +False -1 0 18446744073709551615} {a26 9 True 0 0 0} {a26 10 True 1 0 1} {a26 11\
          423  +True 127 0 127} {a26 12 True 128 0 128} {a26 13 True 255 0 255} {a26 14 True\
          424  +256 0 256} {a26 15 True 32767 0 32767} {a26 16 True 32768 0 32768} {a26 17 True\
          425  +65535 0 65535} {a26 18 True 65536 0 65536} {a26 19 True 2147483647 0\
          426  +2147483647} {a26 20 True 2147483648 0 2147483648} {a26 21 True 4294967295 0\
          427  +4294967295} {a26 22 True 4294967296 0 4294967296} {a26 23 True\
          428  +9223372036854775807 0 9223372036854775807} {a26 24 True 9223372036854775808 0\
          429  +9223372036854775808} {a26 25 False 18446744073709551615 0 9223372036854775808}\
          430  +{a26 26 False 18446744073709551616 0 9223372036854775808} {a27 0 False\
          431  +-9223372036854775809 0 9223372036854775808} {a27 1 False -9223372036854775808 0\
          432  +9223372036854775808} {a27 2 False -2147483649 0 18446744071562067967} {a27 3\
          433  +False -2147483648 0 18446744071562067968} {a27 4 False -32769 0\
          434  +18446744073709518847} {a27 5 False -32768 0 18446744073709518848} {a27 6 False\
          435  +-129 0 18446744073709551487} {a27 7 False -128 0 18446744073709551488} {a27 8\
          436  +False -1 0 18446744073709551615} {a27 9 True 0 0 0} {a27 10 True 1 0 1} {a27 11\
          437  +True 127 0 127} {a27 12 True 128 0 128} {a27 13 True 255 0 255} {a27 14 True\
          438  +256 0 256} {a27 15 True 32767 0 32767} {a27 16 True 32768 0 32768} {a27 17 True\
          439  +65535 0 65535} {a27 18 True 65536 0 65536} {a27 19 True 2147483647 0\
          440  +2147483647} {a27 20 True 2147483648 0 2147483648} {a27 21 True 4294967295 0\
          441  +4294967295} {a27 22 True 4294967296 0 4294967296} {a27 23 True\
          442  +9223372036854775807 0 9223372036854775807} {a27 24 True 9223372036854775808 0\
          443  +9223372036854775808} {a27 25 False 18446744073709551615 0 9223372036854775808}\
          444  +{a27 26 False 18446744073709551616 0 9223372036854775808} {a28 0 False\
          445  +-9223372036854775809 0 9223372036854775808} {a28 1 False -9223372036854775808 0\
          446  +9223372036854775808} {a28 2 False -2147483649 0 18446744071562067967} {a28 3\
          447  +False -2147483648 0 18446744071562067968} {a28 4 False -32769 0\
          448  +18446744073709518847} {a28 5 False -32768 0 18446744073709518848} {a28 6 False\
          449  +-129 0 18446744073709551487} {a28 7 False -128 0 18446744073709551488} {a28 8\
          450  +False -1 0 18446744073709551615} {a28 9 True 0 0 0} {a28 10 True 1 0 1} {a28 11\
          451  +True 127 0 127} {a28 12 True 128 0 128} {a28 13 True 255 0 255} {a28 14 True\
          452  +256 0 256} {a28 15 True 32767 0 32767} {a28 16 True 32768 0 32768} {a28 17 True\
          453  +65535 0 65535} {a28 18 True 65536 0 65536} {a28 19 True 2147483647 0\
          454  +2147483647} {a28 20 True 2147483648 0 2147483648} {a28 21 True 4294967295 0\
          455  +4294967295} {a28 22 True 4294967296 0 4294967296} {a28 23 True\
          456  +9223372036854775807 0 9223372036854775807} {a28 24 True 9223372036854775808 0\
          457  +9223372036854775808} {a28 25 False 18446744073709551615 0 9223372036854775808}\
          458  +{a28 26 False 18446744073709551616 0 9223372036854775808} {a29 0 False\
          459  +-9223372036854775809 0 0} {a29 1 False -9223372036854775808 0 0} {a29 2 False\
          460  +-2147483649 0 255} {a29 3 False -2147483648 0 0} {a29 4 False -32769 0 255}\
          461  +{a29 5 False -32768 0 0} {a29 6 False -129 0 127} {a29 7 False -128 0 128} {a29\
          462  +8 False -1 0 255} {a29 9 True 0 0 0} {a29 10 True 1 0 1} {a29 11 True 127 0\
          463  +127} {a29 12 True 128 0 128} {a29 13 True 255 0 255} {a29 14 False 256 0 0}\
          464  +{a29 15 False 32767 0 255} {a29 16 False 32768 0 0} {a29 17 False 65535 0 255}\
          465  +{a29 18 False 65536 0 0} {a29 19 False 2147483647 0 255} {a29 20 False\
          466  +2147483648 0 0} {a29 21 False 4294967295 0 255} {a29 22 False 4294967296 0 0}\
          467  +{a29 23 False 9223372036854775807 0 255} {a29 24 False 9223372036854775808 0 0}\
          468  +{a29 25 False 18446744073709551615 0 0} {a29 26 False 18446744073709551616 0 0}\
          469  +{a30 0 False -9223372036854775809 0 0} {a30 1 False -9223372036854775808 0 0}\
          470  +{a30 2 False -2147483649 0 65535} {a30 3 False -2147483648 0 0} {a30 4 False\
          471  +-32769 0 32767} {a30 5 False -32768 0 32768} {a30 6 False -129 0 65407} {a30 7\
          472  +False -128 0 65408} {a30 8 False -1 0 65535} {a30 9 True 0 0 0} {a30 10 True 1\
          473  +0 1} {a30 11 True 127 0 127} {a30 12 True 128 0 128} {a30 13 True 255 0 255}\
          474  +{a30 14 True 256 0 256} {a30 15 True 32767 0 32767} {a30 16 True 32768 0 32768}\
          475  +{a30 17 True 65535 0 65535} {a30 18 False 65536 0 0} {a30 19 False 2147483647 0\
          476  +65535} {a30 20 False 2147483648 0 0} {a30 21 False 4294967295 0 65535} {a30 22\
          477  +False 4294967296 0 0} {a30 23 False 9223372036854775807 0 65535} {a30 24 False\
          478  +9223372036854775808 0 0} {a30 25 False 18446744073709551615 0 0} {a30 26 False\
          479  +18446744073709551616 0 0} {a31 0 False -9223372036854775809 0 0} {a31 1 False\
          480  +-9223372036854775808 0 0} {a31 2 False -2147483649 0 2147483647} {a31 3 False\
          481  +-2147483648 0 2147483648} {a31 4 False -32769 0 4294934527} {a31 5 False -32768\
          482  +0 4294934528} {a31 6 False -129 0 4294967167} {a31 7 False -128 0 4294967168}\
          483  +{a31 8 False -1 0 4294967295} {a31 9 True 0 0 0} {a31 10 True 1 0 1} {a31 11\
          484  +True 127 0 127} {a31 12 True 128 0 128} {a31 13 True 255 0 255} {a31 14 True\
          485  +256 0 256} {a31 15 True 32767 0 32767} {a31 16 True 32768 0 32768} {a31 17 True\
          486  +65535 0 65535} {a31 18 True 65536 0 65536} {a31 19 True 2147483647 0\
          487  +2147483647} {a31 20 True 2147483648 0 2147483648} {a31 21 True 4294967295 0\
          488  +4294967295} {a31 22 False 4294967296 0 0} {a31 23 False 9223372036854775807 0\
          489  +4294967295} {a31 24 False 9223372036854775808 0 0} {a31 25 False\
          490  +18446744073709551615 0 0} {a31 26 False 18446744073709551616 0 0} {a32 0 False\
          491  +-9223372036854775809 0 9223372036854775808} {a32 1 False -9223372036854775808 0\
          492  +9223372036854775808} {a32 2 False -2147483649 0 18446744071562067967} {a32 3\
          493  +False -2147483648 0 18446744071562067968} {a32 4 False -32769 0\
          494  +18446744073709518847} {a32 5 False -32768 0 18446744073709518848} {a32 6 False\
          495  +-129 0 18446744073709551487} {a32 7 False -128 0 18446744073709551488} {a32 8\
          496  +False -1 0 18446744073709551615} {a32 9 True 0 0 0} {a32 10 True 1 0 1} {a32 11\
          497  +True 127 0 127} {a32 12 True 128 0 128} {a32 13 True 255 0 255} {a32 14 True\
          498  +256 0 256} {a32 15 True 32767 0 32767} {a32 16 True 32768 0 32768} {a32 17 True\
          499  +65535 0 65535} {a32 18 True 65536 0 65536} {a32 19 True 2147483647 0\
          500  +2147483647} {a32 20 True 2147483648 0 2147483648} {a32 21 True 4294967295 0\
          501  +4294967295} {a32 22 True 4294967296 0 4294967296} {a32 23 True\
          502  +9223372036854775807 0 9223372036854775807} {a32 24 True 9223372036854775808 0\
          503  +9223372036854775808} {a32 25 False 18446744073709551615 0 9223372036854775808}\
          504  +{a32 26 False 18446744073709551616 0 9223372036854775808}}}
          505  +
          506  +###############################################################################
          507  +
          508  +runTest {test tkt-c010fa6584-1.2 {UInt32 parameter binding} -setup {
          509  +  setupDb [set fileName tkt-c010fa6584-1.2.db]
          510  +} -body {
          511  +  sql execute $db "CREATE TABLE t1(x UINT32);"
          512  +
          513  +  sql execute $db "INSERT INTO t1 (x) VALUES(?);" \
          514  +      [list param1 UInt32 0xFFFFFFFF]
          515  +
          516  +  sql execute -execute scalar $db "SELECT x FROM t1;"
          517  +} -cleanup {
          518  +  cleanupDb $fileName
          519  +
          520  +  unset -nocomplain db fileName
          521  +} -constraints \
          522  +{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
          523  +{4294967295}}
   478    524   
   479    525   ###############################################################################
   480    526   
   481    527   runSQLiteTestEpilogue
   482    528   runTestEpilogue

Changes to readme.htm.

   192    192   <ul>
   193    193       <li>Updated to <a href="http://www.sqlite.org/src/info/trunk">SQLite 3.7.16</a>.</li>
   194    194       <li>Add static Execute method to the SQLiteCommand class.</li>
   195    195       <li>Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.</li>
   196    196       <li>When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.</li>
   197    197       <li>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.</li>
   198    198       <li>Remove AUTOINCREMENT from the column type name map.&nbsp;<b>** Potentially Incompatible Change **</b></li>
          199  +    <li>Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584].&nbsp;<b>** Potentially Incompatible Change **</b></li>
   199    200   </ul>
   200    201   <p>
   201    202       <b>1.0.84.0 - January 9, 2013</b>
   202    203   </p>
   203    204   <ul>
   204    205       <li>Updated to <a href="http://www.sqlite.org/releaselog/3_7_15_2.html">SQLite 3.7.15.2</a>.</li>
   205    206       <li>Explicitly dispose of all SQLiteCommand objects managed by the DbDataAdapter class. Fix for [6434e23a0f].</li>

Changes to www/news.wiki.

     8      8   <ul>
     9      9       <li>Updated to [http://www.sqlite.org/src/info/trunk|SQLite 3.7.16].</li>
    10     10       <li>Add static Execute method to the SQLiteCommand class.</li>
    11     11       <li>Add public constructor to the SQLiteDataAdapter class that allows passing the parseViaFramework parameter to the SQLiteConnection constructor.</li>
    12     12       <li>When built with the CHECK_STATE compile-time option, skip throwing exceptions from the SQLiteDataReader class when the object is being disposed.</li>
    13     13       <li>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.</li>
    14     14       <li>Remove AUTOINCREMENT from the column type name map.&nbsp;<b>** Potentially Incompatible Change **</b></li>
           15  +    <li>Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column types. Fix for [c010fa6584].&nbsp;<b>** Potentially Incompatible Change **</b></li>
    15     16   </ul>
    16     17   <p>
    17     18       <b>1.0.84.0 - January 9, 2013</b>
    18     19   </p>
    19     20   <ul>
    20     21       <li>Updated to [http://www.sqlite.org/releaselog/3_7_15_2.html|SQLite 3.7.15.2].</li>
    21     22       <li>Explicitly dispose of all SQLiteCommand objects managed by the DbDataAdapter class. Fix for [6434e23a0f].</li>