modulus_add_integer_naive< V > Struct Template Reference

#include <modular_integer.hpp>

List of all members.

Static Public Member Functions


Detailed Description

template<typename V>
struct mmx::modulus_add_integer_naive< V >

Definition at line 39 of file modular_integer.hpp.


Member Function Documentation

static void add_mod ( C dest,
const C s1,
const C s2,
const M &  m,
C carry 
) [inline, static]

Definition at line 78 of file modular_integer.hpp.

00078                                                                     {
00079     dest = s1;
00080     add_mod (dest, s2, m, carry); }

static void add_mod ( C dest,
const C s1,
const C s2,
const M &  m 
) [inline, static]

Definition at line 73 of file modular_integer.hpp.

00073                                                           {
00074     dest = s1;
00075     add_mod (dest, s2, m); }

static void add_mod ( C dest,
const C s,
const M &  m,
C carry 
) [inline, static]

Definition at line 67 of file modular_integer.hpp.

00067                                                       {
00068     VERIFY (carry == 0 || carry == 1, "unexpected large carry");
00069     dest += s + carry;
00070     if (dest >= m.p) { dest -= m.p; carry= 1; } else carry= 0; }

static void add_mod ( C dest,
const C s,
const M &  m 
) [inline, static]

Definition at line 62 of file modular_integer.hpp.

Referenced by modulus_add_integer_naive< modulus_reduction_naive< modulus_normalization_integer_naive > >::add_mod().

00062                                             {
00063     dest += s;
00064     if (dest >= m.p) dest -= m.p; }

static void neg_mod ( C dest,
const C s,
const M &  m,
C carry 
) [inline, static]

Definition at line 56 of file modular_integer.hpp.

00056                                                       {
00057     VERIFY (carry == 0 || carry == 1, "unexpected large carry");
00058     if (s != 0 || carry != 0) { dest= m.p - s - carry; carry= 1; }
00059     else dest= 0; }

static void neg_mod ( C dest,
const C s,
const M &  m 
) [inline, static]

Definition at line 51 of file modular_integer.hpp.

00051                                             {
00052     if (s != 0) dest = m.p - s; else dest = s;
00053  }

static void neg_mod ( C dest,
const M &  m,
C carry 
) [inline, static]

Definition at line 46 of file modular_integer.hpp.

00046                                           {
00047     VERIFY (carry == 0 || carry == 1, "unexpected large carry");
00048     if (dest != 0 || carry != 0) { dest= m.p - dest - carry; carry= 1; } }

static void neg_mod ( C dest,
const M &  m 
) [inline, static]

Definition at line 42 of file modular_integer.hpp.

00042                                 {
00043     if (dest != 0) dest = m.p - dest; }

static void sub_mod ( C dest,
const C s1,
const C s2,
const M &  m,
C carry 
) [inline, static]

Definition at line 108 of file modular_integer.hpp.

00108                                                                     {
00109     dest = s1;
00110     sub_mod (dest, s2, m, carry); }

static void sub_mod ( C dest,
const C s1,
const C s2,
const M &  m 
) [inline, static]

Definition at line 103 of file modular_integer.hpp.

00103                                                           {
00104     dest = s1;
00105     sub_mod (dest, s2, m); }

static void sub_mod ( C dest,
const C s,
const M &  m,
C carry 
) [inline, static]

Definition at line 99 of file modular_integer.hpp.

00099                                                       {
00100     sub_mod_core (dest, s, m.p, carry); }

static void sub_mod ( C dest,
const C s,
const M &  m 
) [inline, static]
static void sub_mod_core ( C dest,
const C s,
const C p,
C carry 
) [inline, static]

Definition at line 88 of file modular_integer.hpp.

00088                                                            {
00089     VERIFY (carry == 0 || carry == 1, "unexpected large carry");
00090     C t = s + carry;
00091     if (t == p || dest < t) { dest += p; carry= 1; } else carry= 0;
00092     dest -= t; }

static void sub_mod_core ( C dest,
const C s,
const C p 
) [inline, static]

Definition at line 83 of file modular_integer.hpp.

Referenced by modulus_add_integer_naive< modulus_reduction_naive< modulus_normalization_integer_naive > >::sub_mod().

00083                                                  {
00084     if (dest < s) dest += p;
00085     dest -= s; }


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

Generated on 6 Dec 2012 for numerix by  doxygen 1.6.1