Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

/home/r0/dav/atlas.dir/atlas3/sources/stand-alone/coef-merge.cpp File Reference

#include <iostream>
#include <cassert>
#include <vector>
#include <fstream>
#include <stdexcept>
#include <iomanip>
#include <sstream>

Include dependency graph for coef-merge.cpp:

Include dependency graph

Go to the source code of this file.

Classes

class  ChineseBox
class  PrimeChineseBox
class  TabledChineseBox
class  PrimeTabledChineseBox
class  DoubleTabledChineseBox
class  PrimeDoubleTabledChineseBox
class  modulus_info
class  modulus_info_with_table

Typedefs

typedef unsigned long int ulong
typedef std::streamoff file_pos

Functions

ulong extended_gcd (ulong a, ulong b, ulong &lcm, ulong &m)
file_pos read_bytes (ulong n, std::istream &in)
void write_bytes (file_pos val, ulong n, std::ostream &out)
void read_renumbering_table (ulong nr_pols, std::ifstream &in, std::vector< unsigned int > &table) throw (std::length_error,std::bad_alloc)
file_pos write_indices (ulong coefficient_size, const std::vector< modulus_info * > &mod_info, std::ostream &out, bool verbose, bool output)
ulong write_coefficients (ulong coefficient_size, const std::vector< modulus_info * > &mod_info, const std::vector< ChineseBox * > &box, std::ostream &out, bool verbose, bool output)
void test (std::vector< ulong > &moduli, std::vector< ChineseBox * > &box)
int main (int argc, char **argv)

Variables

const std::ios_base::openmode binary_out
const std::ios_base::openmode binary_in


Typedef Documentation

typedef std::streamoff file_pos
 

Definition at line 11 of file coef-merge.cpp.

Referenced by modulus_info_with_table::coefficients(), modulus_info::coefficients(), modulus_info_with_table::length(), modulus_info::length(), main(), modulus_info::modulus_info(), read_bytes(), and write_indices().

typedef unsigned long int ulong
 

Definition at line 10 of file coef-merge.cpp.

Referenced by modulus_info_with_table::coefficients(), modulus_info::coefficients(), do_work(), DoubleTabledChineseBox::DoubleTabledChineseBox(), extended_gcd(), ChineseBox::get_gcd(), ChineseBox::get_lcm(), modulus_info_with_table::length(), modulus_info::length(), PrimeDoubleTabledChineseBox::lift_remainders(), DoubleTabledChineseBox::lift_remainders(), PrimeTabledChineseBox::lift_remainders(), TabledChineseBox::lift_remainders(), PrimeChineseBox::lift_remainders(), ChineseBox::lift_remainders(), main(), modulus_info::modulus_info(), modulus_info_with_table::modulus_info_with_table(), modulus_info::nr_pol(), read_renumbering_table(), TabledChineseBox::TabledChineseBox(), test(), write_coefficients(), and write_indices().


Function Documentation

ulong extended_gcd ulong  a,
ulong  b,
ulong lcm,
ulong m
 

Definition at line 154 of file coef-merge.cpp.

References ulong.

Referenced by ChineseBox::ChineseBox().

int main int  argc,
char **  argv
 

Definition at line 487 of file coef-merge.cpp.

References file_pos, ChineseBox::get_gcd(), ChineseBox::get_lcm(), test(), ulong, verbose, write_coefficients(), and write_indices().

file_pos read_bytes ulong  n,
std::istream &  in
 

Definition at line 234 of file coef-merge.cpp.

References file_pos, and read_bytes().

void read_renumbering_table ulong  nr_pols,
std::ifstream &  in,
std::vector< unsigned int > &  table
throw (std::length_error,std::bad_alloc)
 

Definition at line 247 of file coef-merge.cpp.

References read_bytes(), and ulong.

Referenced by modulus_info_with_table::modulus_info_with_table().

void test std::vector< ulong > &  moduli,
std::vector< ChineseBox * > &  box
 

Definition at line 449 of file coef-merge.cpp.

References atlas::arithmetic::remainder(), and ulong.

Referenced by main(), atlas::bitset::BitSetBase< 2 >::operator[](), atlas::bitvector::BitMatrix< dim >::row(), atlas::bitset::BitSetBase< 1 >::slice(), and atlas::bitset::BitSet< numFlags >::test().

void write_bytes file_pos  val,
ulong  n,
std::ostream &  out
[inline]
 

Definition at line 241 of file coef-merge.cpp.

Referenced by write_coefficients(), and write_indices().

ulong write_coefficients ulong  coefficient_size,
const std::vector< modulus_info * > &  mod_info,
const std::vector< ChineseBox * > &  box,
std::ostream &  out,
bool  verbose,
bool  output
 

Definition at line 392 of file coef-merge.cpp.

References ulong, verbose, and write_bytes().

Referenced by main().

file_pos write_indices ulong  coefficient_size,
const std::vector< modulus_info * > &  mod_info,
std::ostream &  out,
bool  verbose,
bool  output
 

Definition at line 350 of file coef-merge.cpp.

References file_pos, ulong, verbose, and write_bytes().

Referenced by main().


Variable Documentation

const std::ios_base::openmode binary_in
 

Initial value:

                            std::ios_base::in
                          | std::ios_base::binary

Definition at line 150 of file coef-merge.cpp.

Referenced by main().

const std::ios_base::openmode binary_out
 

Initial value:

                            std::ios_base::out
                          | std::ios_base::trunc
                          | std::ios_base::binary

Definition at line 145 of file coef-merge.cpp.


Generated on Wed Mar 26 16:50:51 2008 for atlas by  doxygen 1.3.9.1