mirror of
https://github.com/amd/blis.git
synced 2026-05-05 15:01:13 +00:00
conflicts merge for bli_kernel.h
Change-Id: I15d846bd34e11f86ebfd7ed091ff671a1f3366a0
This commit is contained in:
@@ -39,71 +39,6 @@
|
||||
// Define BLAS-like interfaces with typed operands.
|
||||
//
|
||||
|
||||
#undef GENTFUNCRI
|
||||
#define GENTFUNCRI( ctype, ctype_r, ctype_i, ch, chr, chi, varname ) \
|
||||
\
|
||||
void PASTEMAC(ch,varname) \
|
||||
( \
|
||||
dim_t n, \
|
||||
ctype* x, inc_t incx, \
|
||||
ctype_i* abmax_i, \
|
||||
cntx_t* cntx \
|
||||
) \
|
||||
{ \
|
||||
ctype_r* minus_one = PASTEMAC(chr,m1); \
|
||||
ctype_i* zero_i = PASTEMAC(chi,0); \
|
||||
\
|
||||
ctype* chi1; \
|
||||
ctype_r chi1_r; \
|
||||
ctype_r chi1_i; \
|
||||
ctype_r abs_chi1; \
|
||||
ctype_r abs_chi1_max; \
|
||||
ctype_i i_max; \
|
||||
dim_t i; \
|
||||
\
|
||||
/* Initialize the index of the maximum absolute value to zero. */ \
|
||||
PASTEMAC(chi,copys)( *zero_i, i_max ); \
|
||||
\
|
||||
/* Initialize the maximum absolute value search candidate with
|
||||
-1, which is guaranteed to be less than all values we will
|
||||
compute. */ \
|
||||
PASTEMAC(chr,copys)( *minus_one, abs_chi1_max ); \
|
||||
\
|
||||
for ( i = 0; i < n; ++i ) \
|
||||
{ \
|
||||
chi1 = x + (i )*incx; \
|
||||
\
|
||||
/* Get the real and imaginary components of chi1. */ \
|
||||
PASTEMAC2(ch,chr,gets)( *chi1, chi1_r, chi1_i ); \
|
||||
\
|
||||
/* Replace chi1_r and chi1_i with their absolute values. */ \
|
||||
PASTEMAC(chr,abval2s)( chi1_r, chi1_r ); \
|
||||
PASTEMAC(chr,abval2s)( chi1_i, chi1_i ); \
|
||||
\
|
||||
/* Add the real and imaginary absolute values together. */ \
|
||||
PASTEMAC(chr,set0s)( abs_chi1 ); \
|
||||
PASTEMAC(chr,adds)( chi1_r, abs_chi1 ); \
|
||||
PASTEMAC(chr,adds)( chi1_i, abs_chi1 ); \
|
||||
\
|
||||
/* If the absolute value of the current element exceeds that of
|
||||
the previous largest, save it and its index. If NaN is
|
||||
encountered, then treat it the same as if it were a valid
|
||||
value that was smaller than any previously seen. This
|
||||
behavior mimics that of LAPACK's ?lange(). */ \
|
||||
if ( abs_chi1_max < abs_chi1 || bli_isnan( abs_chi1 ) ) \
|
||||
{ \
|
||||
PASTEMAC(chr,copys)( abs_chi1, abs_chi1_max ); \
|
||||
PASTEMAC(chi,copys)( i, i_max ); \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
/* Store final index to output variable. */ \
|
||||
PASTEMAC(chi,copys)( i_max, *abmax_i ); \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNCRI_BASIC0( amaxv_unb_var1 )
|
||||
|
||||
|
||||
#undef GENTFUNCR
|
||||
#define GENTFUNCR( ctype, ctype_r, ch, chr, varname ) \
|
||||
\
|
||||
|
||||
Reference in New Issue
Block a user