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 207 of file modulus_naive.hpp.


Member Function Documentation

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.

00102                                                                     {
00103     V::reduce_mod (dest, s1 + s2 + carry, 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.

00098                                                           {
00099     V::reduce_mod (dest, s1 + s2, 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.

00093                                                       {
00094     dest += s + carry;
00095     V::reduce_mod (dest, m, carry); }

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

Definition at line 88 of file modulus_naive.hpp.

00088                                             {
00089     dest += s;
00090     V::reduce_mod (dest, m); }

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

Definition at line 198 of file modulus_naive.hpp.

00198                                                {
00199     (void) m;
00200     dest = s; }

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

Definition at line 179 of file modulus_naive.hpp.

00179                                                           {
00180     C t;
00181     V::inv_mod (t, s2, m);
00182     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 173 of file modulus_naive.hpp.

00173                                             {
00174     C t = s;
00175     V::inv_mod (t, m);
00176     V::mul_mod (dest, t, m); }

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

Definition at line 193 of file modulus_naive.hpp.

00193                                                {
00194     dest = s;
00195     V::reduce_mod (dest, m); }

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

Definition at line 163 of file modulus_naive.hpp.

References mmx::C, and ERROR.

00163                                             {
00164     (void) m;
00165     if ((s == (C) 1) || (s == (C) -1)) { dest = s; return; }
00166     ERROR ("inv_mod: argument is not invertible"); }

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

Definition at line 157 of file modulus_naive.hpp.

References mmx::C, and ERROR.

00157                                 {
00158     (void) m;
00159     if ((dest == (C) 1) || (dest == (C) -1)) return;
00160     ERROR ("inv_mod: argument is not invertible"); }

static bool is_invertible_mod ( const C &  s,
const M &  m 
) [inline, static, inherited]

Definition at line 152 of file modulus_naive.hpp.

References mmx::C.

00152                                              {
00153     (void) m;
00154     return ((s == (C) 1) || (s == (C) -1)); }

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.

00144                                                                     {
00145     V::reduce_mod (dest, s1 * s2 + carry, 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.

00140                                                           {
00141     V::reduce_mod (dest, s1 * s2, m); }

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.

00134                                                       {
00135     dest *= s;
00136     dest += carry;
00137     V::reduce_mod (dest, 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.

00129                                             {
00130     dest *= s;
00131     V::reduce_mod (dest, 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.

00084                                                       {
00085     V::reduce_mod (dest, carry - s, 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.

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

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

Definition at line 75 of file modulus_naive.hpp.

00075                                           {
00076     dest= carry - dest;
00077     V::reduce_mod (dest, m, carry); }

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

Definition at line 70 of file modulus_naive.hpp.

00070                                 {
00071     dest = - dest;
00072     V::reduce_mod (dest, m);}

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.

00028 { return true; }

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.

References mmx::quo(), and mmx::rem().

00051                                                          {
00052     if (m.p != 0) {
00053       carry= quo (s, m.p);
00054       dest = rem (s, m.p);
00055     }
00056     else {
00057       carry= 0;
00058       dest= s;
00059     } }

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

Definition at line 47 of file modulus_naive.hpp.

References mmx::rem().

00047                                                {
00048     if (m.p != 0) dest = rem (s, m.p); else 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.

References mmx::quo(), and mmx::rem().

00038                                              {
00039     if (m.p != 0) {
00040       carry= quo (dest, m.p);
00041       dest = rem (dest, m.p);
00042     }
00043     else
00044       carry= 0; }

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

Definition at line 34 of file modulus_naive.hpp.

References mmx::rem().

00034                                    {
00035     if (m.p != 0) dest = rem (dest, m.p); }

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.

00120                                                                     {
00121     V::reduce_mod (dest, s1 - s2 + carry, 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.

00116                                                           {
00117     V::reduce_mod (dest, s1 - s2, m); }

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.

00111                                                       {
00112     dest -= s + carry;
00113     V::reduce_mod (dest, 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.

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


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

Generated on 6 Dec 2012 for numerix by  doxygen 1.6.1