libflame  revision_anchor
FLA_Cntl.h
Go to the documentation of this file.
00001 /*
00002 
00003     Copyright (C) 2014, The University of Texas at Austin
00004 
00005     This file is part of libflame and is available under the 3-Clause
00006     BSD license, which can be found in the LICENSE file at the top-level
00007     directory, or at http://opensource.org/licenses/BSD-3-Clause
00008 
00009 */
00010 
00011 // Shared definitions
00012 
00013 typedef struct FLA_Blocksize_s
00014 {
00015     dim_t s;
00016     dim_t d;
00017     dim_t c;
00018     dim_t z;
00019 } fla_blocksize_t;
00020 
00021 #define FLA_SUBPROBLEM                  0
00022 #define FLA_UNBLOCKED_EXTERN           10
00023 #define FLA_BLOCKED_EXTERN             13
00024 
00025 #define FLA_UNB_VAR_OFFSET             40
00026 #define FLA_OPT_VAR_OFFSET             80
00027 #define FLA_BLK_VAR_OFFSET            120
00028 #define FLA_BLF_VAR_OFFSET            160
00029 
00030 #define FLA_UNBLOCKED_VARIANT1        (FLA_UNB_VAR_OFFSET+1)
00031 #define FLA_UNBLOCKED_VARIANT2        (FLA_UNB_VAR_OFFSET+2)
00032 #define FLA_UNBLOCKED_VARIANT3        (FLA_UNB_VAR_OFFSET+3)
00033 #define FLA_UNBLOCKED_VARIANT4        (FLA_UNB_VAR_OFFSET+4)
00034 #define FLA_UNBLOCKED_VARIANT5        (FLA_UNB_VAR_OFFSET+5)
00035 #define FLA_UNBLOCKED_VARIANT6        (FLA_UNB_VAR_OFFSET+6)
00036 #define FLA_UNBLOCKED_VARIANT7        (FLA_UNB_VAR_OFFSET+7)
00037 #define FLA_UNBLOCKED_VARIANT8        (FLA_UNB_VAR_OFFSET+8)
00038 #define FLA_UNBLOCKED_VARIANT9        (FLA_UNB_VAR_OFFSET+9)
00039 #define FLA_UNBLOCKED_VARIANT10       (FLA_UNB_VAR_OFFSET+10)
00040 
00041 #define FLA_UNB_OPT_VARIANT1          (FLA_OPT_VAR_OFFSET+1)
00042 #define FLA_UNB_OPT_VARIANT2          (FLA_OPT_VAR_OFFSET+2)
00043 #define FLA_UNB_OPT_VARIANT3          (FLA_OPT_VAR_OFFSET+3)
00044 #define FLA_UNB_OPT_VARIANT4          (FLA_OPT_VAR_OFFSET+4)
00045 #define FLA_UNB_OPT_VARIANT5          (FLA_OPT_VAR_OFFSET+5)
00046 #define FLA_UNB_OPT_VARIANT6          (FLA_OPT_VAR_OFFSET+6)
00047 #define FLA_UNB_OPT_VARIANT7          (FLA_OPT_VAR_OFFSET+7)
00048 #define FLA_UNB_OPT_VARIANT8          (FLA_OPT_VAR_OFFSET+8)
00049 #define FLA_UNB_OPT_VARIANT9          (FLA_OPT_VAR_OFFSET+9)
00050 #define FLA_UNB_OPT_VARIANT10         (FLA_OPT_VAR_OFFSET+10)
00051 
00052 #define FLA_BLOCKED_VARIANT1          (FLA_BLK_VAR_OFFSET+1)
00053 #define FLA_BLOCKED_VARIANT2          (FLA_BLK_VAR_OFFSET+2)
00054 #define FLA_BLOCKED_VARIANT3          (FLA_BLK_VAR_OFFSET+3)
00055 #define FLA_BLOCKED_VARIANT4          (FLA_BLK_VAR_OFFSET+4)
00056 #define FLA_BLOCKED_VARIANT5          (FLA_BLK_VAR_OFFSET+5)
00057 #define FLA_BLOCKED_VARIANT6          (FLA_BLK_VAR_OFFSET+6)
00058 #define FLA_BLOCKED_VARIANT7          (FLA_BLK_VAR_OFFSET+7)
00059 #define FLA_BLOCKED_VARIANT8          (FLA_BLK_VAR_OFFSET+8)
00060 #define FLA_BLOCKED_VARIANT9          (FLA_BLK_VAR_OFFSET+9)
00061 #define FLA_BLOCKED_VARIANT10         (FLA_BLK_VAR_OFFSET+10)
00062 #define FLA_BLOCKED_VARIANT11         (FLA_BLK_VAR_OFFSET+11)
00063 #define FLA_BLOCKED_VARIANT12         (FLA_BLK_VAR_OFFSET+12)
00064 #define FLA_BLOCKED_VARIANT13         (FLA_BLK_VAR_OFFSET+13)
00065 #define FLA_BLOCKED_VARIANT14         (FLA_BLK_VAR_OFFSET+14)
00066 #define FLA_BLOCKED_VARIANT15         (FLA_BLK_VAR_OFFSET+15)
00067 #define FLA_BLOCKED_VARIANT16         (FLA_BLK_VAR_OFFSET+16)
00068 #define FLA_BLOCKED_VARIANT17         (FLA_BLK_VAR_OFFSET+17)
00069 #define FLA_BLOCKED_VARIANT18         (FLA_BLK_VAR_OFFSET+18)
00070 #define FLA_BLOCKED_VARIANT19         (FLA_BLK_VAR_OFFSET+19)
00071 #define FLA_BLOCKED_VARIANT20         (FLA_BLK_VAR_OFFSET+20)
00072 
00073 #define FLA_BLK_FUS_VARIANT1          (FLA_BLF_VAR_OFFSET+1)
00074 #define FLA_BLK_FUS_VARIANT2          (FLA_BLF_VAR_OFFSET+2)
00075 #define FLA_BLK_FUS_VARIANT3          (FLA_BLF_VAR_OFFSET+3)
00076 #define FLA_BLK_FUS_VARIANT4          (FLA_BLF_VAR_OFFSET+4)
00077 #define FLA_BLK_FUS_VARIANT5          (FLA_BLF_VAR_OFFSET+5)
00078 #define FLA_BLK_FUS_VARIANT6          (FLA_BLF_VAR_OFFSET+6)
00079 #define FLA_BLK_FUS_VARIANT7          (FLA_BLF_VAR_OFFSET+7)
00080 #define FLA_BLK_FUS_VARIANT8          (FLA_BLF_VAR_OFFSET+8)
00081 #define FLA_BLK_FUS_VARIANT9          (FLA_BLF_VAR_OFFSET+9)
00082 #define FLA_BLK_FUS_VARIANT10         (FLA_BLF_VAR_OFFSET+10)
00083 
00084 #define FLA_Cntl_matrix_type( cntl )  cntl->matrix_type
00085 #define FLA_Cntl_blocksize( cntl )    cntl->blocksize
00086 #define FLA_Cntl_variant( cntl )      cntl->variant
00087 
00088 void FLA_Cntl_obj_free( void* cntl );
00089 
00090 
00091 // Include the control tree definitions for each class of operation.
00092 #include "FLA_Cntl_blas1.h"
00093 #include "FLA_Cntl_blas2.h"
00094 #include "FLA_Cntl_blas3.h"
00095 #include "FLA_Cntl_lapack.h"
00096