36            Number x{10'000'000'000'000'000, 32768};
 
   43        Number x{10'000'000'000'000'000, 32767};
 
   44        BEAST_EXPECT((x == 
Number{1'000'000'000'000'000, 32768}));
 
   45        Number z{1'000'000'000'000'000, -32769};
 
   46        BEAST_EXPECT(z == 
Number{});
 
   47        Number y{1'000'000'000'000'001'500, 32000};
 
   48        BEAST_EXPECT((y == 
Number{1'000'000'000'000'002, 32003}));
 
   50        BEAST_EXPECT((m == 
Number{-9'223'372'036'854'776, 3}));
 
   52        BEAST_EXPECT((M == 
Number{9'223'372'036'854'776, 3}));
 
   56            Number q{99'999'999'999'999'999, 32767};
 
 
   71            {
Number{1'000'000'000'000'000, -15},
 
   72             Number{6'555'555'555'555'555, -29},
 
   73             Number{1'000'000'000'000'066, -15}},
 
   74            {
Number{-1'000'000'000'000'000, -15},
 
   75             Number{-6'555'555'555'555'555, -29},
 
   76             Number{-1'000'000'000'000'066, -15}},
 
   77            {
Number{-1'000'000'000'000'000, -15},
 
   78             Number{6'555'555'555'555'555, -29},
 
   79             Number{-9'999'999'999'999'344, -16}},
 
   80            {
Number{-6'555'555'555'555'555, -29},
 
   81             Number{1'000'000'000'000'000, -15},
 
   82             Number{9'999'999'999'999'344, -16}},
 
   84            {
Number{5'555'555'555'555'555, -32768},
 
   85             Number{-5'555'555'555'555'554, -32768},
 
   87            {
Number{-9'999'999'999'999'999, -31},
 
   88             Number{1'000'000'000'000'000, -15},
 
   89             Number{9'999'999'999'999'990, -16}}};
 
   90        for (
auto const& [x, y, z] : c)
 
   91            BEAST_EXPECT(x + y == z);
 
   95            Number{9'999'999'999'999'999, 32768} +
 
   96                Number{5'000'000'000'000'000, 32767};
 
  102        BEAST_EXPECT(caught);
 
 
  111            {
Number{1'000'000'000'000'000, -15},
 
  112             Number{6'555'555'555'555'555, -29},
 
  113             Number{9'999'999'999'999'344, -16}},
 
  114            {
Number{6'555'555'555'555'555, -29},
 
  115             Number{1'000'000'000'000'000, -15},
 
  116             Number{-9'999'999'999'999'344, -16}},
 
  117            {
Number{1'000'000'000'000'000, -15},
 
  118             Number{1'000'000'000'000'000, -15},
 
  120            {
Number{1'000'000'000'000'000, -15},
 
  121             Number{1'000'000'000'000'001, -15},
 
  122             Number{-1'000'000'000'000'000, -30}},
 
  123            {
Number{1'000'000'000'000'001, -15},
 
  124             Number{1'000'000'000'000'000, -15},
 
  125             Number{1'000'000'000'000'000, -30}}};
 
  126        for (
auto const& [x, y, z] : c)
 
  127            BEAST_EXPECT(x - y == z);
 
 
  139                {
Number{1414213562373095, -15},
 
  140                 Number{1414213562373095, -15},
 
  141                 Number{2000000000000000, -15}},
 
  142                {
Number{-1414213562373095, -15},
 
  143                 Number{1414213562373095, -15},
 
  144                 Number{-2000000000000000, -15}},
 
  145                {
Number{-1414213562373095, -15},
 
  146                 Number{-1414213562373095, -15},
 
  147                 Number{2000000000000000, -15}},
 
  148                {
Number{3214285714285706, -15},
 
  149                 Number{3111111111111119, -15},
 
  150                 Number{1000000000000000, -14}},
 
  151                {
Number{1000000000000000, -32768},
 
  152                 Number{1000000000000000, -32768},
 
  154            for (
auto const& [x, y, z] : c)
 
  155                BEAST_EXPECT(x * y == z);
 
  161                {
Number{1414213562373095, -15},
 
  162                 Number{1414213562373095, -15},
 
  163                 Number{1999999999999999, -15}},
 
  164                {
Number{-1414213562373095, -15},
 
  165                 Number{1414213562373095, -15},
 
  166                 Number{-1999999999999999, -15}},
 
  167                {
Number{-1414213562373095, -15},
 
  168                 Number{-1414213562373095, -15},
 
  169                 Number{1999999999999999, -15}},
 
  170                {
Number{3214285714285706, -15},
 
  171                 Number{3111111111111119, -15},
 
  172                 Number{9999999999999999, -15}},
 
  173                {
Number{1000000000000000, -32768},
 
  174                 Number{1000000000000000, -32768},
 
  176            for (
auto const& [x, y, z] : c)
 
  177                BEAST_EXPECT(x * y == z);
 
  183                {
Number{1414213562373095, -15},
 
  184                 Number{1414213562373095, -15},
 
  185                 Number{1999999999999999, -15}},
 
  186                {
Number{-1414213562373095, -15},
 
  187                 Number{1414213562373095, -15},
 
  188                 Number{-2000000000000000, -15}},
 
  189                {
Number{-1414213562373095, -15},
 
  190                 Number{-1414213562373095, -15},
 
  191                 Number{1999999999999999, -15}},
 
  192                {
Number{3214285714285706, -15},
 
  193                 Number{3111111111111119, -15},
 
  194                 Number{9999999999999999, -15}},
 
  195                {
Number{1000000000000000, -32768},
 
  196                 Number{1000000000000000, -32768},
 
  198            for (
auto const& [x, y, z] : c)
 
  199                BEAST_EXPECT(x * y == z);
 
  205                {
Number{1414213562373095, -15},
 
  206                 Number{1414213562373095, -15},
 
  207                 Number{2000000000000000, -15}},
 
  208                {
Number{-1414213562373095, -15},
 
  209                 Number{1414213562373095, -15},
 
  210                 Number{-1999999999999999, -15}},
 
  211                {
Number{-1414213562373095, -15},
 
  212                 Number{-1414213562373095, -15},
 
  213                 Number{2000000000000000, -15}},
 
  214                {
Number{3214285714285706, -15},
 
  215                 Number{3111111111111119, -15},
 
  216                 Number{1000000000000000, -14}},
 
  217                {
Number{1000000000000000, -32768},
 
  218                 Number{1000000000000000, -32768},
 
  220            for (
auto const& [x, y, z] : c)
 
  221                BEAST_EXPECT(x * y == z);
 
  226            Number{9'999'999'999'999'999, 32768} *
 
  227                Number{5'000'000'000'000'000, 32767};
 
  233        BEAST_EXPECT(caught);
 
 
  248                {
Number{1414213562373095, -10},
 
  249                 Number{1414213562373095, -10},
 
  251                {
Number{9'999'999'999'999'999},
 
  252                 Number{1'000'000'000'000'000},
 
  253                 Number{9'999'999'999'999'999, -15}},
 
  256            for (
auto const& [x, y, z] : c)
 
  257                BEAST_EXPECT(x / y == z);
 
  266                {
Number{1414213562373095, -10},
 
  267                 Number{1414213562373095, -10},
 
  269                {
Number{9'999'999'999'999'999},
 
  270                 Number{1'000'000'000'000'000},
 
  271                 Number{9'999'999'999'999'999, -15}},
 
  274            for (
auto const& [x, y, z] : c)
 
  275                BEAST_EXPECT(x / y == z);
 
  284                {
Number{1414213562373095, -10},
 
  285                 Number{1414213562373095, -10},
 
  287                {
Number{9'999'999'999'999'999},
 
  288                 Number{1'000'000'000'000'000},
 
  289                 Number{9'999'999'999'999'999, -15}},
 
  292            for (
auto const& [x, y, z] : c)
 
  293                BEAST_EXPECT(x / y == z);
 
  302                {
Number{1414213562373095, -10},
 
  303                 Number{1414213562373095, -10},
 
  305                {
Number{9'999'999'999'999'999},
 
  306                 Number{1'000'000'000'000'000},
 
  307                 Number{9'999'999'999'999'999, -15}},
 
  310            for (
auto const& [x, y, z] : c)
 
  311                BEAST_EXPECT(x / y == z);
 
  322        BEAST_EXPECT(caught);
 
 
  470                {
Number{9'999'999'999'999'999, 0}, 9'999'999'999'999'999},
 
  471                {
Number{9'999'999'999'999'999, 1}, 99'999'999'999'999'990},
 
  472                {
Number{9'999'999'999'999'999, 2}, 999'999'999'999'999'900},
 
  473                {
Number{-9'999'999'999'999'999, 2}, -999'999'999'999'999'900},
 
  488            for (
auto const& [x, y] : c)
 
  491                BEAST_EXPECT(j == y);
 
  508                {
Number{9'999'999'999'999'999, 0}, 9'999'999'999'999'999},
 
  509                {
Number{9'999'999'999'999'999, 1}, 99'999'999'999'999'990},
 
  510                {
Number{9'999'999'999'999'999, 2}, 999'999'999'999'999'900},
 
  511                {
Number{-9'999'999'999'999'999, 2}, -999'999'999'999'999'900},
 
  526            for (
auto const& [x, y] : c)
 
  529                BEAST_EXPECT(j == y);
 
  546                {
Number{9'999'999'999'999'999, 0}, 9'999'999'999'999'999},
 
  547                {
Number{9'999'999'999'999'999, 1}, 99'999'999'999'999'990},
 
  548                {
Number{9'999'999'999'999'999, 2}, 999'999'999'999'999'900},
 
  549                {
Number{-9'999'999'999'999'999, 2}, -999'999'999'999'999'900},
 
  564            for (
auto const& [x, y] : c)
 
  567                BEAST_EXPECT(j == y);
 
  584                {
Number{9'999'999'999'999'999, 0}, 9'999'999'999'999'999},
 
  585                {
Number{9'999'999'999'999'999, 1}, 99'999'999'999'999'990},
 
  586                {
Number{9'999'999'999'999'999, 2}, 999'999'999'999'999'900},
 
  587                {
Number{-9'999'999'999'999'999, 2}, -999'999'999'999'999'900},
 
  602            for (
auto const& [x, y] : c)
 
  605                BEAST_EXPECT(j == y);
 
  617        BEAST_EXPECT(caught);