Program Listing for File core/structures.h#

Return to documentation for file (oti/core/structures.h)

#ifndef OTI_CORE_STRUCTURES_H
#define OTI_CORE_STRUCTURES_H

// ----------------------------------------------------------------------------------------------------
// --------------------------------------      STRUCTURES        --------------------------------------
// ----------------------------------------------------------------------------------------------------

typedef struct {
  imdir_t*    p_arr;
  uint64_t shape[2];
} imdir2d_t;


typedef struct{
    imdir_t*        p_im;
    ord_t*         p_ord;
    uint64_t*     p_cols;
    uint64_t*     p_rows;
    uint64_t       sizex;
    uint64_t       sizey;
    uint64_t     nonzero;
} matrix_form_t;


typedef struct {
  // Arrays
    bases_t*      p_fulldir;
    imdir2d_t*   p_multtabls;
    ndir_t*         p_ndirs;
    coeff_t**          p_im;
    imdir_t**         p_idx;
  //
    coeff_t***        p_ims;
    imdir_t***        p_ids;
    ndir_t**          p_nnz;
    ndir_t**         p_size;

  // Integer elements
    ndir_t        allocSize;
    ndir_t            Ntmps;
    ndir_t             Ndir;
    ord_t             Nmult;
    bases_t          Nbasis;
    ord_t             order;

} dhelp_t;

typedef struct {
   dhelp_t* p_dh;
   ndh_t     ndh;
   ord_t*  order;
} dhelpl_t;


typedef struct lil_node {
   uint64_t data;
   struct lil_node* next;
} lil_node_t;

// ----------------------------------------------------------------------------------------------------
// -------------------------------------    END STRUCTURES      ---------------------------------------
// ----------------------------------------------------------------------------------------------------

#endif