00001 00014 #if !defined(INC_OSKI_STRUCTHINT_H) 00015 00016 #define INC_OSKI_STRUCTHINT_H 00017 00018 #include <oski/common.h> 00019 00020 /* ---------------------------------------- */ 00021 00026 00030 typedef struct 00031 { 00033 struct 00034 { 00035 int num_sizes; 00036 int *r_sizes; 00037 int *c_sizes; 00038 } block_size; 00039 00041 int is_unaligned; 00042 00044 int is_symm; 00045 00047 int is_random; 00048 00050 struct 00051 { 00052 int num_lens; 00053 int *d_lens; 00054 } diag_lens; 00055 } 00056 oski_structhint_t; 00057 00058 /* ---------------------------------------- */ 00059 00060 00062 void oski_InitStructHint (oski_structhint_t * hint); 00063 00065 void oski_ResetStructHint (oski_structhint_t * hint); 00066 00071 void oski_ResetStructHintDiaglens (oski_structhint_t * hint); 00072 00076 int oski_AllocStructHintDiaglens (oski_structhint_t * hint, int num_lens); 00077 00082 void oski_ResetStructHintBlocksizes (oski_structhint_t * hint); 00083 00087 int oski_AllocStructHintBlocksizes (oski_structhint_t * hint, int num_sizes); 00088 00091 #endif /* !defined(INC_OSKI_STRUCTHINT_H) */ 00092 00093 /* eof */