26 |
#define INC_PASO_PATTERN |
#define INC_PASO_PATTERN |
27 |
|
|
28 |
#include "Common.h" |
#include "Common.h" |
29 |
|
#include "IndexList.h" |
30 |
|
|
31 |
/**************************************************************/ |
/**************************************************************/ |
32 |
|
|
33 |
#define PATTERN_FORMAT_DEFAULT 0 |
#define PATTERN_FORMAT_DEFAULT 0 |
|
#define PATTERN_FORMAT_SYM 1 |
|
34 |
#define PATTERN_FORMAT_OFFSET1 2 |
#define PATTERN_FORMAT_OFFSET1 2 |
35 |
|
|
36 |
typedef struct Paso_Pattern { |
typedef struct Paso_Pattern { |
46 |
dim_t reference_counter; |
dim_t reference_counter; |
47 |
} Paso_Pattern; |
} Paso_Pattern; |
48 |
|
|
|
#define INDEXLIST_LENGTH 85 |
|
|
|
|
|
typedef struct Paso_IndexList { |
|
|
index_t index[INDEXLIST_LENGTH]; |
|
|
dim_t n; |
|
|
struct Paso_IndexList *extension; |
|
|
} Paso_IndexList; |
|
|
/* interfaces: */ |
|
|
|
|
|
|
|
49 |
PASO_DLL_API |
PASO_DLL_API |
50 |
Paso_Pattern* Paso_Pattern_alloc(int type, dim_t numOutput, dim_t numInput, index_t* ptr, index_t* index); |
Paso_Pattern* Paso_Pattern_alloc(int type, dim_t numOutput, dim_t numInput, index_t* ptr, index_t* index); |
51 |
|
|
86 |
index_t* Paso_Pattern_borrowMainDiagonalPointer(Paso_Pattern* A); |
index_t* Paso_Pattern_borrowMainDiagonalPointer(Paso_Pattern* A); |
87 |
|
|
88 |
PASO_DLL_API |
PASO_DLL_API |
89 |
void Paso_IndexList_insertIndex(Paso_IndexList*, index_t); |
Paso_Pattern* Paso_Pattern_fromIndexListArray(dim_t n0, Paso_IndexListArray* index_list_array,index_t range_min,index_t range_max, index_t index_offset); |
|
|
|
|
PASO_DLL_API |
|
|
void Paso_IndexList_toArray(Paso_IndexList*, index_t*, index_t, index_t, index_t); |
|
|
|
|
|
PASO_DLL_API |
|
|
dim_t Paso_IndexList_count(Paso_IndexList*, index_t, index_t); |
|
|
|
|
|
PASO_DLL_API |
|
|
void Paso_IndexList_free(Paso_IndexList*); |
|
|
|
|
|
PASO_DLL_API |
|
|
Paso_Pattern* Paso_IndexList_createPattern(dim_t n0, dim_t n,Paso_IndexList* index_list,index_t range_min,index_t range_max, index_t index_offset); |
|
90 |
|
|
91 |
PASO_DLL_API |
PASO_DLL_API |
92 |
dim_t Paso_Pattern_getNumColors(Paso_Pattern* A); |
dim_t Paso_Pattern_getNumColors(Paso_Pattern* A); |
94 |
PASO_DLL_API |
PASO_DLL_API |
95 |
index_t* Paso_Pattern_borrowColoringPointer(Paso_Pattern* A); |
index_t* Paso_Pattern_borrowColoringPointer(Paso_Pattern* A); |
96 |
|
|
97 |
|
PASO_DLL_API |
98 |
|
dim_t Paso_Pattern_maxDeg(Paso_Pattern* A); |
99 |
|
|
100 |
#endif /* #ifndef INC_PASO_PATTERN */ |
#endif /* #ifndef INC_PASO_PATTERN */ |