/usr/include/gf2x/gf2x-tfft.h is in libgf2x-dev 1.1-2.
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 | /* This file is part of the gf2x library.
Copyright 2007, 2008, 2009
Richard Brent, Pierrick Gaudry, Emmanuel Thome', Paul Zimmermann
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with this program; see the file COPYING. If not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02111-1307, USA.
*/
#ifndef GF2X_TFFT_H_
#define GF2X_TFFT_H_
#ifdef __cplusplus
extern "C" {
#endif
struct gf2x_tfft_info_s {
size_t bits_a; // number of bits of operand1
size_t bits_b; // number of bits of operand2
size_t K; // 0 indicates fallback.
size_t M;
unsigned long * tmp;
size_t * perm;
int split; // boolean
};
typedef struct gf2x_tfft_info_s gf2x_tfft_info_t[1];
typedef struct gf2x_tfft_info_s * gf2x_tfft_info_ptr;
typedef const struct gf2x_tfft_info_s * gf2x_tfft_info_srcptr;
typedef unsigned long gf2x_tfft_t;
typedef gf2x_tfft_t * gf2x_tfft_ptr;
typedef const gf2x_tfft_t * gf2x_tfft_srcptr;
extern size_t gf2x_tfft_size(gf2x_tfft_info_srcptr o);
extern gf2x_tfft_ptr gf2x_tfft_get(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr ptr, size_t k);
extern void gf2x_tfft_zero(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr ptr, size_t n);
extern void gf2x_tfft_cpy(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr y, gf2x_tfft_srcptr x);
extern gf2x_tfft_ptr gf2x_tfft_alloc(gf2x_tfft_info_srcptr o, size_t n);
extern void gf2x_tfft_free(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr ptr, size_t n);
extern void gf2x_tfft_dft(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr tr, const unsigned long * a, size_t bits_a);
extern void gf2x_tfft_compose(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr tc, gf2x_tfft_srcptr ta, gf2x_tfft_srcptr tb);
extern void gf2x_tfft_addcompose(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr tc, gf2x_tfft_srcptr ta, gf2x_tfft_srcptr tb);
extern void gf2x_tfft_add(gf2x_tfft_info_srcptr o, gf2x_tfft_ptr tc, gf2x_tfft_srcptr ta, gf2x_tfft_srcptr tb);
extern void gf2x_tfft_ift(gf2x_tfft_info_srcptr o, unsigned long * c, size_t bits_c, gf2x_tfft_ptr tr);
extern void gf2x_tfft_init(gf2x_tfft_info_ptr o, size_t bits_a, size_t bits_b, ...);
extern void gf2x_tfft_init_similar(gf2x_tfft_info_ptr o, size_t bits_a, size_t bits_b, gf2x_tfft_info_srcptr other);
extern int gf2x_tfft_compatible(gf2x_tfft_info_srcptr o1, gf2x_tfft_info_srcptr o2);
extern void gf2x_tfft_clear(gf2x_tfft_info_ptr o);
#ifdef __cplusplus
}
#endif
#endif /* GF2X_TFFT_H_ */
|