long_int_lshift_op< C > Struct Template Reference

#include <int.hpp>

List of all members.

Public Types

Static Public Member Functions

Static Public Attributes


Detailed Description

template<typename C>
struct mmx::long_int_lshift_op< C >

Definition at line 402 of file int.hpp.


Member Typedef Documentation

typedef unsigned_of_helper<C>::type uC

Definition at line 403 of file int.hpp.


Member Function Documentation

static void op ( uC dest1,
uC dest0,
nat  s 
) [inline, static]

dest1 R + dest0 <<= s

Definition at line 410 of file int.hpp.

References long_int_lshift_op< C >::n.

00410                                    {
00411     if (s == 0) return;
00412     if (s < n) {
00413       dest1 = (dest1 << s) | (dest0 >> (n - s));
00414       dest0 = dest0 << s;
00415     }
00416     else {
00417       dest1 = dest0 << (s - n);
00418       dest0 = 0;
00419     }
00420   }


Member Data Documentation

const nat n = 2 * n2 [static]

Definition at line 405 of file int.hpp.

Referenced by long_int_lshift_op< C >::op().

const nat n2 = 4 * sizeof (uC) [static]

Definition at line 404 of file int.hpp.


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

Generated on 6 Dec 2012 for basix by  doxygen 1.6.1