1 /*
2 
3     Copyright (C) 2014, The University of Texas at Austin
4 
5     This file is part of libflame and is available under the 3-Clause
6     BSD license, which can be found in the LICENSE file at the top-level
7     directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 #include "blis1.h"
12 
13 // --- trans -------------------------------------------------------------------
14 
bl1_is_notrans(trans1_t trans)15 int bl1_is_notrans( trans1_t trans )
16 {
17 	return ( trans == BLIS1_NO_TRANSPOSE );
18 }
19 
bl1_is_trans(trans1_t trans)20 int bl1_is_trans( trans1_t trans )
21 {
22 	return ( trans == BLIS1_TRANSPOSE );
23 }
24 
bl1_is_conjnotrans(trans1_t trans)25 int bl1_is_conjnotrans( trans1_t trans )
26 {
27 	return ( trans == BLIS1_CONJ_NO_TRANSPOSE );
28 }
29 
bl1_is_conjtrans(trans1_t trans)30 int bl1_is_conjtrans( trans1_t trans )
31 {
32 	return ( trans == BLIS1_CONJ_TRANSPOSE );
33 }
34 
35 // --- conj --------------------------------------------------------------------
36 
bl1_is_noconj(conj1_t conj)37 int bl1_is_noconj( conj1_t conj )
38 {
39 	return ( conj == BLIS1_NO_CONJUGATE );
40 }
41 
bl1_is_conj(conj1_t conj)42 int bl1_is_conj( conj1_t conj )
43 {
44 	return ( conj == BLIS1_CONJUGATE );
45 }
46 
47 // --- uplo --------------------------------------------------------------------
48 
bl1_is_lower(uplo1_t uplo)49 int bl1_is_lower( uplo1_t uplo )
50 {
51 	return ( uplo == BLIS1_LOWER_TRIANGULAR );
52 }
53 
bl1_is_upper(uplo1_t uplo)54 int bl1_is_upper( uplo1_t uplo )
55 {
56 	return ( uplo == BLIS1_UPPER_TRIANGULAR );
57 }
58 
59 // --- side --------------------------------------------------------------------
60 
bl1_is_left(side1_t side)61 int bl1_is_left( side1_t side )
62 {
63 	return ( side == BLIS1_LEFT );
64 }
65 
bl1_is_right(side1_t side)66 int bl1_is_right( side1_t side )
67 {
68 	return ( side == BLIS1_RIGHT );
69 }
70 
71 // --- diag --------------------------------------------------------------------
72 
bl1_is_nonunit_diag(diag1_t diag)73 int bl1_is_nonunit_diag( diag1_t diag )
74 {
75 	return ( diag == BLIS1_NONUNIT_DIAG );
76 }
77 
bl1_is_unit_diag(diag1_t diag)78 int bl1_is_unit_diag( diag1_t diag )
79 {
80 	return ( diag == BLIS1_UNIT_DIAG );
81 }
82 
bl1_is_zero_diag(diag1_t diag)83 int bl1_is_zero_diag( diag1_t diag )
84 {
85 	return ( diag == BLIS1_ZERO_DIAG );
86 }
87 
88 // --- storage-related ---------------------------------------------------------
89 
bl1_is_col_storage(int rs,int cs)90 int bl1_is_col_storage( int rs, int cs )
91 {
92 	return ( rs == 1 );
93 }
94 
bl1_is_row_storage(int rs,int cs)95 int bl1_is_row_storage( int rs, int cs )
96 {
97 	return ( cs == 1 );
98 }
99 
bl1_is_gen_storage(int rs,int cs)100 int bl1_is_gen_storage( int rs, int cs )
101 {
102 	return ( !bl1_is_col_storage( rs, cs ) &&
103              !bl1_is_row_storage( rs, cs ) );
104 }
105 
bl1_is_vector(int m,int n)106 int bl1_is_vector( int m, int n )
107 {
108 	return ( m == 1 || n == 1 );
109 }
110 
111 // --- dimension-related -------------------------------------------------------
112 
bl1_zero_dim1(int m)113 int bl1_zero_dim1( int m )
114 {
115 	return ( m == 0 );
116 }
117 
bl1_zero_dim2(int m,int n)118 int bl1_zero_dim2( int m, int n )
119 {
120 	return ( m == 0 || n == 0 );
121 }
122 
bl1_zero_dim3(int m,int k,int n)123 int bl1_zero_dim3( int m, int k, int n )
124 {
125 	return ( m == 0 || k == 0 || n == 0 );
126 }
127 
128