cdef class export:
cdef int c_p1_normalize_int(self, int N, int u, int v,
int* uu, int* vv, int* ss,
int compute_s) except -1
cdef int c_p1_normalize_llong(self, int N, int u, int v,
int* uu, int* vv, int* ss,
int compute_s) except -1
cdef class P1List:
cdef int __N
cdef object __list, __end_hash
cdef int *g, *s, *t # xgcd with N table.
# Here we use a pointer to a function, so the if logic
# for normalizing an element does not need to be used
# every time the user calls the normalize function.
cdef int (*__normalize)(int N, int u, int v,\
int* uu, int* vv, int* ss,
int compute_s) except -1
cpdef index(self, int u, int v)
cdef index_and_scalar(self, int u, int v, int* i, int* s)