algebramix_doc 0.3
base_blocks_transformer< WL, WH, V > Struct Template Reference

#include <base_blocks.hpp>

List of all members.

Public Types

Public Member Functions

Public Attributes

Static Public Attributes


Detailed Description

template<typename WL, typename WH, typename V = typename base_blocks_variant_helper< typename WH::base >::BV>
struct mmx::base_blocks_transformer< WL, WH, V >

Examples:

base_test.cpp.

Definition at line 88 of file base_blocks.hpp.


Member Typedef Documentation

typedef WH::base base

Definition at line 89 of file base_blocks.hpp.

typedef implementation<base_transform,V> Base

Definition at line 100 of file base_blocks.hpp.

typedef base C

Definition at line 95 of file base_blocks.hpp.

typedef modulus_base I

Definition at line 96 of file base_blocks.hpp.

typedef modulus_middle J

Definition at line 97 of file base_blocks.hpp.

typedef modulus<I, modulus_base_variant> M

Definition at line 98 of file base_blocks.hpp.

typedef WL::modulus_base modulus_base

Definition at line 90 of file base_blocks.hpp.

typedef WL::modulus_base_variant modulus_base_variant

Definition at line 91 of file base_blocks.hpp.

typedef WH::modulus_base modulus_middle

Definition at line 92 of file base_blocks.hpp.

typedef WH::modulus_base_variant modulus_middle_variant

Definition at line 93 of file base_blocks.hpp.

typedef modulus<J, modulus_middle_variant> N

Definition at line 99 of file base_blocks.hpp.


Constructor & Destructor Documentation

base_blocks_transformer ( const K &  _p,
nat  _s = th 
) [inline]

Definition at line 111 of file base_blocks.hpp.

References base_blocks_transformer< WL, WH, V >::high, base_blocks_transformer< WL, WH, V >::low, base_blocks_transformer< WL, WH, V >::p, and base_blocks_transformer< WL, WH, V >::s.

    : p(_p), s(_s) {
    ASSERT (_p != 0 && _p != 1, "invalid base");
    low= mmx_new<WL> (1, p);
    J p_s= binpow (J(* p), s);
    high= mmx_new<WH> (1, p_s); }
base_blocks_transformer ( WL *  _low,
nat  _s = th 
) [inline]

Definition at line 118 of file base_blocks.hpp.

References base_blocks_transformer< WL, WH, V >::high, base_blocks_transformer< WL, WH, V >::p, and base_blocks_transformer< WL, WH, V >::s.

    : p(_low->p), s(_s), low(_low) {
    J p_s= binpow (J(* p), s);
    high= mmx_new<WH> (1, p_s); }
~base_blocks_transformer ( ) [inline]

Definition at line 123 of file base_blocks.hpp.

References base_blocks_transformer< WL, WH, V >::high, and base_blocks_transformer< WL, WH, V >::low.

                                     {
    mmx_delete<WL> (low, 1);
    mmx_delete<WH> (high, 1); }

Member Function Documentation

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

Member Data Documentation

const nat th = Threshold(typename WH::base,base_blocks_threshold) [static]

Definition at line 109 of file base_blocks.hpp.


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