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