Si vous téléchargez le code et regardez le fichier d'en-tête, il doit être explicite (BTW, la lib construit bien pour moi sur Ubuntu):
// Description of parameters:
//
// FOR REGULAR HILBERT INDICES
//
// CFixBitVec/CBigBitVec *p
// Pointer to array of non-negative coordinate values.
//
// int m
// Precision of all coordinate values (number of bits required to
// represent the largest possible coordinate value).
//
// int n
// Number of dimensions (size of the array *p).
//
// CFixBitVec/CBigBitVec &h
// Hilbert index of maximum precision m*n.
//
// int *ms
// Array of precision values, one per dimension.
//
// FOR COMPACT HILBERT INDICES
//
// CFixBitVec/CBigBitVec &hc
// Compact Hilbert index of maximum precision M.
//
// int M
// Net precision value, corresponding to the size of the compact
// Hilbert code. If not provided, defaults to zero and will be calculated
// by the function (sum_i { ms[i] }).
//
// int m
// Largest precision value (max_i { ms[i] }). If not provided, defaults
// to zero and will be calculated by the function,
namespace Hilbert
{
// fix -> fix
void coordsToIndex(const CFixBitVec *p, int m, int n, CFixBitVec &h);
void indexToCoords(CFixBitVec *p, int m, int n, const CFixBitVec &h);
void coordsToCompactIndex(const CFixBitVec *p, const int *ms, int n,
CFixBitVec &hc, int M = 0, int m = 0);
void compactIndexToCoords(CFixBitVec *p, const int *ms, int n,
const CFixBitVec &hc, int M = 0, int m = 0);
// fix -> big
void coordsToIndex(const CFixBitVec *p, int m, int n, CBigBitVec &h);
void indexToCoords(CFixBitVec *p, int m, int n, const CBigBitVec &h);
void coordsToCompactIndex(const CFixBitVec *p, const int *ms, int n,
CBigBitVec &hc, int M = 0, int m = 0);
void compactIndexToCoords(CFixBitVec *p, const int *ms, int n,
const CBigBitVec &hc, int M = 0, int m = 0);
// big -> big
void coordsToIndex(const CBigBitVec *p, int m, int n, CBigBitVec &h);
void indexToCoords(CBigBitVec *p, int m, int n, const CBigBitVec &h);
void coordsToCompactIndex(const CBigBitVec *p, const int *ms, int n,
CBigBitVec &hc, int M = 0, int m = 0);
void compactIndexToCoords(CBigBitVec *p, const int *ms, int n,
const CBigBitVec &hc, int M = 0, int m = 0);
};
Alors vous nous demandez comment fonctionne le code? Pourquoi ne pas contacter l'auteur? – Bart
C++ n'a pas les types 'INT (4)', 'INT (8)' ou 'varchar (512)'. Cela ressemble plus à Fortran. Etes-vous sûr de bien avoir tagué cette question? –
@ DietmarKühl iirc, ce sont des types SQL qui correspondent facilement à int32_t, int64_t, et char [512] ou std :: string - la bibliothèque elle-même semble être écrite en C++ donc le balisage est probablement ok. – kfmfe04