[BACK]Return to ntl.h CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_ntl

Annotation of OpenXM/src/ox_ntl/ntl.h, Revision 1.3

1.3     ! iwane       1: /* $OpenXM: OpenXM/src/ox_ntl/ntl.h,v 1.2 2003/11/08 12:34:00 iwane Exp $ */
1.1       iwane       2:
                      3: #ifndef __NTL_H__
                      4: #define __NTL_H__
                      5:
1.2       iwane       6: #include <NTL/ZZXFactoring.h>
1.3     ! iwane       7: #include <NTL/mat_ZZ.h>
1.1       iwane       8: #include "ox_toolkit.h"
1.3     ! iwane       9: #include "oxserv.h"
1.1       iwane      10:
                     11: #define NTL_FAILURE    (-1)
                     12: #define NTL_SUCCESS    ( 0)
                     13:
1.2       iwane      14: /*===========================================================================*
1.3     ! iwane      15:  * Local CMO
        !            16:  *===========================================================================*/
        !            17: #define        CMON_MAT_ZZ          (CMO_PRIVATE + 1)
        !            18: #define        CMON_ZZ              (CMO_PRIVATE + 2)
        !            19: #define        CMON_ZZX             (CMO_PRIVATE + 3)
        !            20: #define        CMON_FACTORS         (CMO_PRIVATE + 4)
        !            21:
        !            22:
        !            23: typedef struct cmon_mat_zz_tag {
        !            24:        int tag;
        !            25:        mat_ZZ *mat;
        !            26: } cmon_mat_zz_t;
        !            27:
        !            28:
        !            29: typedef struct cmon_zz_tag {
        !            30:        int tag;
        !            31:        ZZ *z;
        !            32: } cmon_zz_t;
        !            33:
        !            34:
        !            35: typedef struct cmon_zzx_tag {
        !            36:        int tag;
        !            37:        ZZX *f;
        !            38:        cmo_indeterminate *x;
        !            39: } cmon_zzx_t;
        !            40:
        !            41:
        !            42: typedef struct cmon_factors_tag {
        !            43:        int tag;
        !            44:        ZZ  *cont;              /* cont    */
        !            45:        vec_pair_ZZX_long *f;   /* factors */
        !            46:        cmo_indeterminate *x;
        !            47: } cmon_factors_t;
        !            48:
        !            49:
        !            50: /*** cmon.cpp ***/
        !            51:
        !            52: /*===========================================================================*
        !            53:  * Construct
        !            54:  *===========================================================================*/
        !            55: cmon_zz_t      *       new_cmon_zz     (void);
        !            56: cmon_zz_t      *       new_cmon_zz     (ZZ &);
        !            57: cmon_zzx_t     *       new_cmon_zzx    (void);
        !            58: cmon_zzx_t     *       new_cmon_zzx    (ZZX &, cmo_indeterminate *x);
        !            59: cmon_mat_zz_t  *       new_cmon_mat_zz (void);
        !            60: cmon_mat_zz_t  *       new_cmon_mat_zz (mat_ZZ &);
        !            61: cmon_factors_t *       new_cmon_factors        (void);
        !            62: cmon_factors_t *       new_cmon_factors        (ZZ &, vec_pair_ZZX_long &, cmo_indeterminate *x, int);
        !            63:
        !            64:
        !            65: /*===========================================================================*
        !            66:  * Destruct
        !            67:  *===========================================================================*/
        !            68: void   delete_cmon_zz  (cmon_zz_t *);
        !            69: void   delete_cmon_zzx (cmon_zzx_t *);
        !            70: void   delete_cmon_mat_zz      (cmon_mat_zz_t *);
        !            71: void   delete_cmon_factors     (cmon_factors_t *);
        !            72: void   delete_cmon     (cmo *);
        !            73:
        !            74: /*** ntlconv.cpp ***/
        !            75:
        !            76: /*===========================================================================*
1.2       iwane      77:  * CONVERT
                     78:  *===========================================================================*/
1.3     ! iwane      79: int            get_cmon_tag    (cmo *);
        !            80: cmo    *       convert_cmon    (cmo *);        /* convet local object to CMO */
        !            81:
1.2       iwane      82: cmo_zz         *ZZ_to_cmo_zz   (const ZZ &);
                     83: int             cmo_to_ZZ      (ZZ &, cmo *);
                     84: int             cmo_to_ZZX     (ZZX &, cmo *, cmo_indeterminate *&);
                     85: cmo_recursive_polynomial       *ZZX_to_cmo     (ZZX &, cmo_indeterminate *);
                     86: cmo_list       *ZZX_int_to_cmo (ZZX &, int d, cmo_indeterminate *);
                     87: cmo_list       *vec_pair_ZZX_long_to_cmo       (vec_pair_ZZX_long &, cmo_indeterminate *);
1.1       iwane      88:
1.3     ! iwane      89: int             cmo_to_mat_zz  (mat_ZZ &, cmo *);
        !            90: cmo_list       *mat_zz_to_cmo  (mat_ZZ &);
        !            91:
1.2       iwane      92: /*===========================================================================*
                     93:  * NTL
                     94:  *===========================================================================*/
1.1       iwane      95: cmo    *ntl_fctr       (cmo **, int);
1.3     ! iwane      96: cmo    *ntl_lll        (cmo **, int);
1.1       iwane      97:
                     98: #endif /* !__NTL_H__*/

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>