libflame
revision_anchor
|
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 00012 // 00013 // Level-1 BLAS 00014 // 00015 00016 struct fla_axpy_s 00017 { 00018 FLA_Matrix_type matrix_type; 00019 int variant; 00020 fla_blocksize_t* blocksize; 00021 struct fla_axpy_s* sub_axpy; 00022 }; 00023 typedef struct fla_axpy_s fla_axpy_t; 00024 00025 00026 struct fla_axpyt_s 00027 { 00028 FLA_Matrix_type matrix_type; 00029 int variant; 00030 fla_blocksize_t* blocksize; 00031 struct fla_axpyt_s* sub_axpyt; 00032 }; 00033 typedef struct fla_axpyt_s fla_axpyt_t; 00034 00035 00036 struct fla_copy_s 00037 { 00038 FLA_Matrix_type matrix_type; 00039 int variant; 00040 fla_blocksize_t* blocksize; 00041 struct fla_copy_s* sub_copy; 00042 }; 00043 typedef struct fla_copy_s fla_copy_t; 00044 00045 00046 struct fla_copyt_s 00047 { 00048 FLA_Matrix_type matrix_type; 00049 int variant; 00050 fla_blocksize_t* blocksize; 00051 struct fla_copyt_s* sub_copyt; 00052 }; 00053 typedef struct fla_copyt_s fla_copyt_t; 00054 00055 00056 struct fla_copyr_s 00057 { 00058 FLA_Matrix_type matrix_type; 00059 int variant; 00060 fla_blocksize_t* blocksize; 00061 struct fla_copyr_s* sub_copyr; 00062 struct fla_copy_s* sub_copy; 00063 }; 00064 typedef struct fla_copyr_s fla_copyr_t; 00065 00066 00067 struct fla_scal_s 00068 { 00069 FLA_Matrix_type matrix_type; 00070 int variant; 00071 fla_blocksize_t* blocksize; 00072 struct fla_scal_s* sub_scal; 00073 }; 00074 typedef struct fla_scal_s fla_scal_t; 00075 00076 00077 struct fla_scalr_s 00078 { 00079 FLA_Matrix_type matrix_type; 00080 int variant; 00081 fla_blocksize_t* blocksize; 00082 struct fla_scalr_s* sub_scalr; 00083 struct fla_scal_s* sub_scal; 00084 }; 00085 typedef struct fla_scalr_s fla_scalr_t; 00086 00087 00088 struct fla_swap_s 00089 { 00090 FLA_Matrix_type matrix_type; 00091 int variant; 00092 fla_blocksize_t* blocksize; 00093 struct fla_swap_s* sub_swap; 00094 }; 00095 typedef struct fla_swap_s fla_swap_t; 00096 00097 00098 struct fla_tpose_s 00099 { 00100 FLA_Matrix_type matrix_type; 00101 int variant; 00102 fla_blocksize_t* blocksize; 00103 struct fla_tpose_s* sub_trans; 00104 struct fla_swap_s* sub_swap; 00105 }; 00106 typedef struct fla_tpose_s fla_tpose_t; 00107 00108 00109 #define FLA_Cntl_sub_axpy( cntl ) cntl->sub_axpy 00110 #define FLA_Cntl_sub_axpy1( cntl ) cntl->sub_axpy1 00111 #define FLA_Cntl_sub_axpy2( cntl ) cntl->sub_axpy2 00112 #define FLA_Cntl_sub_axpy3( cntl ) cntl->sub_axpy3 00113 #define FLA_Cntl_sub_axpyt( cntl ) cntl->sub_axpyt 00114 #define FLA_Cntl_sub_copy( cntl ) cntl->sub_copy 00115 #define FLA_Cntl_sub_copyt( cntl ) cntl->sub_copyt 00116 #define FLA_Cntl_sub_copyr( cntl ) cntl->sub_copyr 00117 #define FLA_Cntl_sub_scal( cntl ) cntl->sub_scal 00118 #define FLA_Cntl_sub_scalr( cntl ) cntl->sub_scalr 00119 #define FLA_Cntl_sub_swap( cntl ) cntl->sub_swap 00120 #define FLA_Cntl_sub_trans( cntl ) cntl->sub_trans 00121 00122 00123 fla_axpy_t* FLA_Cntl_axpy_obj_create( FLA_Matrix_type matrix_type, 00124 int variant, 00125 fla_blocksize_t* blocksize, 00126 fla_axpy_t* sub_axpy ); 00127 fla_axpyt_t* FLA_Cntl_axpyt_obj_create( FLA_Matrix_type matrix_type, 00128 int variant, 00129 fla_blocksize_t* blocksize, 00130 fla_axpyt_t* sub_axpyt ); 00131 fla_copy_t* FLA_Cntl_copy_obj_create( FLA_Matrix_type matrix_type, 00132 int variant, 00133 fla_blocksize_t* blocksize, 00134 fla_copy_t* sub_copy ); 00135 fla_copyt_t* FLA_Cntl_copyt_obj_create( FLA_Matrix_type matrix_type, 00136 int variant, 00137 fla_blocksize_t* blocksize, 00138 fla_copyt_t* sub_copyt ); 00139 fla_copyr_t* FLA_Cntl_copyr_obj_create( FLA_Matrix_type matrix_type, 00140 int variant, 00141 fla_blocksize_t* blocksize, 00142 fla_copyr_t* sub_copyr, 00143 fla_copy_t* sub_copy ); 00144 fla_scal_t* FLA_Cntl_scal_obj_create( FLA_Matrix_type matrix_type, 00145 int variant, 00146 fla_blocksize_t* blocksize, 00147 fla_scal_t* sub_scal ); 00148 fla_scalr_t* FLA_Cntl_scalr_obj_create( FLA_Matrix_type matrix_type, 00149 int variant, 00150 fla_blocksize_t* blocksize, 00151 fla_scalr_t* sub_scalr, 00152 fla_scal_t* sub_scal ); 00153 fla_swap_t* FLA_Cntl_swap_obj_create( FLA_Matrix_type matrix_type, 00154 int variant, 00155 fla_blocksize_t* blocksize, 00156 fla_swap_t* sub_swap ); 00157 fla_tpose_t* FLA_Cntl_tpose_obj_create( FLA_Matrix_type matrix_type, 00158 int variant, 00159 fla_blocksize_t* blocksize, 00160 fla_tpose_t* sub_trans, 00161 fla_swap_t* sub_swap ); 00162