matopts.h

Go to the documentation of this file.
00001 
00012 #if !defined(INC_BENCH_MATOPTS_H)
00013 
00014 #define INC_BENCH_MATOPTS_H
00015 
00016 #include <oski/common.h>
00017 #include <oski/mangle.h>
00018 #include <oski/matrix.h>
00019 
00020 #if defined(DO_NAME_MANGLING)
00021 
00022 #define matopts_t MANGLE_(matopts_t)
00023 #define matopts_Init MANGLE_(matopts_Init)
00024 #define matopts_Display MANGLE_(matopts_Display)
00025 #define matopts_Usage MANGLE_(matopts_Usage)
00026 #define matopts_Process MANGLE_(matopts_Process)
00027 #define matopts_CreateMat MANGLE_(matopts_CreateMat)
00028 #endif
00029 
00033 #define IS_MATTYPE(x, mt) (strcmp(x, mt) == 0)
00034 
00036 #define MATTYPE_HARWELL_BOEING "hb"
00037 
00038 #define MATTYPE_DENSE "dense"
00039 
00040 #define MATTYPE_BANDED "band"
00041 
00042 #define MATTYPE_RANDOM "random"
00043 
00044 #define MATTYPE_TRI_LOWER "lowtri"
00045 
00046 #define MATTYPE_TRI_UPPER "uptri"
00047 
00048 #define MATTYPE_SYMM "symm"
00049 
00050 #define MATTYPE_RANDRECT "randrect"
00051 
00054 typedef struct
00055 {
00056   const char *mattype;
00057   const char *matfile;
00058   int expand_symm; 
00059   oski_index_t min_rows;
00060   oski_index_t min_cols;
00061   oski_index_t min_nnz;
00062   oski_index_t min_row_nnz;
00063   oski_index_t row_multiple;
00064   oski_index_t col_multiple;
00065 } matopts_t;
00066 
00068 void matopts_Init (matopts_t * opts);
00069 
00071 void matopts_Display (const matopts_t * opts, FILE * fp);
00072 
00074 void matopts_Usage (FILE * fp);
00075 
00077 int matopts_Process (int argc, char *argv[], int i, matopts_t * opts);
00078 
00080 oski_matrix_t matopts_CreateMat (const matopts_t * opts,
00081                  oski_index_t * p_num_rows,
00082                  oski_index_t * p_num_cols,
00083                  oski_index_t * p_nnz_stored,
00084                  oski_index_t * p_nnz);
00085 #endif
00086 
00087 /* eof */

Generated on Wed Sep 19 16:41:18 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6