libflame revision_anchor
|
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 // --- Query routine prototypes ------------------------------------------------ 00034 00035 // --- trans/conj --- 00036 00037 int bli_does_trans( char trans ); 00038 int bli_does_notrans( char trans ); 00039 int bli_does_conj( char trans ); 00040 00041 // --- trans --- 00042 00043 int bli_is_notrans( char trans ); 00044 int bli_is_trans( char trans ); 00045 int bli_is_conjnotrans( char trans ); 00046 int bli_is_conjtrans( char trans ); 00047 00048 // --- conj --- 00049 00050 int bli_is_noconj( char conj ); 00051 int bli_is_conj( char conj ); 00052 00053 // --- uplo --- 00054 00055 int bli_is_lower( char uplo ); 00056 int bli_is_upper( char uplo ); 00057 00058 // --- side --- 00059 00060 int bli_is_left( char side ); 00061 int bli_is_right( char side ); 00062 00063 // --- diag --- 00064 00065 int bli_is_nonunit_diag( char diag ); 00066 int bli_is_unit_diag( char diag ); 00067 int bli_is_zero_diag( char diag ); 00068 00069 // --- storage-related --- 00070 00071 void bli_check_storage_3m( int a_rs, int a_cs, int b_rs, int b_cs, int c_rs, int c_cs ); 00072 void bli_check_storage_2m( int a_rs, int a_cs, int b_rs, int b_cs ); 00073 int bli_is_row_or_col_storage( int rs, int cs ); 00074 int bli_is_row_storage( int rs, int cs ); 00075 int bli_is_col_storage( int rs, int cs ); 00076 int bli_is_gen_storage( int rs, int cs ); 00077 int bli_is_vector( int m, int n ); 00078 00079 // --- vector-related --- 00080 00081 int bli_vector_dim( int m, int n ); 00082 int bli_vector_inc( char trans, int m, int n, int rs, int cs ); 00083 00084 // --- dimension-related --- 00085 00086 int bli_zero_dim1( int m ); 00087 int bli_zero_dim2( int m, int n ); 00088 int bli_zero_dim3( int m, int k, int n ); 00089