| basix_doc 0.1 | 
#include <int.hpp>
| static void op | ( | uC & | dest1, | 
| uC & | dest0, | ||
| const uC & | a, | ||
| const uC & | b | ||
| ) |  [inline, static] | 
dest1 R + dest0 = a * b.
Definition at line 309 of file int.hpp.
                                                      {
    uC t0, t1;
    uC lo_a = lo (a);
    uC hi_a = hi (a);
    uC lo_b = lo (b);
    uC hi_b = hi (b);
    dest0 = lo_a * lo_b;
    dest1 = hi_a * hi_b;
    t0 = hi_a * lo_b;
    t1 = t0 + lo_a * hi_b;
    if (t1 < t0) dest1 += carry;
    t0 = lo (t1) << n2;
    dest0 += t0;
    dest1 += hi (t1);
    if (dest0 < t0) dest1++;
  }