basix_doc 0.1
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 369 of file int.hpp.


Member Typedef Documentation

typedef unsigned_of_helper<C>::type uC

Definition at line 370 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 377 of file int.hpp.

References long_int_lshift_op< C >::n, and s.

                                   {
    if (s == 0) return;
    if (s < n) {
      dest1 = (dest1 << s) | (dest0 >> (n - s));
      dest0 = dest0 << s;
    }
    else {
      dest1 = dest0 << (s - n);
      dest0 = 0;
    }
  }

Member Data Documentation

const nat n = 2 * n2 [static]

Definition at line 372 of file int.hpp.

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

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

Definition at line 371 of file int.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines