base_unsigned_integer_transformer< I > Struct Template Reference

#include <base_integer.hpp>

List of all members.

Classes

Public Types

Public Member Functions

Public Attributes

Static Public Attributes


Detailed Description

template<typename I>
struct mmx::base_unsigned_integer_transformer< I >

Definition at line 147 of file base_integer.hpp.


Member Typedef Documentation

typedef C base

Definition at line 162 of file base_integer.hpp.

Definition at line 183 of file base_integer.hpp.

Definition at line 182 of file base_integer.hpp.

Definition at line 170 of file base_integer.hpp.

Definition at line 179 of file base_integer.hpp.

typedef integer C

Definition at line 148 of file base_integer.hpp.

typedef unsigned_int_with_size_at_least_helper< internal_size>::type J

Definition at line 154 of file base_integer.hpp.

typedef modulus<I, modulus_base_variant> M

Definition at line 157 of file base_integer.hpp.

typedef I modulus_base

Definition at line 163 of file base_integer.hpp.

typedef modulus<J, modulus_middle_variant> N

Definition at line 160 of file base_integer.hpp.


Constructor & Destructor Documentation

base_unsigned_integer_transformer ( const K &  _p  )  [inline]

Definition at line 189 of file base_integer.hpp.

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

00189                                                          : p (_p) {
00190     J p_s= * p, q_s = square (* p); nat s= 1;
00191     while (quo (q_s, * p) == p_s) {
00192       p_s = q_s; q_s= p_s * * p; s++; }
00193     baser= mmx_new<Baser> (1, mmx_new<Baser_low> (1, p, s));
00194   }

Definition at line 196 of file base_integer.hpp.

00196                                                {
00197     mmx_delete<Baser> (baser, 1); }


Member Function Documentation

nat direct_transform ( I *  c,
nat  n,
const C a 
) [inline]

Definition at line 199 of file base_integer.hpp.

References mmx::direct_base().

00199                                                         {
00200     ASSERT (a >= 0, "invalid negative argument");
00201     return direct_base (c, n, a, * baser); }

void inverse_transform ( C a,
const I *  c,
nat  n 
) [inline]

Definition at line 203 of file base_integer.hpp.

References mmx::inverse_base().

00203                                                           {
00204     return inverse_base (a, c, n, * baser); }

typedef Modulus_variant ( J   ) 
typedef Modulus_variant (  ) 

Member Data Documentation

Definition at line 186 of file base_integer.hpp.

const nat internal_size [static]
Initial value:
    sizeof(I) > sizeof(int) ? sizeof(I) : sizeof(int)

Definition at line 151 of file base_integer.hpp.

M p

Definition at line 185 of file base_integer.hpp.


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

Generated on 6 Dec 2012 for algebramix by  doxygen 1.6.1