libflame
12600
|
00001 /* 00002 libflame 00003 An object-based infrastructure for developing high-performance 00004 dense linear algebra libraries. 00005 00006 Copyright (C) 2011, The University of Texas 00007 00008 libflame is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU Lesser General Public License as 00010 published by the Free Software Foundation; either version 2.1 of 00011 the License, or (at your option) any later version. 00012 00013 libflame is distributed in the hope that it will be useful, but 00014 WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public 00019 License along with libflame; if you did not receive a copy, see 00020 http://www.gnu.org/licenses/. 00021 00022 For more information, please contact us at flame@cs.utexas.edu or 00023 send mail to: 00024 00025 Field G. Van Zee and/or 00026 Robert A. van de Geijn 00027 The University of Texas at Austin 00028 Department of Computer Sciences 00029 1 University Station C0500 00030 Austin TX 78712 00031 */ 00032 00033 00034 // 00035 // Level-2 BLAS 00036 // 00037 00038 struct fla_gemv_s 00039 { 00040 FLA_Matrix_type matrix_type; 00041 int variant; 00042 fla_blocksize_t* blocksize; 00043 struct fla_scal_s* sub_scal; 00044 struct fla_gemv_s* sub_gemv; 00045 }; 00046 typedef struct fla_gemv_s fla_gemv_t; 00047 00048 struct fla_trsv_s 00049 { 00050 FLA_Matrix_type matrix_type; 00051 int variant; 00052 fla_blocksize_t* blocksize; 00053 struct fla_trsv_s* sub_trsv; 00054 struct fla_gemv_s* sub_gemv; 00055 }; 00056 typedef struct fla_trsv_s fla_trsv_t; 00057 00058 00059 #define FLA_Cntl_sub_gemv( cntl ) cntl->sub_gemv 00060 #define FLA_Cntl_sub_trsv( cntl ) cntl->sub_trsv 00061 00062 00063 fla_gemv_t* FLA_Cntl_gemv_obj_create( FLA_Matrix_type matrix_type, 00064 int variant, 00065 fla_blocksize_t* blocksize, 00066 fla_scal_t* sub_scal, 00067 fla_gemv_t* sub_gemv ); 00068 fla_trsv_t* FLA_Cntl_trsv_obj_create( FLA_Matrix_type matrix_type, 00069 int variant, 00070 fla_blocksize_t* blocksize, 00071 fla_trsv_t* sub_trsv, 00072 fla_gemv_t* sub_gemv ); 00073