numerix_doc 0.4
modulus_naive Struct Reference

#include <modulus_naive.hpp>

Inheritance diagram for modulus_naive:
modulus_encoding_naive< modulus_div_naive< modulus_inv_naive< modulus_mul_naive< modulus_add_naive< modulus_reduction_naive< modulus_normalization_naive > > > > > > modulus_div_naive< modulus_inv_naive< modulus_mul_naive< modulus_add_naive< modulus_reduction_naive< modulus_normalization_naive > > > > > modulus_inv_naive< modulus_mul_naive< modulus_add_naive< modulus_reduction_naive< modulus_normalization_naive > > > > modulus_mul_naive< modulus_add_naive< modulus_reduction_naive< modulus_normalization_naive > > > modulus_add_naive< modulus_reduction_naive< modulus_normalization_naive > > modulus_reduction_naive< modulus_normalization_naive > modulus_normalization_naive

List of all members.

Static Public Member Functions


Detailed Description

Definition at line 202 of file modulus_naive.hpp.


Member Function Documentation

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

Definition at line 88 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                            {
    dest += s;
    V::reduce_mod (dest, m); }
static void add_mod ( C &  dest,
const C &  s,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 93 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                      {
    dest += s + carry;
    V::reduce_mod (dest, m, carry); }
static void add_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m 
) [inline, static, inherited]

Definition at line 98 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                          {
    V::reduce_mod (dest, s1 + s2, m); }
static void add_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 102 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                                    {
    V::reduce_mod (dest, s1 + s2 + carry, m, carry); }
static void decode_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 193 of file modulus_naive.hpp.

                                               {
    (void) m;
    dest = s; }
static void div_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m 
) [inline, static, inherited]

Definition at line 174 of file modulus_naive.hpp.

                                                          {
    C t;
    V::inv_mod (t, s2, m);
    V::mul_mod (dest, s1, t, m); }
static void div_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 168 of file modulus_naive.hpp.

                                            {
    C t = s;
    V::inv_mod (t, m);
    V::mul_mod (dest, t, m); }
static void encode_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 188 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                               {
    dest = s;
    V::reduce_mod (dest, m); }
static void inv_mod ( C &  dest,
const M &  m 
) [inline, static, inherited]

Definition at line 152 of file modulus_naive.hpp.

References mmx::C.

                                {
    (void) m;
    if ((dest == (C) 1) || (dest == (C) -1)) return;
    ERROR ("inv_mod: argument is not invertible"); }
static void inv_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 158 of file modulus_naive.hpp.

References mmx::C.

                                            {
    (void) m;
    if ((s == (C) 1) || (s == (C) -1)) { dest = s; return; }
    ERROR ("inv_mod: argument is not invertible"); }
static void mul_mod ( C &  dest,
const C &  s,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 134 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                      {
    dest *= s;
    dest += carry;
    V::reduce_mod (dest, m, carry); }
static void mul_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m 
) [inline, static, inherited]

Definition at line 140 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                          {
    V::reduce_mod (dest, s1 * s2, m); }
static void mul_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 144 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                                    {
    V::reduce_mod (dest, s1 * s2 + carry, m, carry); }
static void mul_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 129 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                            {
    dest *= s;
    V::reduce_mod (dest, m); }
static void neg_mod ( C &  dest,
const M &  m 
) [inline, static, inherited]

Definition at line 70 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                {
    dest = - dest;
    V::reduce_mod (dest, m);}
static void neg_mod ( C &  dest,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 75 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                          {
    dest= carry - dest;
    V::reduce_mod (dest, m, carry); }
static void neg_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 80 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                            {
    V::reduce_mod (dest, -s, m);}
static void neg_mod ( C &  dest,
const C &  s,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 84 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                      {
    V::reduce_mod (dest, carry - s, m, carry); }
static bool normalize ( C p) [inline, static, inherited]

Normalize the modulus p. Returns true iff p is a suitable modulus value.

Definition at line 28 of file modulus_naive.hpp.

{ return true; }
static void reduce_mod ( C &  dest,
const M &  m 
) [inline, static, inherited]

Definition at line 34 of file modulus_naive.hpp.

                                   {
    if (m.p != 0) dest = rem (dest, m.p); }
static void reduce_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 47 of file modulus_naive.hpp.

                                               {
    if (m.p != 0) dest = rem (s, m.p); else dest = s; }
static void reduce_mod ( C &  dest,
const C &  s,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 51 of file modulus_naive.hpp.

                                                         {
    if (m.p != 0) {
      carry= quo (s, m.p);
      dest = rem (s, m.p);
    }
    else {
      carry= 0;
      dest= s;
    } }
static void reduce_mod ( C &  dest,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 38 of file modulus_naive.hpp.

                                             {
    if (m.p != 0) {
      carry= quo (dest, m.p);
      dest = rem (dest, m.p);
    }
    else
      carry= 0; }
static void sub_mod ( C &  dest,
const C &  s,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 111 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                      {
    dest -= s + carry;
    V::reduce_mod (dest, m, carry); }
static void sub_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m 
) [inline, static, inherited]

Definition at line 116 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                          {
    V::reduce_mod (dest, s1 - s2, m); }
static void sub_mod ( C &  dest,
const C &  s1,
const C &  s2,
const M &  m,
C &  carry 
) [inline, static, inherited]

Definition at line 120 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                                                    {
    V::reduce_mod (dest, s1 - s2 + carry, m, carry); }
static void sub_mod ( C &  dest,
const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 106 of file modulus_naive.hpp.

References mmx::reduce_mod().

                                            {
    dest -= s;
    V::reduce_mod (dest, m); }

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