long_int_mul_op< C > Class Template Reference

#include <int.hpp>

List of all members.

Static Public Member Functions


Detailed Description

template<typename C>
class mmx::long_int_mul_op< C >

Definition at line 325 of file int.hpp.


Member Function Documentation

static void op ( uC &  dest1,
uC &  dest0,
const uC &  a,
const uC &  b 
) [inline, static]

dest1 R + dest0 = a * b.

Definition at line 342 of file int.hpp.

00342                                                       {
00343     uC t0, t1;
00344     uC lo_a = lo (a);
00345     uC hi_a = hi (a);
00346     uC lo_b = lo (b);
00347     uC hi_b = hi (b);
00348     dest0 = lo_a * lo_b;
00349     dest1 = hi_a * hi_b;
00350     t0 = hi_a * lo_b;
00351     t1 = t0 + lo_a * hi_b;
00352     if (t1 < t0) dest1 += carry;
00353     t0 = lo (t1) << n2;
00354     dest0 += t0;
00355     dest1 += hi (t1);
00356     if (dest0 < t0) dest1++;
00357   }


The documentation for this class was generated from the following file:

Generated on 6 Dec 2012 for basix by  doxygen 1.6.1