/usr/include/givaro/givrnsfixed.h is in libgivaro-dev 4.0.2-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | // Copyright(c)'1994-2011 by The Givaro group
// This file is part of Givaro.
// Givaro is governed by the CeCILL-B license under French law
// and abiding by the rules of distribution of free software.
// see the COPYRIGHT file for more details.
// Time-stamp: <01 Apr 11 15:43:07 Jean-Guillaume.Dumas@imag.fr>
// ==========================================================================
/*! @file givrnsfixed.h
* @ingroup zpz
* @brief Chinese Remainder Algorithm.
*/
#ifndef __GIVARO_arithmodu_fixedprimes_H
#define __GIVARO_arithmodu_fixedprimes_H
#include "givaro/givrns.h"
#include "givaro/givrandom.h"
#include "givaro/givintprime.h"
#include "givaro/modular-integer.h"
#include <vector>
namespace Givaro {
/*! @brief NO DOC
*/
template<class Ints>
class RNSsystemFixed {
typedef RNSsystemFixed<Ints> Self_t;
typedef RNSsystem<Ints, Modular<Ints> > RNS_t;
public:
typedef std::vector<Ints> array;
typedef std::vector<array> tree;
// Default Cstor, Dstor/Cstor of recopy:
RNSsystemFixed() ;
~RNSsystemFixed();
RNSsystemFixed(const Self_t& R);
// -- Cstor with given primes
RNSsystemFixed( const array& primes );
// -- Convert a RNS representation to a Ints Element
template<class smallIntVector>
Ints& RnsToRing( Ints& a, const smallIntVector& rns ) ;
// ------------- Access methods
// -- Returns the number of primes of this ctxt
int size() const { return _primes.size(); }
// -- Returns a array to the beginning of the array of primes
const tree& Primes() const;
// -- Returns the ith primes of the rns system
const Ints ith(const size_t i) const;
protected:
template<class smallIntVector>
Ints& RnsToRingLeft( Ints& I, const smallIntVector& residues, const int level, const int col ) ;
template<class smallIntVector>
Ints& RnsToRingRight( Ints& I, const smallIntVector& residues, const int level, const int col ) ;
tree _primes; // - array of the primes and reciprocals
RNS_t _RNS; // - unbalanced recovery
};
} // namespace Givaro
#include "givaro/givrnsfixed.inl"
#endif
|