mirror of
https://github.com/amd/blis.git
synced 2026-04-19 23:28:52 +00:00
Added mixed-precision support to 1m method.
Details: - Lifted the constraint that 1m only be used when all operands' storage datatypes (along with the computation datatype) are equal. Now, 1m may be used as long as all operands are stored in the complex domain. This change largely consisted of adding the ability to pack to 1e and 1r formats from one precision to another. It also required adding logic for handling complex values of alpha to bli_packm_blk_var1_md() (similar to the logic in bli_packm_blk_var1()). - Fixed a bug in several virtual microkernels (bli_gemm_md_c2r_ref.c, bli_gemm1m_ref.c, and bli_gemmtrsm1m_ref.c) that resulted in the wrong ukernel output preference field being read. Previously, the preference for the native complex ukernel was being read instead of the pref for the native real domain ukernel. This bug would not manifest if the preference for the native complex ukernel happened to be equal to that of the native real ukernel. - Added support for testing mixed-precision 1m execution via the gemm module of the testsuite. - Tweaked/simplified bli_gemm_front() and bli_gemm_md.c so that pack schemas are always read from the context, rather than trying to sometimes embed them directly to the A and B objects. (They are still embedded, but now uniformly only after reading the schemas from the context.) - Redefined cpp macro bli_l3_ind_recast_1m_params() as a static function and renamed to bli_gemm_ind_recast_1m_params() (since gemm is the only consumer). - Added 1m optimization logic (via bli_gemm_ind_recast_1m_params()) to bli_gemm_ker_var2_md(). - Added explicit handling for beta == 1 and beta == 0 in the reference gemm1m virtual microkernel in ref_kernels/ind/bli_gemm1m_ref.c. - Rewrote various level-0 macro defs, including axpyris, axpbyris, scal2ris, and xpbyris (and their conjugating counterparts) to explicitly support three operand types and updated invocations to xpbyris in bli_gemmtrsm1m_ref.c. - Query and use the storage datatype of the packed object instead of the storage datatype of the source object in bli_packm_blk_var1(). - Relocated and renamed frame/ind/misc/bli_l3_ind_opt.h to frame/3/gemm/ind/bli_gemm_ind_opt.h. - Various whitespace/comment updates.
This commit is contained in:
@@ -67,37 +67,37 @@ static FUNCPTR_T GENARRAY(ftypes,packm_blk_var1);
|
||||
|
||||
static func_t packm_struc_cxk_kers[BLIS_NUM_PACK_SCHEMA_TYPES] =
|
||||
{
|
||||
/* float (0) scomplex (1) double (2) dcomplex (3) */
|
||||
/* float (0) scomplex (1) double (2) dcomplex (3) */
|
||||
// 0000 row/col panels
|
||||
{ { bli_spackm_struc_cxk, bli_cpackm_struc_cxk,
|
||||
bli_dpackm_struc_cxk, bli_zpackm_struc_cxk, } },
|
||||
{ { bli_spackm_struc_cxk, bli_cpackm_struc_cxk,
|
||||
bli_dpackm_struc_cxk, bli_zpackm_struc_cxk, } },
|
||||
// 0001 row/col panels: 4m interleaved
|
||||
{ { NULL, bli_cpackm_struc_cxk_4mi,
|
||||
NULL, bli_zpackm_struc_cxk_4mi, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_4mi,
|
||||
NULL, bli_zpackm_struc_cxk_4mi, } },
|
||||
// 0010 row/col panels: 3m interleaved
|
||||
{ { NULL, bli_cpackm_struc_cxk_3mis,
|
||||
NULL, bli_zpackm_struc_cxk_3mis, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_3mis,
|
||||
NULL, bli_zpackm_struc_cxk_3mis, } },
|
||||
// 0011 row/col panels: 4m separated (NOT IMPLEMENTED)
|
||||
{ { NULL, NULL,
|
||||
NULL, NULL, } },
|
||||
{ { NULL, NULL,
|
||||
NULL, NULL, } },
|
||||
// 0100 row/col panels: 3m separated
|
||||
{ { NULL, bli_cpackm_struc_cxk_3mis,
|
||||
NULL, bli_zpackm_struc_cxk_3mis, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_3mis,
|
||||
NULL, bli_zpackm_struc_cxk_3mis, } },
|
||||
// 0101 row/col panels: real only
|
||||
{ { NULL, bli_cpackm_struc_cxk_rih,
|
||||
NULL, bli_zpackm_struc_cxk_rih, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_rih,
|
||||
NULL, bli_zpackm_struc_cxk_rih, } },
|
||||
// 0110 row/col panels: imaginary only
|
||||
{ { NULL, bli_cpackm_struc_cxk_rih,
|
||||
NULL, bli_zpackm_struc_cxk_rih, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_rih,
|
||||
NULL, bli_zpackm_struc_cxk_rih, } },
|
||||
// 0111 row/col panels: real+imaginary only
|
||||
{ { NULL, bli_cpackm_struc_cxk_rih,
|
||||
NULL, bli_zpackm_struc_cxk_rih, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_rih,
|
||||
NULL, bli_zpackm_struc_cxk_rih, } },
|
||||
// 1000 row/col panels: 1m-expanded (1e)
|
||||
{ { NULL, bli_cpackm_struc_cxk_1er,
|
||||
NULL, bli_zpackm_struc_cxk_1er, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_1er,
|
||||
NULL, bli_zpackm_struc_cxk_1er, } },
|
||||
// 1001 row/col panels: 1m-reordered (1r)
|
||||
{ { NULL, bli_cpackm_struc_cxk_1er,
|
||||
NULL, bli_zpackm_struc_cxk_1er, } },
|
||||
{ { NULL, bli_cpackm_struc_cxk_1er,
|
||||
NULL, bli_zpackm_struc_cxk_1er, } },
|
||||
};
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ void bli_packm_blk_var1
|
||||
}
|
||||
#endif
|
||||
|
||||
num_t dt_c = bli_obj_dt( c );
|
||||
num_t dt_p = bli_obj_dt( p );
|
||||
|
||||
struc_t strucc = bli_obj_struc( c );
|
||||
doff_t diagoffc = bli_obj_diag_offset( c );
|
||||
@@ -149,7 +149,6 @@ void bli_packm_blk_var1
|
||||
inc_t ps_p = bli_obj_panel_stride( p );
|
||||
|
||||
obj_t kappa;
|
||||
obj_t* kappa_p;
|
||||
void* buf_kappa;
|
||||
|
||||
func_t* packm_kers;
|
||||
@@ -167,10 +166,12 @@ void bli_packm_blk_var1
|
||||
// higher-level operation. Thus, we use BLIS_ONE for kappa so
|
||||
// that the underlying packm implementation does not perform
|
||||
// any scaling during packing.
|
||||
buf_kappa = bli_obj_buffer_for_const( dt_c, &BLIS_ONE );
|
||||
buf_kappa = bli_obj_buffer_for_const( dt_p, &BLIS_ONE );
|
||||
}
|
||||
else // if ( bli_is_ind_packed( schema ) )
|
||||
{
|
||||
obj_t* kappa_p;
|
||||
|
||||
// The value for kappa we use will depend on whether the scalar
|
||||
// attached to A has a nonzero imaginary component. If it does,
|
||||
// then we will apply the scalar during packing to facilitate
|
||||
@@ -199,7 +200,7 @@ void bli_packm_blk_var1
|
||||
}
|
||||
|
||||
// Acquire the buffer to the kappa chosen above.
|
||||
buf_kappa = bli_obj_buffer_for_1x1( dt_c, kappa_p );
|
||||
buf_kappa = bli_obj_buffer_for_1x1( dt_p, kappa_p );
|
||||
}
|
||||
|
||||
|
||||
@@ -241,11 +242,11 @@ void bli_packm_blk_var1
|
||||
#endif
|
||||
|
||||
// Query the datatype-specific function pointer from the func_t object.
|
||||
packm_ker = bli_func_get_dt( dt_c, packm_kers );
|
||||
packm_ker = bli_func_get_dt( dt_p, packm_kers );
|
||||
|
||||
// Index into the type combination array to extract the correct
|
||||
// function pointer.
|
||||
f = ftypes[dt_c];
|
||||
f = ftypes[dt_p];
|
||||
|
||||
// Invoke the function.
|
||||
f( strucc,
|
||||
|
||||
@@ -88,14 +88,56 @@ void bli_packm_blk_var1_md
|
||||
dim_t pd_p = bli_obj_panel_dim( p );
|
||||
inc_t ps_p = bli_obj_panel_stride( p );
|
||||
|
||||
obj_t kappa;
|
||||
void* buf_kappa;
|
||||
|
||||
FUNCPTR_T f;
|
||||
|
||||
|
||||
// Unconditionally use kappa = 1.0. Thus, we don't support scaling
|
||||
// during packing when mixing datatypes.
|
||||
buf_kappa = bli_obj_buffer_for_const( dt_p, &BLIS_ONE );
|
||||
// Treatment of kappa (ie: packing during scaling) depends on
|
||||
// whether we are executing an induced method.
|
||||
if ( bli_is_nat_packed( schema ) )
|
||||
{
|
||||
// This branch is for native execution, where we assume that
|
||||
// the micro-kernel will always apply the alpha scalar of the
|
||||
// higher-level operation. Thus, we use BLIS_ONE for kappa so
|
||||
// that the underlying packm implementation does not perform
|
||||
// any scaling during packing.
|
||||
buf_kappa = bli_obj_buffer_for_const( dt_p, &BLIS_ONE );
|
||||
}
|
||||
else // if ( bli_is_ind_packed( schema ) )
|
||||
{
|
||||
obj_t* kappa_p;
|
||||
|
||||
// The value for kappa we use will depend on whether the scalar
|
||||
// attached to A has a nonzero imaginary component. If it does,
|
||||
// then we will apply the scalar during packing to facilitate
|
||||
// implementing induced complex domain algorithms in terms of
|
||||
// real domain micro-kernels. (In the aforementioned situation,
|
||||
// applying a real scalar is easy, but applying a complex one is
|
||||
// harder, so we avoid the need altogether with the code below.)
|
||||
if ( bli_obj_scalar_has_nonzero_imag( p ) )
|
||||
{
|
||||
// Detach the scalar.
|
||||
bli_obj_scalar_detach( p, &kappa );
|
||||
|
||||
// Reset the attached scalar (to 1.0).
|
||||
bli_obj_scalar_reset( p );
|
||||
|
||||
kappa_p = κ
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the internal scalar of A has only a real component, then
|
||||
// we will apply it later (in the micro-kernel), and so we will
|
||||
// use BLIS_ONE to indicate no scaling during packing.
|
||||
kappa_p = &BLIS_ONE;
|
||||
}
|
||||
|
||||
// Acquire the buffer to the kappa chosen above.
|
||||
buf_kappa = bli_obj_buffer_for_1x1( dt_p, kappa_p );
|
||||
}
|
||||
|
||||
|
||||
// Index into the type combination array to extract the correct
|
||||
// function pointer.
|
||||
|
||||
@@ -236,7 +236,6 @@ siz_t bli_packm_init_pack
|
||||
// change the datatype of P to reflect the target_dt.
|
||||
if ( dt_scalar != dt_tar )
|
||||
{
|
||||
|
||||
bli_obj_scalar_cast_to( dt_tar, p );
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,12 @@ void PASTEMAC2(chc,chp,varname) \
|
||||
if ( bli_is_nat_packed( schema ) ) \
|
||||
{ \
|
||||
trans_t transc = ( trans_t )conjc; \
|
||||
\
|
||||
/* Sanity check: Make sure that kappa is 1.0. Mixed-datatype alpha
|
||||
values are never handled when packing for native execution;
|
||||
instead, they are passed along to the micro-kernel. */ \
|
||||
if ( !PASTEMAC(chp,eq1)( *kappa ) ) \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
\
|
||||
/* NOTE: We ignore kappa for now, since it should be 1.0. */ \
|
||||
PASTEMAC2(chc,chp,castm) \
|
||||
@@ -149,7 +155,7 @@ void PASTEMAC2(chc,chp,varname) \
|
||||
); \
|
||||
} \
|
||||
} \
|
||||
else /* if ( bli_is_1r_packed( schema ) ) */ \
|
||||
else if ( bli_is_1r_packed( schema ) ) \
|
||||
{ \
|
||||
/* NOTE: We ignore kappa for now, since it should be 1.0. */ \
|
||||
PASTEMAC2(chc,chp,packm_cxk_1r_md) \
|
||||
@@ -157,6 +163,7 @@ void PASTEMAC2(chc,chp,varname) \
|
||||
conjc, \
|
||||
panel_dim, \
|
||||
panel_len, \
|
||||
kappa, \
|
||||
c, incc, ldc, \
|
||||
p, ldp \
|
||||
); \
|
||||
@@ -209,6 +216,72 @@ void PASTEMAC2(chc,chp,varname) \
|
||||
); \
|
||||
} \
|
||||
} \
|
||||
else if ( bli_is_1e_packed( schema ) ) \
|
||||
{ \
|
||||
/* NOTE: We ignore kappa for now, since it should be 1.0. */ \
|
||||
PASTEMAC2(chc,chp,packm_cxk_1e_md) \
|
||||
( \
|
||||
conjc, \
|
||||
panel_dim, \
|
||||
panel_len, \
|
||||
kappa, \
|
||||
c, incc, ldc, \
|
||||
p, ldp \
|
||||
); \
|
||||
\
|
||||
if ( m_panel != m_panel_max ) \
|
||||
{ \
|
||||
ctype_p* restrict zero = PASTEMAC(chp,0); \
|
||||
dim_t offm = m_panel; \
|
||||
dim_t offn = 0; \
|
||||
dim_t m_edge = m_panel_max - m_panel; \
|
||||
dim_t n_edge = n_panel_max; \
|
||||
\
|
||||
( void ) zero; \
|
||||
( void ) m_edge; ( void )offm; \
|
||||
( void ) n_edge; ( void )offn; \
|
||||
\
|
||||
PASTEMAC(chp,set1ms_mxn) \
|
||||
( \
|
||||
schema, \
|
||||
offm, \
|
||||
offn, \
|
||||
m_edge, \
|
||||
n_edge, \
|
||||
zero, \
|
||||
p, rs_p, cs_p, ldp \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
if ( n_panel != n_panel_max ) \
|
||||
{ \
|
||||
ctype_p* restrict zero = PASTEMAC(chp,0); \
|
||||
dim_t offm = 0; \
|
||||
dim_t offn = n_panel; \
|
||||
dim_t m_edge = m_panel_max; \
|
||||
dim_t n_edge = n_panel_max - n_panel; \
|
||||
\
|
||||
( void ) zero; \
|
||||
( void ) m_edge; ( void )offm; \
|
||||
( void ) n_edge; ( void )offn; \
|
||||
\
|
||||
PASTEMAC(chp,set1ms_mxn) \
|
||||
( \
|
||||
schema, \
|
||||
offm, \
|
||||
offn, \
|
||||
m_edge, \
|
||||
n_edge, \
|
||||
zero, \
|
||||
p, rs_p, cs_p, ldp \
|
||||
); \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
/* Mixed-datatype packing should not occur for any other schemas. */ \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
} \
|
||||
\
|
||||
\
|
||||
/*
|
||||
@@ -235,55 +308,118 @@ void PASTEMAC2(cha,chp,opname) \
|
||||
conj_t conja, \
|
||||
dim_t m, \
|
||||
dim_t n, \
|
||||
ctype_p* restrict kappa, \
|
||||
ctype_a* restrict a, inc_t inca, inc_t lda, \
|
||||
ctype_p* restrict p, inc_t ldp \
|
||||
) \
|
||||
{ \
|
||||
const inc_t inca2 = 2 * inca; \
|
||||
const inc_t lda2 = 2 * lda; \
|
||||
const inc_t ldp2 = 2 * ldp; \
|
||||
const inc_t inca2 = 2 * inca; \
|
||||
const inc_t lda2 = 2 * lda; \
|
||||
const inc_t ldp2 = 2 * ldp; \
|
||||
\
|
||||
PASTEMAC(cha,ctyper)* restrict alpha1_r = ( PASTEMAC(cha,ctyper)* )a; \
|
||||
PASTEMAC(cha,ctyper)* restrict alpha1_i = ( PASTEMAC(cha,ctyper)* )a + 1; \
|
||||
PASTEMAC(chp,ctyper)* restrict pi1_r = ( PASTEMAC(chp,ctyper)* )p; \
|
||||
PASTEMAC(chp,ctyper)* restrict pi1_i = ( PASTEMAC(chp,ctyper)* )p + ldp; \
|
||||
PASTEMAC(chp,ctyper)* restrict kappa_r = ( PASTEMAC(chp,ctyper)* )kappa; \
|
||||
PASTEMAC(chp,ctyper)* restrict kappa_i = ( PASTEMAC(chp,ctyper)* )kappa + 1; \
|
||||
PASTEMAC(cha,ctyper)* restrict alpha1_r = ( PASTEMAC(cha,ctyper)* )a; \
|
||||
PASTEMAC(cha,ctyper)* restrict alpha1_i = ( PASTEMAC(cha,ctyper)* )a + 1; \
|
||||
PASTEMAC(chp,ctyper)* restrict pi1_r = ( PASTEMAC(chp,ctyper)* )p; \
|
||||
PASTEMAC(chp,ctyper)* restrict pi1_i = ( PASTEMAC(chp,ctyper)* )p + ldp; \
|
||||
\
|
||||
( void )kappa_i; \
|
||||
\
|
||||
dim_t i; \
|
||||
\
|
||||
if ( bli_is_conj( conja ) ) \
|
||||
if ( PASTEMAC(chp,eq1)( *kappa ) ) \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
if ( bli_is_conj( conja ) ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
PASTEMAC2(cha,chp,copyjris)( *(alpha1_r + i*inca2), \
|
||||
*(alpha1_i + i*inca2), \
|
||||
*(pi1_r + i*1), \
|
||||
*(pi1_i + i*1) ); \
|
||||
} \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC2(cha,chp,copyjris) \
|
||||
( \
|
||||
*(alpha1_r + i*inca2), \
|
||||
*(alpha1_i + i*inca2), \
|
||||
*(pi1_r + i* 1), \
|
||||
*(pi1_i + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_r += lda2; \
|
||||
alpha1_i += lda2; \
|
||||
pi1_r += ldp2; \
|
||||
pi1_i += ldp2; \
|
||||
alpha1_r += lda2; \
|
||||
alpha1_i += lda2; \
|
||||
pi1_r += ldp2; \
|
||||
pi1_i += ldp2; \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC2(cha,chp,copyris) \
|
||||
( \
|
||||
*(alpha1_r + i*inca2), \
|
||||
*(alpha1_i + i*inca2), \
|
||||
*(pi1_r + i* 1), \
|
||||
*(pi1_i + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_r += lda2; \
|
||||
alpha1_i += lda2; \
|
||||
pi1_r += ldp2; \
|
||||
pi1_i += ldp2; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
if ( bli_is_conj( conja ) ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
PASTEMAC2(cha,chp,copyris)( *(alpha1_r + i*inca2), \
|
||||
*(alpha1_i + i*inca2), \
|
||||
*(pi1_r + i*1), \
|
||||
*(pi1_i + i*1) ); \
|
||||
} \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC3(chp,cha,chp,scal2jris) \
|
||||
( \
|
||||
*kappa_r, \
|
||||
*kappa_i, \
|
||||
*(alpha1_r + i*inca2), \
|
||||
*(alpha1_i + i*inca2), \
|
||||
*(pi1_r + i* 1), \
|
||||
*(pi1_i + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_r += lda2; \
|
||||
alpha1_i += lda2; \
|
||||
pi1_r += ldp2; \
|
||||
pi1_i += ldp2; \
|
||||
alpha1_r += lda2; \
|
||||
alpha1_i += lda2; \
|
||||
pi1_r += ldp2; \
|
||||
pi1_i += ldp2; \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC3(chp,cha,chp,scal2ris) \
|
||||
( \
|
||||
*kappa_r, \
|
||||
*kappa_i, \
|
||||
*(alpha1_r + i*inca2), \
|
||||
*(alpha1_i + i*inca2), \
|
||||
*(pi1_r + i* 1), \
|
||||
*(pi1_i + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_r += lda2; \
|
||||
alpha1_i += lda2; \
|
||||
pi1_r += ldp2; \
|
||||
pi1_i += ldp2; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
@@ -291,4 +427,120 @@ void PASTEMAC2(cha,chp,opname) \
|
||||
INSERT_GENTFUNC2_BASIC0( packm_cxk_1r_md )
|
||||
INSERT_GENTFUNC2_MIXDP0( packm_cxk_1r_md )
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
#undef GENTFUNC2
|
||||
#define GENTFUNC2( ctype_a, ctype_p, cha, chp, opname ) \
|
||||
\
|
||||
void PASTEMAC2(cha,chp,opname) \
|
||||
( \
|
||||
conj_t conja, \
|
||||
dim_t m, \
|
||||
dim_t n, \
|
||||
ctype_p* restrict kappa, \
|
||||
ctype_a* restrict a, inc_t inca, inc_t lda, \
|
||||
ctype_p* restrict p, inc_t ldp \
|
||||
) \
|
||||
{ \
|
||||
const inc_t inca1 = inca; \
|
||||
const inc_t lda1 = lda; \
|
||||
const inc_t ldp1 = ldp; \
|
||||
\
|
||||
ctype_a* restrict alpha1_ri = ( ctype_a* )a; \
|
||||
ctype_p* restrict pi1_ri = ( ctype_p* )p; \
|
||||
ctype_p* restrict pi1_ir = ( ctype_p* )p + ldp1/2; \
|
||||
\
|
||||
( void )inca1; \
|
||||
\
|
||||
dim_t i; \
|
||||
\
|
||||
if ( PASTEMAC(chp,eq1)( *kappa ) ) \
|
||||
{ \
|
||||
if ( bli_is_conj( conja ) ) \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC2(cha,chp,copyj1es) \
|
||||
( \
|
||||
*(alpha1_ri + i*inca1), \
|
||||
*(pi1_ri + i* 1), \
|
||||
*(pi1_ir + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_ri += lda1; \
|
||||
pi1_ri += ldp1; \
|
||||
pi1_ir += ldp1; \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC2(cha,chp,copy1es) \
|
||||
( \
|
||||
*(alpha1_ri + i*inca1), \
|
||||
*(pi1_ri + i* 1), \
|
||||
*(pi1_ir + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_ri += lda1; \
|
||||
pi1_ri += ldp1; \
|
||||
pi1_ir += ldp1; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
if ( bli_is_conj( conja ) ) \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC3(chp,cha,chp,scal2j1es) \
|
||||
( \
|
||||
*kappa, \
|
||||
*(alpha1_ri + i*inca1), \
|
||||
*(pi1_ri + i* 1), \
|
||||
*(pi1_ir + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_ri += lda1; \
|
||||
pi1_ri += ldp1; \
|
||||
pi1_ir += ldp1; \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
for ( ; n != 0; --n ) \
|
||||
{ \
|
||||
for ( i = 0; i < m; ++i ) \
|
||||
{ \
|
||||
PASTEMAC3(chp,cha,chp,scal21es) \
|
||||
( \
|
||||
*kappa, \
|
||||
*(alpha1_ri + i*inca1), \
|
||||
*(pi1_ri + i* 1), \
|
||||
*(pi1_ir + i* 1) \
|
||||
); \
|
||||
} \
|
||||
\
|
||||
alpha1_ri += lda1; \
|
||||
pi1_ri += ldp1; \
|
||||
pi1_ir += ldp1; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
INSERT_GENTFUNC2_BASIC0( packm_cxk_1e_md )
|
||||
INSERT_GENTFUNC2_MIXDP0( packm_cxk_1e_md )
|
||||
|
||||
#endif
|
||||
|
||||
@@ -62,10 +62,14 @@ void PASTEMAC2(cha,chp,opname) \
|
||||
conj_t conja, \
|
||||
dim_t m, \
|
||||
dim_t n, \
|
||||
ctype_p* restrict kappa, \
|
||||
ctype_a* restrict a, inc_t inca, inc_t lda, \
|
||||
ctype_p* restrict p, inc_t ldp \
|
||||
);
|
||||
|
||||
INSERT_GENTPROT2_BASIC0( packm_cxk_1e_md )
|
||||
INSERT_GENTPROT2_MIXDP0( packm_cxk_1e_md )
|
||||
|
||||
INSERT_GENTPROT2_BASIC0( packm_cxk_1r_md )
|
||||
INSERT_GENTPROT2_MIXDP0( packm_cxk_1r_md )
|
||||
|
||||
|
||||
@@ -57,15 +57,15 @@ void PASTEMAC(opname,EX_SUF) \
|
||||
\
|
||||
BLIS_OAPI_EX_DECLS \
|
||||
\
|
||||
/* Only proceed with an induced method if all operands have the same
|
||||
(complex) datatype, and if that datatype matches the execution
|
||||
datatype. If any datatypes differ, skip the induced method chooser
|
||||
function and proceed directly with native execution, which is
|
||||
where mixed datatype support will be implemented (if at all). */ \
|
||||
if ( bli_obj_dt( c ) == bli_obj_dt( a ) && \
|
||||
bli_obj_dt( c ) == bli_obj_dt( b ) && \
|
||||
bli_obj_dt( c ) == bli_obj_comp_dt( c ) && \
|
||||
bli_obj_is_complex( c ) ) \
|
||||
/* Only proceed with an induced method if each of the operands have a
|
||||
complex storage datatype. NOTE: Allowing precisions to vary while
|
||||
using 1m, which is what we do here, is unique to gemm; other level-3
|
||||
operations use 1m only if all storage datatypes are equal (including
|
||||
the computation datatype). If any operands are real, skip the induced
|
||||
method chooser function and proceed directly with native execution. */ \
|
||||
if ( bli_obj_is_complex( c ) && \
|
||||
bli_obj_is_complex( a ) && \
|
||||
bli_obj_is_complex( b ) ) \
|
||||
{ \
|
||||
/* Invoke the operation's "ind" function--its induced method front-end.
|
||||
For complex problems, it calls the highest priority induced method
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
|
||||
#include "bli_gemm_var.h"
|
||||
|
||||
#include "bli_gemm_ind_opt.h"
|
||||
|
||||
// Mixed datatype support.
|
||||
#ifdef BLIS_ENABLE_GEMM_MD
|
||||
#include "bli_gemm_md.h"
|
||||
|
||||
@@ -98,28 +98,23 @@ void bli_gemm_front
|
||||
// is adjusted to point to cntx_local.)
|
||||
bli_gemm_md( &a_local, &b_local, beta, &c_local, &cntx_local, &cntx );
|
||||
}
|
||||
else // homogeneous datatypes
|
||||
//else // homogeneous datatypes
|
||||
#endif
|
||||
{
|
||||
// A sort of hack for communicating the desired pach schemas for A and
|
||||
// B to bli_gemm_cntl_create() (via bli_l3_thread_decorator() and
|
||||
// bli_l3_cntl_create_if()). This allows us to access the schemas from
|
||||
// the control tree, which hopefully reduces some confusion,
|
||||
// particularly in bli_packm_init().
|
||||
if ( bli_cntx_method( cntx ) == BLIS_NAT )
|
||||
{
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, &a_local );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, &b_local );
|
||||
}
|
||||
else // if ( bli_cntx_method( cntx ) != BLIS_NAT )
|
||||
{
|
||||
pack_t schema_a = bli_cntx_schema_a_block( cntx );
|
||||
pack_t schema_b = bli_cntx_schema_b_panel( cntx );
|
||||
|
||||
bli_obj_set_pack_schema( schema_a, &a_local );
|
||||
bli_obj_set_pack_schema( schema_b, &b_local );
|
||||
}
|
||||
}
|
||||
// Load the pack schemas from the context and embed them into the objects
|
||||
// for A and B. (Native contexts are initialized with the correct pack
|
||||
// schemas, as are contexts for 1m, and if necessary bli_gemm_md() would
|
||||
// have made a copy and modified the schemas, so reading them from the
|
||||
// context should be a safe bet at this point.) This is a sort of hack for
|
||||
// communicating the desired pack schemas for to bli_gemm_cntl_create()
|
||||
// (via bli_l3_thread_decorator() and bli_l3_cntl_create_if()). This allows
|
||||
// us to subsequently access the schemas from the control tree, which
|
||||
// hopefully reduces some confusion, particularly in bli_packm_init().
|
||||
const pack_t schema_a = bli_cntx_schema_a_block( cntx );
|
||||
const pack_t schema_b = bli_cntx_schema_b_panel( cntx );
|
||||
|
||||
bli_obj_set_pack_schema( schema_a, &a_local );
|
||||
bli_obj_set_pack_schema( schema_b, &b_local );
|
||||
|
||||
// Next, we handle the possibility of needing to typecast alpha to the
|
||||
// computation datatype and/or beta to the storage datatype of C.
|
||||
|
||||
@@ -133,22 +133,24 @@ void bli_gemm_ker_var2
|
||||
// real-valued beta, we can use the real domain macro-kernel, which
|
||||
// eliminates a little overhead associated with the 1m virtual
|
||||
// micro-kernel.
|
||||
#if 1
|
||||
if ( bli_cntx_method( cntx ) == BLIS_1M )
|
||||
{
|
||||
bli_l3_ind_recast_1m_params
|
||||
bli_gemm_ind_recast_1m_params
|
||||
(
|
||||
dt_exec,
|
||||
&dt_exec,
|
||||
schema_a,
|
||||
c,
|
||||
m, n, k,
|
||||
pd_a, ps_a,
|
||||
pd_b, ps_b,
|
||||
rs_c, cs_c
|
||||
&m, &n, &k,
|
||||
&pd_a, &ps_a,
|
||||
&pd_b, &ps_b,
|
||||
&rs_c, &cs_c
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef BLIS_ENABLE_GEMM_MD
|
||||
// Tweak parameters in select mixed domain cases cases.
|
||||
// Tweak parameters in select mixed domain cases (rcc, crc, ccr).
|
||||
bli_gemm_md_ker_var2_recast
|
||||
(
|
||||
&dt_exec,
|
||||
|
||||
@@ -122,7 +122,37 @@ void bli_gemm_ker_var2_md
|
||||
buf_alpha = bli_obj_internal_scalar_buffer( &scalar_b );
|
||||
buf_beta = bli_obj_internal_scalar_buffer( c );
|
||||
|
||||
// Tweak parameters in select mixed domain cases cases.
|
||||
#if 0
|
||||
// NOTE: Turns out that this optimization will never be employed since
|
||||
// currently bli_gemm_ker_var2_md() is only called when the storage
|
||||
// datatype of C differs from the execution/computation datatype, and
|
||||
// this optimization would only make sense if they are equal.
|
||||
|
||||
// If 1m is being employed on a column- or row-stored matrix with a
|
||||
// real-valued beta, we can use the real domain macro-kernel, which
|
||||
// eliminates a little overhead associated with the 1m virtual
|
||||
// micro-kernel.
|
||||
if ( bli_cntx_method( cntx ) == BLIS_1M )
|
||||
{
|
||||
// Only employ this optimization if the storage datatype of C is
|
||||
// equal to the execution/computation datatype.
|
||||
if ( dt_c == dt_exec )
|
||||
{
|
||||
bli_gemm_ind_recast_1m_params
|
||||
(
|
||||
&dt_exec,
|
||||
schema_a,
|
||||
c,
|
||||
&m, &n, &k,
|
||||
&pd_a, &ps_a,
|
||||
&pd_b, &ps_b,
|
||||
&rs_c, &cs_c
|
||||
);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Tweak parameters in select mixed domain cases (rcc, crc, ccr).
|
||||
bli_gemm_md_ker_var2_recast
|
||||
(
|
||||
&dt_exec,
|
||||
|
||||
@@ -141,34 +141,6 @@ void bli_gemm_md
|
||||
bli_obj_set_comp_dt( dt_comp, b );
|
||||
bli_obj_set_comp_dt( dt_comp, c );
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
if ( bli_obj_is_single_prec( c ) ) printf( "%% --> s += " );
|
||||
else printf( "%% --> d += " );
|
||||
if ( bli_obj_is_single_prec( a ) ) printf( "s " );
|
||||
else printf( "d " );
|
||||
if ( bli_obj_is_single_prec( b ) ) printf( "s\n" );
|
||||
else printf( "d\n" );
|
||||
|
||||
//if ( bli_obj_is_scomplex( a ) &&
|
||||
// bli_obj_is_dcomplex( b ) &&
|
||||
// bli_obj_is_float( c ) )
|
||||
{
|
||||
printf( "bli_gemm_md(): stor precs after: %d %d %d\n", bli_obj_prec( a ),
|
||||
bli_obj_prec( b ), bli_obj_prec( c ) );
|
||||
printf( "bli_gemm_md(): targ precs after: %d %d %d\n", bli_obj_target_prec( a ),
|
||||
bli_obj_target_prec( b ), bli_obj_target_prec( c ) );
|
||||
printf( "bli_gemm_md(): exec precs after: %d %d %d\n", bli_obj_exec_prec( a ),
|
||||
bli_obj_exec_prec( b ), bli_obj_exec_prec( c ) );
|
||||
printf( "bli_gemm_md(): stor domain after: %d %d %d\n", bli_obj_domain( a ),
|
||||
bli_obj_domain( b ), bli_obj_domain( c ) );
|
||||
printf( "bli_gemm_md(): targ domain after: %d %d %d\n", bli_obj_target_domain( a ),
|
||||
bli_obj_target_domain( b ), bli_obj_target_domain( c ) );
|
||||
printf( "bli_gemm_md(): exec domain after: %d %d %d\n", bli_obj_exec_domain( a ),
|
||||
bli_obj_exec_domain( b ), bli_obj_exec_domain( c ) );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
@@ -258,9 +230,7 @@ mddm_t bli_gemm_md_ccr
|
||||
bli_blksz_scale_def_max( 1, 2, BLIS_SCOMPLEX, blksz_mc );
|
||||
bli_blksz_scale_def_max( 1, 2, BLIS_DCOMPLEX, blksz_mc );
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// static func_t* bli_cntx_get_l3_vir_ukrs( l3ukr_t ukr_id, cntx_t* cntx )
|
||||
func_t* l3_vir_ukrs = bli_cntx_get_l3_vir_ukrs( BLIS_GEMM_UKR, *cntx );
|
||||
@@ -361,9 +331,7 @@ mddm_t bli_gemm_md_crc
|
||||
bli_blksz_scale_def_max( 1, 2, BLIS_SCOMPLEX, blksz_nc );
|
||||
bli_blksz_scale_def_max( 1, 2, BLIS_DCOMPLEX, blksz_nc );
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// static func_t* bli_cntx_get_l3_vir_ukrs( l3ukr_t ukr_id, cntx_t* cntx )
|
||||
func_t* l3_vir_ukrs = bli_cntx_get_l3_vir_ukrs( BLIS_GEMM_UKR, *cntx );
|
||||
@@ -437,15 +405,22 @@ mddm_t bli_gemm_md_rcc
|
||||
|
||||
// Use the 1r pack schema for both A and B with the conjugation
|
||||
// of A or B toggled (to produce ar * br - ai * bi).
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS_1R, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS_1R, b );
|
||||
bli_cntx_set_schema_a_block( BLIS_PACKED_ROW_PANELS_1R, *cntx );
|
||||
bli_cntx_set_schema_b_panel( BLIS_PACKED_COL_PANELS_1R, *cntx );
|
||||
|
||||
bli_obj_toggle_conj( b );
|
||||
|
||||
// We also need to copy over the packm kernels from the 1m
|
||||
// context. We query the address of that context here.
|
||||
const num_t dt_comp = bli_obj_dt( a );
|
||||
cntx_t* cntx_1m = bli_gks_query_ind_cntx( BLIS_1M, dt_comp );
|
||||
// NOTE: This is needed for situations where the rcc case does not
|
||||
// involve any casting to different precisions, since currently
|
||||
// bli_packm_blk_var1() is coded to hand off control to
|
||||
// bli_packm_blk_var1_md() only when the storage datatype differs from
|
||||
// the target datatype. (The packm_blk_var1_md() function has "built-in"
|
||||
// support for packing to 1r (and 1e) schemas, whereas the
|
||||
// packm_blk_var1() function relies on packm kernels for packing to 1r.
|
||||
const num_t dt_complex = bli_obj_dt( a );
|
||||
cntx_t* cntx_1m = bli_gks_query_ind_cntx( BLIS_1M, dt_complex );
|
||||
|
||||
func_t* cntx_funcs = bli_cntx_packm_kers_buf( *cntx );
|
||||
func_t* cntx_1m_funcs = bli_cntx_packm_kers_buf( cntx_1m );
|
||||
@@ -510,9 +485,7 @@ mddm_t bli_gemm_md_crr
|
||||
}
|
||||
#endif
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// Return the computation and execution domains.
|
||||
return doms;
|
||||
@@ -550,9 +523,7 @@ mddm_t bli_gemm_md_rcr
|
||||
// Overwrite the complex obj_t with its real-only alias.
|
||||
*a = a_real;
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// Return the computation and execution domains.
|
||||
return doms;
|
||||
@@ -590,9 +561,7 @@ mddm_t bli_gemm_md_rrc
|
||||
// Overwrite the complex obj_t with its real-only alias.
|
||||
*b = b_real;
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// Return the computation and execution domains.
|
||||
return doms;
|
||||
@@ -622,9 +591,7 @@ mddm_t bli_gemm_md_rrr
|
||||
doms.comp = BLIS_REAL;
|
||||
doms.exec = BLIS_REAL;
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// Return the computation and execution domains.
|
||||
return doms;
|
||||
@@ -654,9 +621,7 @@ mddm_t bli_gemm_md_ccc
|
||||
doms.comp = BLIS_COMPLEX;
|
||||
doms.exec = BLIS_COMPLEX;
|
||||
|
||||
// Set the pack schemas of objects A and B for normal execution.
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_ROW_PANELS, a );
|
||||
bli_obj_set_pack_schema( BLIS_PACKED_COL_PANELS, b );
|
||||
// Use the default pack schemas in the context.
|
||||
|
||||
// Return the computation and execution domains.
|
||||
return doms;
|
||||
@@ -664,6 +629,7 @@ mddm_t bli_gemm_md_ccc
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
#if 0
|
||||
void bli_gemm_md_front
|
||||
(
|
||||
obj_t* alpha,
|
||||
@@ -897,5 +863,6 @@ void bli_gemm_md_zgemm
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -56,7 +56,7 @@ void PASTEMAC2(ch,opname,suf) \
|
||||
\
|
||||
PASTECH(chr,gemm_ukr_ft) \
|
||||
rgemm_ukr = bli_cntx_get_l3_nat_ukr_dt( dt_r, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t col_pref = bli_cntx_l3_nat_ukr_prefers_cols_dt( dt, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t col_pref = bli_cntx_l3_nat_ukr_prefers_cols_dt( dt_r, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t row_pref = !col_pref; \
|
||||
\
|
||||
const dim_t mr = bli_cntx_get_blksz_def_dt( dt, BLIS_MR, cntx ); \
|
||||
@@ -87,12 +87,23 @@ void PASTEMAC2(ch,opname,suf) \
|
||||
inc_t cs_c_use; \
|
||||
\
|
||||
bool_t using_ct; \
|
||||
\
|
||||
/* This virtual microkernel is used by ccr and crc mixed-domain cases
|
||||
when any of the following conditions are met:
|
||||
- beta is complex (ie: has a non-zero imaginary component)
|
||||
- C is general-stored
|
||||
- the computation precision differs from the storage of C
|
||||
If, however, none of the above conditions are met, then the real
|
||||
domain macrokernel can be (and will be) called instead of calling
|
||||
the complex macrokernel (and this virtual microkernel). */ \
|
||||
\
|
||||
/*
|
||||
PASTEMAC(d,fprintm)( stdout, "gemm_ukr: a", 2*mr, k, \
|
||||
a_r, 1, 6, "%5.2f", "" ); \
|
||||
PASTEMAC(d,fprintm)( stdout, "gemm_ukr: b", k, nr, \
|
||||
b_r, 8, 1, "%5.2f", "" ); \
|
||||
PASTEMAC(chr,fprintm)( stdout, "gemm_ukr: a", mr, k, \
|
||||
a_r, 1, mr, "%5.2f", "" ); \
|
||||
PASTEMAC(chr,fprintm)( stdout, "gemm_ukr: b", k, nr, \
|
||||
b_r, nr, 1, "%5.2f", "" ); \
|
||||
PASTEMAC(chr,fprintm)( stdout, "gemm_ukr: c before", mr, nr, \
|
||||
c_use, rs_c_use, cs_c_use, "%5.2f", "" ); \
|
||||
*/ \
|
||||
\
|
||||
/* SAFETY CHECK: The higher level implementation should never
|
||||
@@ -123,7 +134,7 @@ PASTEMAC(d,fprintm)( stdout, "gemm_ukr: b", k, nr, \
|
||||
if ( using_ct ) \
|
||||
{ \
|
||||
/* In the atypical cases, we compute the result into temporary
|
||||
workspace ct and then accumulated it back to c at the end. */ \
|
||||
workspace ct and then accumulate it back to c at the end. */ \
|
||||
\
|
||||
/* Set the strides of ct based on the preference of the underlying
|
||||
native real domain gemm micro-kernel. Note that we set the ct
|
||||
@@ -141,6 +152,7 @@ PASTEMAC(d,fprintm)( stdout, "gemm_ukr: b", k, nr, \
|
||||
where we are using the ct buffer and its rs_ct/cs_ct strides. */ \
|
||||
if ( bli_is_col_stored( rs_c_use, cs_c_use ) ) cs_c_use *= 2; \
|
||||
else rs_c_use *= 2; \
|
||||
\
|
||||
\
|
||||
/* c = beta * c + alpha_r * a * b; */ \
|
||||
rgemm_ukr \
|
||||
@@ -176,7 +188,7 @@ PASTEMAC(d,fprintm)( stdout, "gemm_ukr: b", k, nr, \
|
||||
*(c + i*rs_c + j*cs_c ) ); \
|
||||
} \
|
||||
} \
|
||||
else /*if ( !PASTEMAC(ch,eq1)( *beta ) )*/ \
|
||||
else \
|
||||
{ \
|
||||
for ( j = 0; j < nr; ++j ) \
|
||||
for ( i = 0; i < mr; ++i ) \
|
||||
|
||||
@@ -32,48 +32,50 @@
|
||||
|
||||
*/
|
||||
|
||||
#ifndef BLIS_L3_IND_OPT_H
|
||||
#define BLIS_L3_IND_OPT_H
|
||||
static void bli_gemm_ind_recast_1m_params
|
||||
(
|
||||
num_t* dt_exec,
|
||||
pack_t schema_a,
|
||||
obj_t* c,
|
||||
dim_t* m,
|
||||
dim_t* n,
|
||||
dim_t* k,
|
||||
inc_t* pd_a, inc_t* ps_a,
|
||||
inc_t* pd_b, inc_t* ps_b,
|
||||
inc_t* rs_c, inc_t* cs_c
|
||||
)
|
||||
{
|
||||
obj_t beta;
|
||||
|
||||
#define bli_l3_ind_recast_1m_params( dt_exec, schema_a, c, \
|
||||
m, n, k, \
|
||||
pd_a, ps_a, \
|
||||
pd_b, ps_b, \
|
||||
rs_c, cs_c ) \
|
||||
{ \
|
||||
obj_t beta; \
|
||||
\
|
||||
/* Detach the beta scalar from c so that we can test its imaginary
|
||||
component. */ \
|
||||
bli_obj_scalar_detach( c, &beta ); \
|
||||
\
|
||||
component. */
|
||||
bli_obj_scalar_detach( c, &beta );
|
||||
|
||||
/* If beta is in the real domain, and c is row- or column-stored,
|
||||
then we may proceed with the optimization. */ \
|
||||
if ( /*bli_obj_imag_equals( &beta, &BLIS_ZERO ) &&*/ \
|
||||
bli_obj_imag_is_zero( &beta ) && \
|
||||
!bli_is_gen_stored( rs_c, cs_c ) ) \
|
||||
{ \
|
||||
dt_exec = bli_dt_proj_to_real( dt_exec ); \
|
||||
\
|
||||
if ( bli_is_1e_packed( schema_a ) ) \
|
||||
{ \
|
||||
m *= 2; \
|
||||
n *= 1; \
|
||||
k *= 2; \
|
||||
pd_a *= 2; ps_a *= 2; \
|
||||
pd_b *= 1; ps_b *= 2; \
|
||||
rs_c *= 1; cs_c *= 2; \
|
||||
} \
|
||||
else /* if ( bli_is_1r_packed( schema_a ) ) */ \
|
||||
{ \
|
||||
m *= 1; \
|
||||
n *= 2; \
|
||||
k *= 2; \
|
||||
pd_a *= 1; ps_a *= 2; \
|
||||
pd_b *= 2; ps_b *= 2; \
|
||||
rs_c *= 2; cs_c *= 1; \
|
||||
} \
|
||||
} \
|
||||
then we may proceed with the optimization. */
|
||||
if ( bli_obj_imag_is_zero( &beta ) &&
|
||||
!bli_is_gen_stored( *rs_c, *cs_c ) )
|
||||
{
|
||||
*dt_exec = bli_dt_proj_to_real( *dt_exec );
|
||||
|
||||
if ( bli_is_1e_packed( schema_a ) )
|
||||
{
|
||||
*m *= 2;
|
||||
*n *= 1;
|
||||
*k *= 2;
|
||||
*pd_a *= 2; *ps_a *= 2;
|
||||
*pd_b *= 1; *ps_b *= 2;
|
||||
*rs_c *= 1; *cs_c *= 2;
|
||||
}
|
||||
else /* if ( bli_is_1r_packed( schema_a ) ) */
|
||||
{
|
||||
*m *= 1;
|
||||
*n *= 2;
|
||||
*k *= 2;
|
||||
*pd_a *= 1; *ps_a *= 2;
|
||||
*pd_b *= 2; *ps_b *= 2;
|
||||
*rs_c *= 2; *cs_c *= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -447,7 +447,7 @@ GENTFUNC2( dcomplex, scomplex, z, c, tfuncname, varname )
|
||||
|
||||
|
||||
|
||||
// -- Basic two-operand with real projection of first operand --
|
||||
// -- Basic two-operand with real projection of second operand --
|
||||
|
||||
// -- (no auxiliary arguments) --
|
||||
|
||||
@@ -469,7 +469,7 @@ GENTFUNC2R( dcomplex, dcomplex, double, z, z, d, tfuncname, varname )
|
||||
|
||||
|
||||
|
||||
// -- Mixed domain two-operand with real projection of first operand --
|
||||
// -- Mixed domain two-operand with real projection of second operand --
|
||||
|
||||
// -- (no auxiliary arguments) --
|
||||
|
||||
@@ -493,84 +493,83 @@ GENTFUNC2R( dcomplex, double, double, z, d, d, tfuncname, varname )
|
||||
|
||||
|
||||
|
||||
// -- Mixed precision two-operand with real projection of first operand --
|
||||
// -- Mixed precision two-operand with real projection of second operand --
|
||||
|
||||
// -- (no auxiliary arguments) --
|
||||
|
||||
#define INSERT_GENTFUNC2R_MIX_P0( tfuncname ) \
|
||||
\
|
||||
GENTFUNC2R( float, double, float, s, d, s, tfuncname ) \
|
||||
GENTFUNC2R( float, dcomplex, float, s, z, s, tfuncname ) \
|
||||
GENTFUNC2R( float, double, double, s, d, d, tfuncname ) \
|
||||
GENTFUNC2R( float, dcomplex, double, s, z, d, tfuncname ) \
|
||||
\
|
||||
GENTFUNC2R( double, float, double, d, s, d, tfuncname ) \
|
||||
GENTFUNC2R( double, scomplex, double, d, c, d, tfuncname ) \
|
||||
GENTFUNC2R( double, float, float, d, s, s, tfuncname ) \
|
||||
GENTFUNC2R( double, scomplex, float, d, c, s, tfuncname ) \
|
||||
\
|
||||
GENTFUNC2R( scomplex, double, float, c, d, s, tfuncname ) \
|
||||
GENTFUNC2R( scomplex, dcomplex, float, c, z, s, tfuncname ) \
|
||||
GENTFUNC2R( scomplex, double, double, c, d, d, tfuncname ) \
|
||||
GENTFUNC2R( scomplex, dcomplex, double, c, z, d, tfuncname ) \
|
||||
\
|
||||
GENTFUNC2R( dcomplex, float, double, z, s, d, tfuncname ) \
|
||||
GENTFUNC2R( dcomplex, scomplex, double, z, c, d, tfuncname )
|
||||
GENTFUNC2R( dcomplex, float, float, z, s, s, tfuncname ) \
|
||||
GENTFUNC2R( dcomplex, scomplex, float, z, c, s, tfuncname )
|
||||
|
||||
// -- (one auxiliary argument) --
|
||||
|
||||
#define INSERT_GENTFUNC2R_MIX_P( tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2R( float, double, float, s, d, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( float, dcomplex, float, s, z, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( float, double, double, s, d, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( float, dcomplex, double, s, z, d, tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2R( double, float, double, d, s, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( double, scomplex, double, d, c, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( double, float, float, d, s, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( double, scomplex, float, d, c, s, tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2R( scomplex, double, float, c, d, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( scomplex, dcomplex, float, c, z, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( scomplex, double, double, c, d, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( scomplex, dcomplex, double, c, z, d, tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2R( dcomplex, float, double, z, s, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( dcomplex, scomplex, double, z, c, d, tfuncname, varname )
|
||||
GENTFUNC2R( dcomplex, float, float, z, s, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( dcomplex, scomplex, float, z, c, s, tfuncname, varname )
|
||||
|
||||
|
||||
|
||||
// -- Mixed domain/precision (all) two-operand macro with real projection of first operand --
|
||||
// -- Mixed domain/precision (all) two-operand macro with real projection of second operand --
|
||||
|
||||
// -- (no auxiliary arguments) --
|
||||
|
||||
#define INSERT_GENTFUNC2R_MIXDP0( tfuncname ) \
|
||||
\
|
||||
GENTFUNC2( float, double, s, d, tfuncname ) \
|
||||
GENTFUNC2( float, scomplex, s, c, tfuncname ) \
|
||||
GENTFUNC2( float, dcomplex, s, z, tfuncname ) \
|
||||
GENTFUNC2R( float, double, double, s, d, d, tfuncname ) \
|
||||
GENTFUNC2R( float, scomplex, float, s, c, s, tfuncname ) \
|
||||
GENTFUNC2R( float, dcomplex, double, s, z, d, tfuncname ) \
|
||||
\
|
||||
GENTFUNC2( double, float, d, s, tfuncname ) \
|
||||
GENTFUNC2( double, scomplex, d, c, tfuncname ) \
|
||||
GENTFUNC2( double, dcomplex, d, z, tfuncname ) \
|
||||
GENTFUNC2R( double, float, float, d, s, s, tfuncname ) \
|
||||
GENTFUNC2R( double, scomplex, float, d, c, s, tfuncname ) \
|
||||
GENTFUNC2R( double, dcomplex, double, d, z, d, tfuncname ) \
|
||||
\
|
||||
GENTFUNC2( scomplex, float, c, s, tfuncname ) \
|
||||
GENTFUNC2( scomplex, double, c, d, tfuncname ) \
|
||||
GENTFUNC2( scomplex, dcomplex, c, z, tfuncname ) \
|
||||
GENTFUNC2R( scomplex, float, float, c, s, s, tfuncname ) \
|
||||
GENTFUNC2R( scomplex, double, double, c, d, d, tfuncname ) \
|
||||
GENTFUNC2R( scomplex, dcomplex, double, c, z, d, tfuncname ) \
|
||||
\
|
||||
GENTFUNC2( dcomplex, float, z, s, tfuncname ) \
|
||||
GENTFUNC2( dcomplex, double, z, d, tfuncname ) \
|
||||
GENTFUNC2( dcomplex, scomplex, z, c, tfuncname )
|
||||
|
||||
GENTFUNC2R( dcomplex, float, float, z, s, s, tfuncname ) \
|
||||
GENTFUNC2R( dcomplex, double, double, z, d, d, tfuncname ) \
|
||||
GENTFUNC2R( dcomplex, scomplex, float, z, c, s, tfuncname ) \
|
||||
|
||||
// -- (one auxiliary argument) --
|
||||
|
||||
#define INSERT_GENTFUNC2R_MIX_DP( tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2( float, double, s, d, tfuncname, varname ) \
|
||||
GENTFUNC2( float, scomplex, s, c, tfuncname, varname ) \
|
||||
GENTFUNC2( float, dcomplex, s, z, tfuncname, varname ) \
|
||||
GENTFUNC2R( float, double, double, s, d, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( float, scomplex, float, s, c, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( float, dcomplex, double, s, z, d, tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2( double, float, d, s, tfuncname, varname ) \
|
||||
GENTFUNC2( double, scomplex, d, c, tfuncname, varname ) \
|
||||
GENTFUNC2( double, dcomplex, d, z, tfuncname, varname ) \
|
||||
GENTFUNC2R( double, float, float, d, s, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( double, scomplex, float, d, c, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( double, dcomplex, double, d, z, d, tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2( scomplex, float, c, s, tfuncname, varname ) \
|
||||
GENTFUNC2( scomplex, double, c, d, tfuncname, varname ) \
|
||||
GENTFUNC2( scomplex, dcomplex, c, z, tfuncname, varname ) \
|
||||
GENTFUNC2R( scomplex, float, float, c, s, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( scomplex, double, double, c, d, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( scomplex, dcomplex, double, c, z, d, tfuncname, varname ) \
|
||||
\
|
||||
GENTFUNC2( dcomplex, float, z, s, tfuncname, varname ) \
|
||||
GENTFUNC2( dcomplex, double, z, d, tfuncname, varname ) \
|
||||
GENTFUNC2( dcomplex, scomplex, z, c, tfuncname, varname )
|
||||
GENTFUNC2R( dcomplex, float, float, z, s, s, tfuncname, varname ) \
|
||||
GENTFUNC2R( dcomplex, double, double, z, d, d, tfuncname, varname ) \
|
||||
GENTFUNC2R( dcomplex, scomplex, float, z, c, s, tfuncname, varname ) \
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,17 +37,49 @@
|
||||
|
||||
// copy1es
|
||||
|
||||
#define bli_ccopy1es( a, bri, bir ) \
|
||||
// Notes:
|
||||
// - The first char encodes the type of x.
|
||||
// - The second char encodes the type of y.
|
||||
|
||||
#define bli_sscopy1es( a, bri, bir ) {}
|
||||
#define bli_dscopy1es( a, bri, bir ) {}
|
||||
#define bli_cscopy1es( a, bri, bir ) {}
|
||||
#define bli_zscopy1es( a, bri, bir ) {}
|
||||
|
||||
#define bli_sdcopy1es( a, bri, bir ) {}
|
||||
#define bli_ddcopy1es( a, bri, bir ) {}
|
||||
#define bli_cdcopy1es( a, bri, bir ) {}
|
||||
#define bli_zdcopy1es( a, bri, bir ) {}
|
||||
|
||||
#define bli_sccopy1es( a, bri, bir ) {}
|
||||
#define bli_dccopy1es( a, bri, bir ) {}
|
||||
#define bli_cccopy1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_ccopyris( bli_creal(a), bli_cimag(a), bli_creal(bri), bli_cimag(bri) ); \
|
||||
bli_ccopyris( -bli_cimag(a), bli_creal(a), bli_creal(bir), bli_cimag(bir) ); \
|
||||
bli_cccopyris( bli_creal(a), bli_cimag(a), bli_creal(bri), bli_cimag(bri) ); \
|
||||
bli_cccopyris( -bli_cimag(a), bli_creal(a), bli_creal(bir), bli_cimag(bir) ); \
|
||||
}
|
||||
#define bli_zccopy1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_zccopyris( bli_zreal(a), bli_zimag(a), bli_creal(bri), bli_cimag(bri) ); \
|
||||
bli_zccopyris( -bli_zimag(a), bli_zreal(a), bli_creal(bir), bli_cimag(bir) ); \
|
||||
}
|
||||
|
||||
#define bli_zcopy1es( a, bri, bir ) \
|
||||
#define bli_szcopy1es( a, bri, bir ) {}
|
||||
#define bli_dzcopy1es( a, bri, bir ) {}
|
||||
#define bli_czcopy1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_zcopyris( bli_zreal(a), bli_zimag(a), bli_zreal(bri), bli_zimag(bri) ); \
|
||||
bli_zcopyris( -bli_zimag(a), bli_zreal(a), bli_zreal(bir), bli_zimag(bir) ); \
|
||||
bli_czcopyris( bli_creal(a), bli_cimag(a), bli_zreal(bri), bli_zimag(bri) ); \
|
||||
bli_czcopyris( -bli_cimag(a), bli_creal(a), bli_zreal(bir), bli_zimag(bir) ); \
|
||||
}
|
||||
#define bli_zzcopy1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_zzcopyris( bli_zreal(a), bli_zimag(a), bli_zreal(bri), bli_zimag(bri) ); \
|
||||
bli_zzcopyris( -bli_zimag(a), bli_zreal(a), bli_zreal(bir), bli_zimag(bir) ); \
|
||||
}
|
||||
|
||||
|
||||
#define bli_ccopy1es( a, bri, bir ) bli_cccopy1es( a, bri, bir )
|
||||
#define bli_zcopy1es( a, bri, bir ) bli_zzcopy1es( a, bri, bir )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,17 +37,49 @@
|
||||
|
||||
// copyj1es
|
||||
|
||||
#define bli_ccopyj1es( a, bri, bir ) \
|
||||
// Notes:
|
||||
// - The first char encodes the type of x.
|
||||
// - The second char encodes the type of y.
|
||||
|
||||
#define bli_sscopyj1es( a, bri, bir ) {}
|
||||
#define bli_dscopyj1es( a, bri, bir ) {}
|
||||
#define bli_cscopyj1es( a, bri, bir ) {}
|
||||
#define bli_zscopyj1es( a, bri, bir ) {}
|
||||
|
||||
#define bli_sdcopyj1es( a, bri, bir ) {}
|
||||
#define bli_ddcopyj1es( a, bri, bir ) {}
|
||||
#define bli_cdcopyj1es( a, bri, bir ) {}
|
||||
#define bli_zdcopyj1es( a, bri, bir ) {}
|
||||
|
||||
#define bli_sccopyj1es( a, bri, bir ) {}
|
||||
#define bli_dccopyj1es( a, bri, bir ) {}
|
||||
#define bli_cccopyj1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_ccopyris( bli_creal(a), -bli_cimag(a), bli_creal(bri), bli_cimag(bri) ); \
|
||||
bli_ccopyris( bli_cimag(a), bli_creal(a), bli_creal(bir), bli_cimag(bir) ); \
|
||||
bli_cccopyris( bli_creal(a), -bli_cimag(a), bli_creal(bri), bli_cimag(bri) ); \
|
||||
bli_cccopyris( bli_cimag(a), bli_creal(a), bli_creal(bir), bli_cimag(bir) ); \
|
||||
}
|
||||
#define bli_zccopyj1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_zccopyris( bli_zreal(a), -bli_zimag(a), bli_creal(bri), bli_cimag(bri) ); \
|
||||
bli_zccopyris( bli_zimag(a), bli_zreal(a), bli_creal(bir), bli_cimag(bir) ); \
|
||||
}
|
||||
|
||||
#define bli_zcopyj1es( a, bri, bir ) \
|
||||
#define bli_szcopyj1es( a, bri, bir ) {}
|
||||
#define bli_dzcopyj1es( a, bri, bir ) {}
|
||||
#define bli_czcopyj1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_zcopyris( bli_zreal(a), -bli_zimag(a), bli_zreal(bri), bli_zimag(bri) ); \
|
||||
bli_zcopyris( bli_zimag(a), bli_zreal(a), bli_zreal(bir), bli_zimag(bir) ); \
|
||||
bli_czcopyris( bli_creal(a), -bli_cimag(a), bli_zreal(bri), bli_zimag(bri) ); \
|
||||
bli_czcopyris( bli_cimag(a), bli_creal(a), bli_zreal(bir), bli_zimag(bir) ); \
|
||||
}
|
||||
#define bli_zzcopyj1es( a, bri, bir ) \
|
||||
{ \
|
||||
bli_zzcopyris( bli_zreal(a), -bli_zimag(a), bli_zreal(bri), bli_zimag(bri) ); \
|
||||
bli_zzcopyris( bli_zimag(a), bli_zreal(a), bli_zreal(bir), bli_zimag(bir) ); \
|
||||
}
|
||||
|
||||
|
||||
#define bli_ccopyj1es( a, bri, bir ) bli_cccopyj1es( a, bri, bir )
|
||||
#define bli_zcopyj1es( a, bri, bir ) bli_zzcopyj1es( a, bri, bir )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,29 +37,199 @@
|
||||
|
||||
// scal21es
|
||||
|
||||
#define bli_cscal21es( a, x, yri, yir ) \
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssscal21es( a, x, yri, yir ) {}
|
||||
#define bli_sdsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_scsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_szsscal21es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_dssscal21es( a, x, yri, yir ) {}
|
||||
#define bli_ddsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dcsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dzsscal21es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_cssscal21es( a, x, yri, yir ) {}
|
||||
#define bli_cdsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_ccsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_czsscal21es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_zssscal21es( a, x, yri, yir ) {}
|
||||
#define bli_zdsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_zcsscal21es( a, x, yri, yir ) {}
|
||||
#define bli_zzsscal21es( a, x, yri, yir ) {}
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_sddscal21es( a, x, yri, yir ) {}
|
||||
#define bli_scdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_szdscal21es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_dsdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dddscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dcdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dzdscal21es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_csdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_cddscal21es( a, x, yri, yir ) {}
|
||||
#define bli_ccdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_czdscal21es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_zsdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_zddscal21es( a, x, yri, yir ) {}
|
||||
#define bli_zcdscal21es( a, x, yri, yir ) {}
|
||||
#define bli_zzdscal21es( a, x, yri, yir ) {}
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscscal21es( a, x, yri, yir ) {}
|
||||
#define bli_sdcscal21es( a, x, yri, yir ) {}
|
||||
#define bli_sccscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(yri), bli_cimag(yri) ); \
|
||||
bli_cscal2ris( bli_creal(a), bli_cimag(a), -bli_cimag(x), bli_creal(x), bli_creal(yir), bli_cimag(yir) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_szcscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_zscal21es( a, x, yri, yir ) \
|
||||
#define bli_dscscal21es( a, x, yri, yir ) {}
|
||||
#define bli_ddcscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dccscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_zscal2ris( bli_zreal(a), bli_zimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_dzcscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_scscal21es( a, x, yri, yir ) \
|
||||
#define bli_cscscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_scscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(yri), bli_cimag(yri) ); \
|
||||
bli_scscal2ris( bli_sreal(a), bli_simag(a), -bli_cimag(x), bli_creal(x), bli_creal(yir), bli_cimag(yir) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cdcscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cccscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_czcscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_dzscal21es( a, x, yri, yir ) \
|
||||
#define bli_zscscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_dzscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_dzscal2ris( bli_dreal(a), bli_dimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zdcscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zccscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zzcscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszscal21es( a, x, yri, yir ) {}
|
||||
#define bli_sdzscal21es( a, x, yri, yir ) {}
|
||||
#define bli_sczscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_szzscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_dszscal21es( a, x, yri, yir ) {}
|
||||
#define bli_ddzscal21es( a, x, yri, yir ) {}
|
||||
#define bli_dczscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_dzzscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_cszscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cdzscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cczscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_czzscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_zszscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zdzscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zczscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zzzscal21es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), -bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define bli_cscal21es( a, x, yri, yir ) bli_cccscal21es( a, x, yri, yir )
|
||||
#define bli_zscal21es( a, x, yri, yir ) bli_zzzscal21es( a, x, yri, yir )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,29 +37,199 @@
|
||||
|
||||
// scal2j1es
|
||||
|
||||
#define bli_cscal2j1es( a, x, yri, yir ) \
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_sdsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_scsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_szsscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_dssscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_ddsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dcsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dzsscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_cssscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_cdsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_ccsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_czsscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_zssscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_zdsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_zcsscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_zzsscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_sddscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_scdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_szdscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_dsdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dddscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dcdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dzdscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_csdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_cddscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_ccdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_czdscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
#define bli_zsdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_zddscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_zcdscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_zzdscal2j1es( a, x, yri, yir ) {}
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_sdcscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_sccscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), -bli_cimag(x), bli_creal(yri), bli_cimag(yri) ); \
|
||||
bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_cimag(x), bli_creal(x), bli_creal(yir), bli_cimag(yir) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_szcscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_zscal2j1es( a, x, yri, yir ) \
|
||||
#define bli_dscscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_ddcscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dccscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_dzcscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_scscal2j1es( a, x, yri, yir ) \
|
||||
#define bli_cscscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_scscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), -bli_cimag(x), bli_creal(yri), bli_cimag(yri) ); \
|
||||
bli_scscal2ris( bli_sreal(a), bli_simag(a), bli_cimag(x), bli_creal(x), bli_creal(yir), bli_cimag(yir) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), -bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cdcscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), -bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cccscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_czcscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_dzscal2j1es( a, x, yri, yir ) \
|
||||
#define bli_zscscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_dzscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_dzscal2ris( bli_dreal(a), bli_dimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), -bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zdcscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), -bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zccscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zzcscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_sdzscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_sczscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_szzscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_sreal(a), bli_simag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_dszscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_ddzscal2j1es( a, x, yri, yir ) {}
|
||||
#define bli_dczscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_dzzscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_dreal(a), bli_dimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_cszscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), -bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cdzscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), -bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_cczscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_czzscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
#define bli_zszscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), -bli_simag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_simag(x), bli_sreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zdzscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), -bli_dimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dimag(x), bli_dreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zczscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), -bli_cimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_cimag(x), bli_creal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
#define bli_zzzscal2j1es( a, x, yri, yir ) \
|
||||
{ \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), -bli_zimag(x), bli_zreal(yri), bli_zimag(yri) ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zimag(x), bli_zreal(x), bli_zreal(yir), bli_zimag(yir) ); \
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define bli_cscal2j1es( a, x, yri, yir ) bli_cccscal2j1es( a, x, yri, yir )
|
||||
#define bli_zscal2j1es( a, x, yri, yir ) bli_zzzscal2j1es( a, x, yri, yir )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -50,10 +50,10 @@
|
||||
\
|
||||
for ( i = 0; i < min_m_n; ++i ) \
|
||||
{ \
|
||||
bli_scscal21es( *(x + i*rs_x + i*cs_x), \
|
||||
*(a), \
|
||||
*(y_off_ri + i*rs_y + i*cs_y), \
|
||||
*(y_off_ir + i*rs_y + i*cs_y) ); \
|
||||
bli_cscscal21es( *(a), \
|
||||
*(x + i*rs_x + i*cs_x), \
|
||||
*(y_off_ri + i*rs_y + i*cs_y), \
|
||||
*(y_off_ir + i*rs_y + i*cs_y) ); \
|
||||
} \
|
||||
} \
|
||||
else /* if ( bli_is_1r_packed( schema ) ) */ \
|
||||
@@ -72,10 +72,10 @@
|
||||
\
|
||||
for ( i = 0; i < min_m_n; ++i ) \
|
||||
{ \
|
||||
bli_scscal21rs( *(x + i*rs_x + i*cs_x), \
|
||||
*(a), \
|
||||
*(y_off_r + i*rs_y2 + i*cs_y2), \
|
||||
*(y_off_i + i*rs_y2 + i*cs_y2) ); \
|
||||
bli_cscscal21rs( *(a), \
|
||||
*(x + i*rs_x + i*cs_x ), \
|
||||
*(y_off_r + i*rs_y2 + i*cs_y2), \
|
||||
*(y_off_i + i*rs_y2 + i*cs_y2) ); \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
@@ -93,10 +93,10 @@
|
||||
\
|
||||
for ( i = 0; i < min_m_n; ++i ) \
|
||||
{ \
|
||||
bli_dzscal21es( *(x + i*rs_x + i*cs_x), \
|
||||
*(a), \
|
||||
*(y_off_ri + i*rs_y + i*cs_y), \
|
||||
*(y_off_ir + i*rs_y + i*cs_y) ); \
|
||||
bli_zdzscal21es( *(a), \
|
||||
*(x + i*rs_x + i*cs_x), \
|
||||
*(y_off_ri + i*rs_y + i*cs_y), \
|
||||
*(y_off_ir + i*rs_y + i*cs_y) ); \
|
||||
} \
|
||||
} \
|
||||
else /* if ( bli_is_1r_packed( schema ) ) */ \
|
||||
@@ -115,10 +115,10 @@
|
||||
\
|
||||
for ( i = 0; i < min_m_n; ++i ) \
|
||||
{ \
|
||||
bli_dzscal21rs( *(x + i*rs_x + i*cs_x), \
|
||||
*(a), \
|
||||
*(y_off_r + i*rs_y2 + i*cs_y2), \
|
||||
*(y_off_i + i*rs_y2 + i*cs_y2) ); \
|
||||
bli_zdzscal21rs( *(a), \
|
||||
*(x + i*rs_x + i*cs_x ), \
|
||||
*(y_off_r + i*rs_y2 + i*cs_y2), \
|
||||
*(y_off_i + i*rs_y2 + i*cs_y2) ); \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
@@ -37,25 +37,29 @@
|
||||
|
||||
// scal21rs
|
||||
|
||||
#define bli_cscal21rs( a, x, yr, yi ) \
|
||||
#define bli_cscscal21rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), yr, yi ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_zscal21rs( a, x, yr, yi ) \
|
||||
#define bli_cccscal21rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), yr, yi ); \
|
||||
bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_scscal21rs( a, x, yr, yi ) \
|
||||
#define bli_zdzscal21rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_scscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), yr, yi ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_dzscal21rs( a, x, yr, yi ) \
|
||||
#define bli_zzzscal21rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_dzscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), yr, yi ); \
|
||||
bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
|
||||
#define bli_cscal21rs( a, x, yr, yi ) bli_cccscal21rs( a, x, yr, yi )
|
||||
#define bli_zscal21rs( a, x, yr, yi ) bli_zzzscal21rs( a, x, yr, yi )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,25 +37,29 @@
|
||||
|
||||
// scal2j1rs
|
||||
|
||||
#define bli_cscal2j1rs( a, x, yr, yi ) \
|
||||
#define bli_cscscal2j1rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_cscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_cccscal2j1rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_cscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_zscal2j1rs( a, x, yr, yi ) \
|
||||
#define bli_zdzscal2j1rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_zscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_zzzscal2j1rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_zscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_scscal2j1rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_scscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), yr, yi ); \
|
||||
}
|
||||
|
||||
#define bli_dzscal2j1rs( a, x, yr, yi ) \
|
||||
{ \
|
||||
bli_dzscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), yr, yi ); \
|
||||
}
|
||||
#define bli_cscal2j1rs( a, x, yr, yi ) bli_cccscal2j1rs( a, x, yr, yi )
|
||||
#define bli_zscal2j1rs( a, x, yr, yi ) bli_zzzscal2j1rs( a, x, yr, yi )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -43,288 +43,287 @@
|
||||
// - The third char encodes the type of b.
|
||||
// - The fourth char encodes the type of y.
|
||||
|
||||
|
||||
// -- (axby) = (???s) ----------------------------------------------------------
|
||||
|
||||
#define bli_ssssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzssaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ssssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzssaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_ssdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sddsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dddsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cddsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zddsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzdsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ssdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sddsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dddsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cddsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zddsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzdsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sscsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dscsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cscsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zscsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sccsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dccsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cccsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zccsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzcsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sscsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dscsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cscsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zscsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sccsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dccsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cccsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zccsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzcsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sszsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dszsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cszsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zszsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sczsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dczsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cczsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zczsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzzsaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sszsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dszsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cszsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zszsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sczsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dczsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cczsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zczsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzzsaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
// -- (axby) = (???d) ----------------------------------------------------------
|
||||
|
||||
#define bli_sssdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dssdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cssdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zssdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzsdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sssdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dssdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cssdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zssdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzsdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_ssddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzddaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ssddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzddaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sscdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dscdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cscdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zscdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sccdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dccdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cccdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zccdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzcdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sscdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dscdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cscdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zscdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sccdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dccdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cccdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zccdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzcdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sszdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dszdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cszdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zszdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sczdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dczdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cczdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zczdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzzdaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sszdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dszdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cszdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zszdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sczdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dczdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cczdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zczdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzzdaxpbyjs( a, x, b, y ) bli_rxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#ifndef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (axby) = (???c) ----------------------------------------------------------
|
||||
|
||||
#define bli_ssscaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsscaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csscaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsscaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdscaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddscaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdscaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdscaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scscaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcscaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccscaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcscaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szscaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzscaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czscaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzscaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ssscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzscaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_ssdcaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsdcaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csdcaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsdcaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sddcaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dddcaxpbyjs( a, x, b, y ) bli_saxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cddcaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zddcaxpbyjs( a, x, b, y ) bli_cssaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scdcaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcdcaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccdcaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcdcaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szdcaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzdcaxpbyjs( a, x, b, y ) bli_scsaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czdcaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzdcaxpbyjs( a, x, b, y ) bli_ccsaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ssdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sddcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dddcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cddcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zddcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzdcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_ssccaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsccaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csccaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsccaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdccaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddccaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdccaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdccaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scccaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcccaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccccaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcccaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szccaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzccaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czccaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzccaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ssccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzccaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sszcaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dszcaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cszcaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zszcaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdzcaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddzcaxpbyjs( a, x, b, y ) bli_sscaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdzcaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdzcaxpbyjs( a, x, b, y ) bli_cscaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sczcaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dczcaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cczcaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zczcaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szzcaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzzcaxpbyjs( a, x, b, y ) bli_sccaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czzcaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzzcaxpbyjs( a, x, b, y ) bli_caxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sszcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dszcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cszcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zszcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sczcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dczcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cczcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zczcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzzcaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
// -- (axby) = (???z) ----------------------------------------------------------
|
||||
|
||||
#define bli_ssszaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsszaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csszaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsszaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdszaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddszaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdszaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdszaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scszaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcszaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccszaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcszaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szszaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzszaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czszaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzszaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ssszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzszaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_ssdzaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsdzaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csdzaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsdzaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sddzaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dddzaxpbyjs( a, x, b, y ) bli_daxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cddzaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zddzaxpbyjs( a, x, b, y ) bli_zddaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scdzaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcdzaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccdzaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcdzaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szdzaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzdzaxpbyjs( a, x, b, y ) bli_dzdaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czdzaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzdzaxpbyjs( a, x, b, y ) bli_zzdaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ssdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sddzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dddzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cddzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zddzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzdzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_ssczaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsczaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csczaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsczaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdczaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddczaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdczaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdczaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scczaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcczaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccczaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcczaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szczaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzczaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czczaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzczaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ssczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzczaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sszzaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszzaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszzaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszzaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzzaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzzaxpbyjs( a, x, b, y ) bli_ddzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzzaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzzaxpbyjs( a, x, b, y ) bli_zdzaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczzaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczzaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczzaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczzaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzzaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzzaxpbyjs( a, x, b, y ) bli_dzzaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzzaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzzaxpbyjs( a, x, b, y ) bli_zaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sszzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzzaxpbyjs( a, x, b, y ) bli_cxaxpbyjris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#else // ifdef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
|
||||
@@ -43,288 +43,287 @@
|
||||
// - The third char encodes the type of b.
|
||||
// - The fourth char encodes the type of y.
|
||||
|
||||
|
||||
// -- (axby) = (???s) ----------------------------------------------------------
|
||||
|
||||
#define bli_ssssaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsssaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csssaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsssaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdssaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddssaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdssaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdssaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scssaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcssaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccssaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcssaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szssaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzssaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czssaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzssaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ssssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzssaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_ssdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sddsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dddsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cddsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zddsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzdsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ssdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dsdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_csdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zsdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sddsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dddsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cddsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zddsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzdsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sscsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dscsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cscsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zscsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sccsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dccsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cccsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zccsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzcsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sscsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dscsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cscsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zscsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sccsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dccsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cccsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zccsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzcsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sszsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dszsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cszsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zszsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sczsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dczsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cczsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zczsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzzsaxpbys( a, x, b, y ) bli_saxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sszsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dszsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cszsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zszsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sczsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dczsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cczsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zczsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzzsaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
// -- (axby) = (???d) ----------------------------------------------------------
|
||||
|
||||
#define bli_sssdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dssdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cssdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zssdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzsdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sssdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dssdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cssdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zssdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzsdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_ssddaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsddaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csddaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsddaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdddaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddddaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdddaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdddaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scddaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcddaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccddaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcddaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szddaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzddaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czddaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzddaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ssddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzddaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sscdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dscdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cscdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zscdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sccdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dccdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cccdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zccdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzcdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sscdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dscdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cscdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zscdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sccdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dccdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cccdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zccdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzcdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sszdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dszdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cszdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zszdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sczdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dczdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cczdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zczdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzzdaxpbys( a, x, b, y ) bli_daxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sszdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dszdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cszdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zszdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sdzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ddzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cdzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zdzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sczdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dczdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cczdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zczdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzzdaxpbys( a, x, b, y ) bli_rxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#ifndef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (axby) = (???c) ----------------------------------------------------------
|
||||
|
||||
#define bli_ssscaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsscaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csscaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsscaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdscaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddscaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdscaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdscaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scscaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcscaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccscaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcscaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szscaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzscaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czscaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzscaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ssscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzscaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_ssdcaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsdcaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csdcaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsdcaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sddcaxpbys( a, x, b, y ) bli_saxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dddcaxpbys( a, x, b, y ) bli_saxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cddcaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zddcaxpbys( a, x, b, y ) bli_cssaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scdcaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcdcaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccdcaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcdcaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szdcaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzdcaxpbys( a, x, b, y ) bli_scsaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czdcaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzdcaxpbys( a, x, b, y ) bli_ccsaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ssdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sddcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dddcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cddcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zddcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzdcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_ssccaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsccaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csccaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsccaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdccaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddccaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdccaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdccaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scccaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcccaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccccaxpbys( a, x, b, y ) bli_caxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcccaxpbys( a, x, b, y ) bli_caxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szccaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzccaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czccaxpbys( a, x, b, y ) bli_caxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzccaxpbys( a, x, b, y ) bli_caxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ssccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dsccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_csccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zsccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_scccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dcccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ccccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zcccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzccaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sszcaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dszcaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cszcaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zszcaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdzcaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddzcaxpbys( a, x, b, y ) bli_sscaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdzcaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdzcaxpbys( a, x, b, y ) bli_cscaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sczcaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dczcaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cczcaxpbys( a, x, b, y ) bli_caxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zczcaxpbys( a, x, b, y ) bli_caxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szzcaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzzcaxpbys( a, x, b, y ) bli_sccaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czzcaxpbys( a, x, b, y ) bli_caxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzzcaxpbys( a, x, b, y ) bli_caxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sszcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dszcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cszcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zszcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sczcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dczcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cczcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zczcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzzcaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
// -- (axby) = (???z) ----------------------------------------------------------
|
||||
|
||||
#define bli_ssszaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsszaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csszaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsszaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdszaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddszaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdszaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdszaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scszaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcszaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccszaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcszaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szszaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzszaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czszaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzszaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ssszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzszaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_ssdzaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsdzaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csdzaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsdzaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sddzaxpbys( a, x, b, y ) bli_daxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dddzaxpbys( a, x, b, y ) bli_daxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cddzaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zddzaxpbys( a, x, b, y ) bli_zddaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scdzaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcdzaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccdzaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcdzaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szdzaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzdzaxpbys( a, x, b, y ) bli_dzdaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czdzaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzdzaxpbys( a, x, b, y ) bli_zzdaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ssdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sddzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dddzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cddzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zddzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzdzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_ssczaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsczaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csczaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsczaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdczaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddczaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdczaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdczaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scczaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcczaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccczaxpbys( a, x, b, y ) bli_zaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcczaxpbys( a, x, b, y ) bli_zaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szczaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzczaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czczaxpbys( a, x, b, y ) bli_zaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzczaxpbys( a, x, b, y ) bli_zaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ssczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dsczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_csczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zsczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_scczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dcczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ccczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zcczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzczaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sszzaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszzaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszzaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszzaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzzaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzzaxpbys( a, x, b, y ) bli_ddzaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzzaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzzaxpbys( a, x, b, y ) bli_zdzaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczzaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczzaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczzaxpbys( a, x, b, y ) bli_zaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczzaxpbys( a, x, b, y ) bli_zaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzzaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzzaxpbys( a, x, b, y ) bli_dzzaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzzaxpbys( a, x, b, y ) bli_zaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzzaxpbys( a, x, b, y ) bli_zaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sszzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzzaxpbys( a, x, b, y ) bli_cxaxpbyris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#else // ifdef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
|
||||
@@ -45,93 +45,93 @@
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssscal2js( a, x, y ) bli_sscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssscal2js( a, x, y ) bli_sscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssscal2js( a, x, y ) bli_sscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssscal2js( a, x, y ) bli_sscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sssscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssscal2js( a, x, y ) bli_rxscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssscal2js( a, x, y ) bli_rxscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sdsscal2js( a, x, y ) bli_sscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsscal2js( a, x, y ) bli_sscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsscal2js( a, x, y ) bli_sscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsscal2js( a, x, y ) bli_sscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdsscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsscal2js( a, x, y ) bli_rxscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsscal2js( a, x, y ) bli_rxscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_scsscal2js( a, x, y ) bli_sscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsscal2js( a, x, y ) bli_sscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsscal2js( a, x, y ) bli_sscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsscal2js( a, x, y ) bli_sscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scsscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsscal2js( a, x, y ) bli_roscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsscal2js( a, x, y ) bli_roscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_szsscal2js( a, x, y ) bli_sscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsscal2js( a, x, y ) bli_sscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsscal2js( a, x, y ) bli_sscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsscal2js( a, x, y ) bli_sscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szsscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsscal2js( a, x, y ) bli_roscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsscal2js( a, x, y ) bli_roscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdscal2js( a, x, y ) bli_dscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdscal2js( a, x, y ) bli_dscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdscal2js( a, x, y ) bli_dscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdscal2js( a, x, y ) bli_dscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ssdscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdscal2js( a, x, y ) bli_rxscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdscal2js( a, x, y ) bli_rxscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sddscal2js( a, x, y ) bli_dscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddscal2js( a, x, y ) bli_dscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddscal2js( a, x, y ) bli_dscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddscal2js( a, x, y ) bli_dscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sddscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddscal2js( a, x, y ) bli_rxscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddscal2js( a, x, y ) bli_rxscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_scdscal2js( a, x, y ) bli_dscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdscal2js( a, x, y ) bli_dscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdscal2js( a, x, y ) bli_dscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdscal2js( a, x, y ) bli_dscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scdscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdscal2js( a, x, y ) bli_roscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdscal2js( a, x, y ) bli_roscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_szdscal2js( a, x, y ) bli_dscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdscal2js( a, x, y ) bli_dscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdscal2js( a, x, y ) bli_dscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdscal2js( a, x, y ) bli_dscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szdscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdscal2js( a, x, y ) bli_roscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdscal2js( a, x, y ) bli_roscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#ifndef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscscal2js( a, x, y ) bli_sscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscscal2js( a, x, y ) bli_sscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscscal2js( a, x, y ) bli_cscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscscal2js( a, x, y ) bli_cscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sscscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscscal2js( a, x, y ) bli_rcscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscscal2js( a, x, y ) bli_rcscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sdcscal2js( a, x, y ) bli_sscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcscal2js( a, x, y ) bli_sscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcscal2js( a, x, y ) bli_cscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcscal2js( a, x, y ) bli_cscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdcscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcscal2js( a, x, y ) bli_rcscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcscal2js( a, x, y ) bli_rcscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sccscal2js( a, x, y ) bli_scscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccscal2js( a, x, y ) bli_scscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccscal2js( a, x, y ) bli_cscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccscal2js( a, x, y ) bli_cscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sccscal2js( a, x, y ) bli_crscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccscal2js( a, x, y ) bli_crscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccscal2js( a, x, y ) bli_cxscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccscal2js( a, x, y ) bli_cxscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_szcscal2js( a, x, y ) bli_scscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcscal2js( a, x, y ) bli_scscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcscal2js( a, x, y ) bli_cscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcscal2js( a, x, y ) bli_cscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szcscal2js( a, x, y ) bli_crscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcscal2js( a, x, y ) bli_crscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcscal2js( a, x, y ) bli_cxscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcscal2js( a, x, y ) bli_cxscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszscal2js( a, x, y ) bli_dscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszscal2js( a, x, y ) bli_dscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszscal2js( a, x, y ) bli_zscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszscal2js( a, x, y ) bli_zscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sszscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszscal2js( a, x, y ) bli_rcscal2jris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszscal2js( a, x, y ) bli_rcscal2jris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sdzscal2js( a, x, y ) bli_dscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzscal2js( a, x, y ) bli_dscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzscal2js( a, x, y ) bli_zscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzscal2js( a, x, y ) bli_zscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzscal2js( a, x, y ) bli_rxscal2jris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzscal2js( a, x, y ) bli_rxscal2jris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzscal2js( a, x, y ) bli_rcscal2jris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzscal2js( a, x, y ) bli_rcscal2jris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sczscal2js( a, x, y ) bli_dzscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczscal2js( a, x, y ) bli_dzscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczscal2js( a, x, y ) bli_zscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczscal2js( a, x, y ) bli_zscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczscal2js( a, x, y ) bli_crscal2jris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczscal2js( a, x, y ) bli_crscal2jris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczscal2js( a, x, y ) bli_cxscal2jris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczscal2js( a, x, y ) bli_cxscal2jris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_szzscal2js( a, x, y ) bli_dzscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzscal2js( a, x, y ) bli_dzscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzscal2js( a, x, y ) bli_zscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzscal2js( a, x, y ) bli_zscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzscal2js( a, x, y ) bli_crscal2jris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzscal2js( a, x, y ) bli_crscal2jris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzscal2js( a, x, y ) bli_cxscal2jris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzscal2js( a, x, y ) bli_cxscal2jris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#else // ifdef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
|
||||
@@ -42,96 +42,95 @@
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssscal2s( a, x, y ) bli_sscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssscal2s( a, x, y ) bli_sscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssscal2s( a, x, y ) bli_sscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssscal2s( a, x, y ) bli_sscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sssscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssscal2s( a, x, y ) bli_rxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssscal2s( a, x, y ) bli_rxscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sdsscal2s( a, x, y ) bli_sscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsscal2s( a, x, y ) bli_sscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsscal2s( a, x, y ) bli_sscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsscal2s( a, x, y ) bli_sscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdsscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsscal2s( a, x, y ) bli_rxscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsscal2s( a, x, y ) bli_rxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_scsscal2s( a, x, y ) bli_sscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsscal2s( a, x, y ) bli_sscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsscal2s( a, x, y ) bli_sscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsscal2s( a, x, y ) bli_sscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scsscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsscal2s( a, x, y ) bli_roscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsscal2s( a, x, y ) bli_roscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_szsscal2s( a, x, y ) bli_sscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsscal2s( a, x, y ) bli_sscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsscal2s( a, x, y ) bli_sscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsscal2s( a, x, y ) bli_sscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szsscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsscal2s( a, x, y ) bli_roscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsscal2s( a, x, y ) bli_roscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdscal2s( a, x, y ) bli_dscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdscal2s( a, x, y ) bli_dscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdscal2s( a, x, y ) bli_dscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdscal2s( a, x, y ) bli_dscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ssdscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdscal2s( a, x, y ) bli_rxscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdscal2s( a, x, y ) bli_rxscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sddscal2s( a, x, y ) bli_dscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddscal2s( a, x, y ) bli_dscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddscal2s( a, x, y ) bli_dscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddscal2s( a, x, y ) bli_dscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sddscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddscal2s( a, x, y ) bli_rxscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddscal2s( a, x, y ) bli_rxscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_scdscal2s( a, x, y ) bli_dscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdscal2s( a, x, y ) bli_dscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdscal2s( a, x, y ) bli_dscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdscal2s( a, x, y ) bli_dscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scdscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdscal2s( a, x, y ) bli_roscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdscal2s( a, x, y ) bli_roscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_szdscal2s( a, x, y ) bli_dscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdscal2s( a, x, y ) bli_dscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdscal2s( a, x, y ) bli_dscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdscal2s( a, x, y ) bli_dscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szdscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdscal2s( a, x, y ) bli_roscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdscal2s( a, x, y ) bli_roscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#ifndef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscscal2s( a, x, y ) bli_sscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscscal2s( a, x, y ) bli_sscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscscal2s( a, x, y ) bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscscal2s( a, x, y ) bli_cscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sscscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscscal2s( a, x, y ) bli_rcscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscscal2s( a, x, y ) bli_rcscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sdcscal2s( a, x, y ) bli_sscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcscal2s( a, x, y ) bli_sscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcscal2s( a, x, y ) bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcscal2s( a, x, y ) bli_cscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdcscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcscal2s( a, x, y ) bli_rcscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcscal2s( a, x, y ) bli_rcscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sccscal2s( a, x, y ) bli_scscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccscal2s( a, x, y ) bli_scscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccscal2s( a, x, y ) bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccscal2s( a, x, y ) bli_cscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sccscal2s( a, x, y ) bli_crscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccscal2s( a, x, y ) bli_crscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccscal2s( a, x, y ) bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccscal2s( a, x, y ) bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_szcscal2s( a, x, y ) bli_scscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcscal2s( a, x, y ) bli_scscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcscal2s( a, x, y ) bli_cscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcscal2s( a, x, y ) bli_cscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szcscal2s( a, x, y ) bli_crscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcscal2s( a, x, y ) bli_crscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcscal2s( a, x, y ) bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcscal2s( a, x, y ) bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszscal2s( a, x, y ) bli_dscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszscal2s( a, x, y ) bli_dscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszscal2s( a, x, y ) bli_zscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszscal2s( a, x, y ) bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sszscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszscal2s( a, x, y ) bli_rcscal2ris( bli_creal(a), bli_cimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszscal2s( a, x, y ) bli_rcscal2ris( bli_zreal(a), bli_zimag(a), bli_sreal(x), bli_simag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sdzscal2s( a, x, y ) bli_dscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzscal2s( a, x, y ) bli_dscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzscal2s( a, x, y ) bli_zscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzscal2s( a, x, y ) bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzscal2s( a, x, y ) bli_rxscal2ris( bli_sreal(a), bli_simag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzscal2s( a, x, y ) bli_rxscal2ris( bli_dreal(a), bli_dimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzscal2s( a, x, y ) bli_rcscal2ris( bli_creal(a), bli_cimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzscal2s( a, x, y ) bli_rcscal2ris( bli_zreal(a), bli_zimag(a), bli_dreal(x), bli_dimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sczscal2s( a, x, y ) bli_dzscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczscal2s( a, x, y ) bli_dzscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczscal2s( a, x, y ) bli_zscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczscal2s( a, x, y ) bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczscal2s( a, x, y ) bli_crscal2ris( bli_sreal(a), bli_simag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczscal2s( a, x, y ) bli_crscal2ris( bli_dreal(a), bli_dimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczscal2s( a, x, y ) bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczscal2s( a, x, y ) bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_creal(x), bli_cimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_szzscal2s( a, x, y ) bli_dzscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzscal2s( a, x, y ) bli_dzscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzscal2s( a, x, y ) bli_zscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzscal2s( a, x, y ) bli_zscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzscal2s( a, x, y ) bli_crscal2ris( bli_sreal(a), bli_simag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzscal2s( a, x, y ) bli_crscal2ris( bli_dreal(a), bli_dimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzscal2s( a, x, y ) bli_cxscal2ris( bli_creal(a), bli_cimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzscal2s( a, x, y ) bli_cxscal2ris( bli_zreal(a), bli_zimag(a), bli_zreal(x), bli_zimag(x), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#else // ifdef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
|
||||
@@ -42,142 +42,141 @@
|
||||
// - The second char encodes the type of b.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
|
||||
// -- (xby) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssxpbyjs( x, b, y ) bli_sxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssxpbyjs( x, b, y ) bli_sxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssxpbyjs( x, b, y ) bli_sxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssxpbyjs( x, b, y ) bli_sxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sssxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sdsxpbyjs( x, b, y ) bli_sxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsxpbyjs( x, b, y ) bli_sxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsxpbyjs( x, b, y ) bli_sxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsxpbyjs( x, b, y ) bli_sxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_scsxpbyjs( x, b, y ) bli_sxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsxpbyjs( x, b, y ) bli_sxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsxpbyjs( x, b, y ) bli_sxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsxpbyjs( x, b, y ) bli_sxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_szsxpbyjs( x, b, y ) bli_sxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsxpbyjs( x, b, y ) bli_sxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsxpbyjs( x, b, y ) bli_sxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsxpbyjs( x, b, y ) bli_sxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
// -- (xby) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdxpbyjs( x, b, y ) bli_dxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdxpbyjs( x, b, y ) bli_dxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdxpbyjs( x, b, y ) bli_dxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdxpbyjs( x, b, y ) bli_dxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ssdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sddxpbyjs( x, b, y ) bli_dxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddxpbyjs( x, b, y ) bli_dxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddxpbyjs( x, b, y ) bli_dxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddxpbyjs( x, b, y ) bli_dxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sddxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_scdxpbyjs( x, b, y ) bli_dxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdxpbyjs( x, b, y ) bli_dxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdxpbyjs( x, b, y ) bli_dxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdxpbyjs( x, b, y ) bli_dxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_szdxpbyjs( x, b, y ) bli_dxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdxpbyjs( x, b, y ) bli_dxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdxpbyjs( x, b, y ) bli_dxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdxpbyjs( x, b, y ) bli_dxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdxpbyjs( x, b, y ) bli_rxxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#ifndef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (xby) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscxpbyjs( x, b, y ) bli_sxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscxpbyjs( x, b, y ) bli_sxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscxpbyjs( x, b, y ) bli_scxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscxpbyjs( x, b, y ) bli_scxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sscxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscxpbyjs( x, b, y ) bli_crxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscxpbyjs( x, b, y ) bli_crxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sdcxpbyjs( x, b, y ) bli_sxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcxpbyjs( x, b, y ) bli_sxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcxpbyjs( x, b, y ) bli_scxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcxpbyjs( x, b, y ) bli_scxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdcxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcxpbyjs( x, b, y ) bli_crxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcxpbyjs( x, b, y ) bli_crxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sccxpbyjs( x, b, y ) bli_cxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccxpbyjs( x, b, y ) bli_cxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccxpbyjs( x, b, y ) bli_cxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccxpbyjs( x, b, y ) bli_cxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sccxpbyjs( x, b, y ) bli_cxxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccxpbyjs( x, b, y ) bli_cxxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccxpbyjs( x, b, y ) bli_cxxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccxpbyjs( x, b, y ) bli_cxxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_szcxpbyjs( x, b, y ) bli_cxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcxpbyjs( x, b, y ) bli_cxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcxpbyjs( x, b, y ) bli_cxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcxpbyjs( x, b, y ) bli_cxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szcxpbyjs( x, b, y ) bli_cxxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcxpbyjs( x, b, y ) bli_cxxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcxpbyjs( x, b, y ) bli_cxxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcxpbyjs( x, b, y ) bli_cxxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
// -- (xby) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszxpbyjs( x, b, y ) bli_dxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszxpbyjs( x, b, y ) bli_dxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszxpbyjs( x, b, y ) bli_dzxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszxpbyjs( x, b, y ) bli_dzxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sszxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszxpbyjs( x, b, y ) bli_crxpbyjris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszxpbyjs( x, b, y ) bli_crxpbyjris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sdzxpbyjs( x, b, y ) bli_dxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzxpbyjs( x, b, y ) bli_dxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzxpbyjs( x, b, y ) bli_dzxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzxpbyjs( x, b, y ) bli_dzxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzxpbyjs( x, b, y ) bli_rxxpbyjris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzxpbyjs( x, b, y ) bli_rxxpbyjris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzxpbyjs( x, b, y ) bli_crxpbyjris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzxpbyjs( x, b, y ) bli_crxpbyjris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sczxpbyjs( x, b, y ) bli_zxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczxpbyjs( x, b, y ) bli_zxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczxpbyjs( x, b, y ) bli_zxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczxpbyjs( x, b, y ) bli_zxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczxpbyjs( x, b, y ) bli_cxxpbyjris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczxpbyjs( x, b, y ) bli_cxxpbyjris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczxpbyjs( x, b, y ) bli_cxxpbyjris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczxpbyjs( x, b, y ) bli_cxxpbyjris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_szzxpbyjs( x, b, y ) bli_zxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzxpbyjs( x, b, y ) bli_zxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzxpbyjs( x, b, y ) bli_zxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzxpbyjs( x, b, y ) bli_zxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzxpbyjs( x, b, y ) bli_cxxpbyjris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzxpbyjs( x, b, y ) bli_cxxpbyjris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzxpbyjs( x, b, y ) bli_cxxpbyjris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzxpbyjs( x, b, y ) bli_cxxpbyjris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#else // ifdef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (xby) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dscxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cscxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zscxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_sscxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dscxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cscxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zscxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#define bli_sdcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_ddcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cdcxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zdcxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_sdcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_ddcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cdcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zdcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#define bli_sccxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dccxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cccxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zccxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_sccxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dccxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cccxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zccxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#define bli_szcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dzcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_czcxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zzcxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_szcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dzcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_czcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zzcxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
// -- (xby) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dszxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cszxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zszxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_sszxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dszxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cszxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zszxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#define bli_sdzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_ddzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cdzxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zdzxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_sdzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_ddzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cdzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zdzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#define bli_sczxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dczxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cczxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zczxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_sczxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dczxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_cczxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zczxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#define bli_szzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dzzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_czzxpbyjs( x, b, y ) { (y) = conjf(x) + (b) * (y); }
|
||||
#define bli_zzzxpbyjs( x, b, y ) { (y) = conj(x) + (b) * (y); }
|
||||
#define bli_szzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_dzzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_czzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
#define bli_zzzxpbyjs( x, b, y ) { (y) = (x) + (b) * (y); }
|
||||
|
||||
#endif // BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
|
||||
@@ -42,96 +42,95 @@
|
||||
// - The second char encodes the type of b.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
|
||||
// -- (xby) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssxpbys( x, b, y ) bli_sxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssxpbys( x, b, y ) bli_sxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssxpbys( x, b, y ) bli_sxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssxpbys( x, b, y ) bli_sxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sssxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dssxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cssxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zssxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_sdsxpbys( x, b, y ) bli_sxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsxpbys( x, b, y ) bli_sxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsxpbys( x, b, y ) bli_sxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsxpbys( x, b, y ) bli_sxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_sdsxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ddsxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_cdsxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zdsxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_scsxpbys( x, b, y ) bli_sxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsxpbys( x, b, y ) bli_sxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsxpbys( x, b, y ) bli_sxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsxpbys( x, b, y ) bli_sxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_scsxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dcsxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_ccsxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zcsxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
#define bli_szsxpbys( x, b, y ) bli_sxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsxpbys( x, b, y ) bli_sxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsxpbys( x, b, y ) bli_sxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsxpbys( x, b, y ) bli_sxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_szsxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_dzsxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_czsxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
#define bli_zzsxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_sreal(y), bli_simag(y) )
|
||||
|
||||
// -- (xby) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdxpbys( x, b, y ) bli_dxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdxpbys( x, b, y ) bli_dxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdxpbys( x, b, y ) bli_dxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdxpbys( x, b, y ) bli_dxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ssdxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dsdxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_csdxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zsdxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_sddxpbys( x, b, y ) bli_dxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddxpbys( x, b, y ) bli_dxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddxpbys( x, b, y ) bli_dxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddxpbys( x, b, y ) bli_dxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_sddxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dddxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_cddxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zddxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_scdxpbys( x, b, y ) bli_dxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdxpbys( x, b, y ) bli_dxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdxpbys( x, b, y ) bli_dxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdxpbys( x, b, y ) bli_dxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_scdxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dcdxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_ccdxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zcdxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#define bli_szdxpbys( x, b, y ) bli_dxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdxpbys( x, b, y ) bli_dxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdxpbys( x, b, y ) bli_dxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdxpbys( x, b, y ) bli_dxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_szdxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_dzdxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_czdxpbys( x, b, y ) bli_rxxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
#define bli_zzdxpbys( x, b, y ) bli_rxxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_dreal(y), bli_dimag(y) )
|
||||
|
||||
#ifndef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
// -- (xby) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscxpbys( x, b, y ) bli_sxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscxpbys( x, b, y ) bli_sxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscxpbys( x, b, y ) bli_scxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscxpbys( x, b, y ) bli_scxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sscxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dscxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cscxpbys( x, b, y ) bli_crxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zscxpbys( x, b, y ) bli_crxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sdcxpbys( x, b, y ) bli_sxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcxpbys( x, b, y ) bli_sxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcxpbys( x, b, y ) bli_scxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcxpbys( x, b, y ) bli_scxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sdcxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_ddcxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cdcxpbys( x, b, y ) bli_crxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zdcxpbys( x, b, y ) bli_crxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_sccxpbys( x, b, y ) bli_cxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccxpbys( x, b, y ) bli_cxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccxpbys( x, b, y ) bli_cxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccxpbys( x, b, y ) bli_cxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_sccxpbys( x, b, y ) bli_cxxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dccxpbys( x, b, y ) bli_cxxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_cccxpbys( x, b, y ) bli_cxxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zccxpbys( x, b, y ) bli_cxxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
#define bli_szcxpbys( x, b, y ) bli_cxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcxpbys( x, b, y ) bli_cxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcxpbys( x, b, y ) bli_cxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcxpbys( x, b, y ) bli_cxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_szcxpbys( x, b, y ) bli_cxxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_dzcxpbys( x, b, y ) bli_cxxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_czcxpbys( x, b, y ) bli_cxxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
#define bli_zzcxpbys( x, b, y ) bli_cxxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_creal(y), bli_cimag(y) )
|
||||
|
||||
// -- (xby) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszxpbys( x, b, y ) bli_dxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszxpbys( x, b, y ) bli_dxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszxpbys( x, b, y ) bli_dzxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszxpbys( x, b, y ) bli_dzxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sszxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dszxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cszxpbys( x, b, y ) bli_crxpbyris( bli_creal(x), bli_cimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zszxpbys( x, b, y ) bli_crxpbyris( bli_zreal(x), bli_zimag(x), bli_sreal(b), bli_simag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sdzxpbys( x, b, y ) bli_dxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzxpbys( x, b, y ) bli_dxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzxpbys( x, b, y ) bli_dzxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzxpbys( x, b, y ) bli_dzxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sdzxpbys( x, b, y ) bli_rxxpbyris( bli_sreal(x), bli_simag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_ddzxpbys( x, b, y ) bli_rxxpbyris( bli_dreal(x), bli_dimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cdzxpbys( x, b, y ) bli_crxpbyris( bli_creal(x), bli_cimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zdzxpbys( x, b, y ) bli_crxpbyris( bli_zreal(x), bli_zimag(x), bli_dreal(b), bli_dimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_sczxpbys( x, b, y ) bli_zxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczxpbys( x, b, y ) bli_zxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczxpbys( x, b, y ) bli_zxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczxpbys( x, b, y ) bli_zxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_sczxpbys( x, b, y ) bli_cxxpbyris( bli_sreal(x), bli_simag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dczxpbys( x, b, y ) bli_cxxpbyris( bli_dreal(x), bli_dimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_cczxpbys( x, b, y ) bli_cxxpbyris( bli_creal(x), bli_cimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zczxpbys( x, b, y ) bli_cxxpbyris( bli_zreal(x), bli_zimag(x), bli_creal(b), bli_cimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#define bli_szzxpbys( x, b, y ) bli_zxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzxpbys( x, b, y ) bli_zxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzxpbys( x, b, y ) bli_zxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzxpbys( x, b, y ) bli_zxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_szzxpbys( x, b, y ) bli_cxxpbyris( bli_sreal(x), bli_simag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_dzzxpbys( x, b, y ) bli_cxxpbyris( bli_dreal(x), bli_dimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_czzxpbys( x, b, y ) bli_cxxpbyris( bli_creal(x), bli_cimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
#define bli_zzzxpbys( x, b, y ) bli_cxxpbyris( bli_zreal(x), bli_zimag(x), bli_zreal(b), bli_zimag(b), bli_zreal(y), bli_zimag(y) )
|
||||
|
||||
#else // ifdef BLIS_ENABLE_C99_COMPLEX
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
|
||||
// xby = ?ss
|
||||
// -- (xby) = (?ss) ------------------------------------------------------------
|
||||
|
||||
static void bli_sssxpbys_mxn( const dim_t m, const dim_t n, float* restrict x, const inc_t rs_x, const inc_t cs_x,
|
||||
float* restrict beta,
|
||||
@@ -186,7 +186,7 @@ static void bli_zssxpbys_mxn( const dim_t m, const dim_t n, dcomplex* restrict x
|
||||
}
|
||||
}
|
||||
|
||||
// xby = ?dd
|
||||
// -- (xby) = (?dd) ------------------------------------------------------------
|
||||
|
||||
static void bli_sddxpbys_mxn( const dim_t m, const dim_t n, float* restrict x, const inc_t rs_x, const inc_t cs_x,
|
||||
double* restrict beta,
|
||||
@@ -329,7 +329,7 @@ static void bli_zddxpbys_mxn( const dim_t m, const dim_t n, dcomplex* restrict x
|
||||
}
|
||||
}
|
||||
|
||||
// xby = ?cc
|
||||
// -- (xby) = (?cc) ------------------------------------------------------------
|
||||
|
||||
static void bli_sccxpbys_mxn( const dim_t m, const dim_t n, float* restrict x, const inc_t rs_x, const inc_t cs_x,
|
||||
scomplex* restrict beta,
|
||||
@@ -472,7 +472,7 @@ static void bli_zccxpbys_mxn( const dim_t m, const dim_t n, dcomplex* restrict x
|
||||
}
|
||||
}
|
||||
|
||||
// xby = ?zz
|
||||
// -- (xby) = (?zz) ------------------------------------------------------------
|
||||
|
||||
static void bli_szzxpbys_mxn( const dim_t m, const dim_t n, float* restrict x, const inc_t rs_x, const inc_t cs_x,
|
||||
dcomplex* restrict beta,
|
||||
|
||||
@@ -37,127 +37,55 @@
|
||||
|
||||
// axpbyjris
|
||||
|
||||
#define bli_saxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_rxaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) + (br) * (yr); \
|
||||
(yr) = (ar) * (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_daxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_cxaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_caxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (ai) * (xi) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (ai) * (xr) - (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
const __typeof__(yr) yt_r = (ar) * (xr) + (ai) * (xi) + (br) * (yr) - (bi) * (yi); \
|
||||
const __typeof__(yi) yt_i = (ai) * (xr) - (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_sccaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = -(ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of b.
|
||||
// - The fourth char encodes the type of y.
|
||||
|
||||
#define bli_ccsaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (ai) * (xi) + (br) * (yr); \
|
||||
float yt_i = (ai) * (xr) - (ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
// -- (axby) = (??ss) ----------------------------------------------------------
|
||||
|
||||
#define bli_cscaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (ai) * (xr) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_ssssxpbyjris bli_rxxpbyjris
|
||||
#define bli_dsssxpbyjris bli_rxxpbyjris
|
||||
#define bli_csssxpbyjris bli_rxxpbyjris
|
||||
#define bli_zsssxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_sscaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_sdssxpbyjris bli_rxxpbyjris
|
||||
#define bli_ddssxpbyjris bli_rxxpbyjris
|
||||
#define bli_cdssxpbyjris bli_rxxpbyjris
|
||||
#define bli_zdssxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_cssaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
float yt_i = (ai) * (xr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_scssxpbyjris bli_rxxpbyjris
|
||||
#define bli_dcssxpbyjris bli_rxxpbyjris
|
||||
#define bli_ccssxpbyjris bli_rxxpbyjris
|
||||
#define bli_zcssxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_scsaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
float yt_i = -(ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_szssxpbyjris bli_rxxpbyjris
|
||||
#define bli_dzssxpbyjris bli_rxxpbyjris
|
||||
#define bli_czssxpbyjris bli_rxxpbyjris
|
||||
#define bli_zzssxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_zaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (ai) * (xi) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (ai) * (xr) - (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
// NOTE: This series needs to be finished for all other char values for (by), but
|
||||
// not until something in BLIS actually needs mixed-datatype axpbyjris.
|
||||
|
||||
#define bli_dzzaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = -(ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zzdaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (ai) * (xi) + (br) * (yr); \
|
||||
double yt_i = (ai) * (xr) - (ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zdzaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (ai) * (xr) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_ddzaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zddaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
double yt_i = (ai) * (xr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_dzdaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
double yt_i = -(ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_saxpbyjris bli_ssssaxpbyjris
|
||||
#define bli_daxpbyjris bli_ddddaxpbyjris
|
||||
#define bli_caxpbyjris bli_ccccaxpbyjris
|
||||
#define bli_zaxpbyjris bli_zzzzaxpbyjris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,127 +37,55 @@
|
||||
|
||||
// axpbyris
|
||||
|
||||
#define bli_saxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_rxaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) + (br) * (yr); \
|
||||
(yr) = (ar) * (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_daxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_cxaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_caxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) - (ai) * (xi) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (ai) * (xr) + (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
const __typeof__(yr) yt_r = (ar) * (xr) - (ai) * (xi) + (br) * (yr) - (bi) * (yi); \
|
||||
const __typeof__(yi) yt_i = (ai) * (xr) + (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_sccaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of b.
|
||||
// - The fourth char encodes the type of y.
|
||||
|
||||
#define bli_ccsaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) - (ai) * (xi) + (br) * (yr); \
|
||||
float yt_i = (ai) * (xr) + (ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
// -- (axby) = (??ss) ----------------------------------------------------------
|
||||
|
||||
#define bli_cscaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (ai) * (xr) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_ssssxpbyris bli_rxxpbyris
|
||||
#define bli_dsssxpbyris bli_rxxpbyris
|
||||
#define bli_csssxpbyris bli_rxxpbyris
|
||||
#define bli_zsssxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_sscaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_sdssxpbyris bli_rxxpbyris
|
||||
#define bli_ddssxpbyris bli_rxxpbyris
|
||||
#define bli_cdssxpbyris bli_rxxpbyris
|
||||
#define bli_zdssxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_cssaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
float yt_i = (ai) * (xr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_scssxpbyris bli_rxxpbyris
|
||||
#define bli_dcssxpbyris bli_rxxpbyris
|
||||
#define bli_ccssxpbyris bli_rxxpbyris
|
||||
#define bli_zcssxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_scsaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
float yt_i = (ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_szssxpbyris bli_rxxpbyris
|
||||
#define bli_dzssxpbyris bli_rxxpbyris
|
||||
#define bli_czssxpbyris bli_rxxpbyris
|
||||
#define bli_zzssxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_zaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) - (ai) * (xi) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (ai) * (xr) + (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
// NOTE: This series needs to be finished for all other char values for (by), but
|
||||
// not until something in BLIS actually needs mixed-datatype axpbyris.
|
||||
|
||||
#define bli_dzzaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (ar) * (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zzdaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) - (ai) * (xi) + (br) * (yr); \
|
||||
double yt_i = (ai) * (xr) + (ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zdzaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (ai) * (xr) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_ddzaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zddaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
double yt_i = (ai) * (xr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_dzdaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (ar) * (xr) + (br) * (yr); \
|
||||
double yt_i = (ar) * (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
#define bli_saxpbyris bli_ssssaxpbyris
|
||||
#define bli_daxpbyris bli_ddddaxpbyris
|
||||
#define bli_caxpbyris bli_ccccaxpbyris
|
||||
#define bli_zaxpbyris bli_zzzzaxpbyris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,39 +37,133 @@
|
||||
|
||||
// axpyjris
|
||||
|
||||
#define bli_saxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rxaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_daxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_caxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_cxaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr) + (ai) * (xi); \
|
||||
(yi) += (ai) * (xr) - (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_zaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_roaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr) + (ai) * (xi); \
|
||||
(yi) += (ai) * (xr) - (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_scaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_craxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
(yi) += (ar) * -(xi); \
|
||||
}
|
||||
|
||||
#define bli_dzaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rcaxpyjris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
(yi) += (ar) * -(xi); \
|
||||
(yr) += (ar) * (xr); \
|
||||
(yi) += (ai) * (xr); \
|
||||
}
|
||||
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssaxpyjris bli_rxaxpyjris
|
||||
#define bli_dssaxpyjris bli_rxaxpyjris
|
||||
#define bli_cssaxpyjris bli_rxaxpyjris
|
||||
#define bli_zssaxpyjris bli_rxaxpyjris
|
||||
|
||||
#define bli_sdsaxpyjris bli_rxaxpyjris
|
||||
#define bli_ddsaxpyjris bli_rxaxpyjris
|
||||
#define bli_cdsaxpyjris bli_rxaxpyjris
|
||||
#define bli_zdsaxpyjris bli_rxaxpyjris
|
||||
|
||||
#define bli_scsaxpyjris bli_rxaxpyjris
|
||||
#define bli_dcsaxpyjris bli_rxaxpyjris
|
||||
#define bli_ccsaxpyjris bli_roaxpyjris
|
||||
#define bli_zcsaxpyjris bli_roaxpyjris
|
||||
|
||||
#define bli_szsaxpyjris bli_rxaxpyjris
|
||||
#define bli_dzsaxpyjris bli_rxaxpyjris
|
||||
#define bli_czsaxpyjris bli_roaxpyjris
|
||||
#define bli_zzsaxpyjris bli_roaxpyjris
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdaxpyjris bli_rxaxpyjris
|
||||
#define bli_dsdaxpyjris bli_rxaxpyjris
|
||||
#define bli_csdaxpyjris bli_rxaxpyjris
|
||||
#define bli_zsdaxpyjris bli_rxaxpyjris
|
||||
|
||||
#define bli_sddaxpyjris bli_rxaxpyjris
|
||||
#define bli_dddaxpyjris bli_rxaxpyjris
|
||||
#define bli_cddaxpyjris bli_rxaxpyjris
|
||||
#define bli_zddaxpyjris bli_rxaxpyjris
|
||||
|
||||
#define bli_scdaxpyjris bli_rxaxpyjris
|
||||
#define bli_dcdaxpyjris bli_rxaxpyjris
|
||||
#define bli_ccdaxpyjris bli_roaxpyjris
|
||||
#define bli_zcdaxpyjris bli_roaxpyjris
|
||||
|
||||
#define bli_szdaxpyjris bli_rxaxpyjris
|
||||
#define bli_dzdaxpyjris bli_rxaxpyjris
|
||||
#define bli_czdaxpyjris bli_roaxpyjris
|
||||
#define bli_zzdaxpyjris bli_roaxpyjris
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscaxpyjris bli_rxaxpyjris
|
||||
#define bli_dscaxpyjris bli_rxaxpyjris
|
||||
#define bli_cscaxpyjris bli_rcaxpyjris
|
||||
#define bli_zscaxpyjris bli_rcaxpyjris
|
||||
|
||||
#define bli_sdcaxpyjris bli_rxaxpyjris
|
||||
#define bli_ddcaxpyjris bli_rxaxpyjris
|
||||
#define bli_cdcaxpyjris bli_rcaxpyjris
|
||||
#define bli_zdcaxpyjris bli_rcaxpyjris
|
||||
|
||||
#define bli_sccaxpyjris bli_craxpyjris
|
||||
#define bli_dccaxpyjris bli_craxpyjris
|
||||
#define bli_cccaxpyjris bli_cxaxpyjris
|
||||
#define bli_zccaxpyjris bli_cxaxpyjris
|
||||
|
||||
#define bli_szcaxpyjris bli_craxpyjris
|
||||
#define bli_dzcaxpyjris bli_craxpyjris
|
||||
#define bli_czcaxpyjris bli_cxaxpyjris
|
||||
#define bli_zzcaxpyjris bli_cxaxpyjris
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszaxpyjris bli_rxaxpyjris
|
||||
#define bli_dszaxpyjris bli_rxaxpyjris
|
||||
#define bli_cszaxpyjris bli_rcaxpyjris
|
||||
#define bli_zszaxpyjris bli_rcaxpyjris
|
||||
|
||||
#define bli_sdzaxpyjris bli_rxaxpyjris
|
||||
#define bli_ddzaxpyjris bli_rxaxpyjris
|
||||
#define bli_cdzaxpyjris bli_rcaxpyjris
|
||||
#define bli_zdzaxpyjris bli_rcaxpyjris
|
||||
|
||||
#define bli_sczaxpyjris bli_craxpyjris
|
||||
#define bli_dczaxpyjris bli_craxpyjris
|
||||
#define bli_cczaxpyjris bli_cxaxpyjris
|
||||
#define bli_zczaxpyjris bli_cxaxpyjris
|
||||
|
||||
#define bli_szzaxpyjris bli_craxpyjris
|
||||
#define bli_dzzaxpyjris bli_craxpyjris
|
||||
#define bli_czzaxpyjris bli_cxaxpyjris
|
||||
#define bli_zzzaxpyjris bli_cxaxpyjris
|
||||
|
||||
|
||||
|
||||
#define bli_saxpyjris bli_sssaxpyjris
|
||||
#define bli_daxpyjris bli_dddaxpyjris
|
||||
#define bli_caxpyjris bli_cccaxpyjris
|
||||
#define bli_zaxpyjris bli_zzzaxpyjris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,39 +37,133 @@
|
||||
|
||||
// axpyris
|
||||
|
||||
#define bli_saxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rxaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_daxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_caxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_cxaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr) - (ai) * (xi); \
|
||||
(yi) += (ai) * (xr) + (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_zaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_roaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr) - (ai) * (xi); \
|
||||
(yi) += (ai) * (xr) + (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_scaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_craxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
(yi) += (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_dzaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rcaxpyris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) += (ar) * (xr); \
|
||||
(yi) += (ar) * (xi); \
|
||||
(yi) += (ai) * (xr); \
|
||||
}
|
||||
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssaxpyris bli_rxaxpyris
|
||||
#define bli_dssaxpyris bli_rxaxpyris
|
||||
#define bli_cssaxpyris bli_rxaxpyris
|
||||
#define bli_zssaxpyris bli_rxaxpyris
|
||||
|
||||
#define bli_sdsaxpyris bli_rxaxpyris
|
||||
#define bli_ddsaxpyris bli_rxaxpyris
|
||||
#define bli_cdsaxpyris bli_rxaxpyris
|
||||
#define bli_zdsaxpyris bli_rxaxpyris
|
||||
|
||||
#define bli_scsaxpyris bli_rxaxpyris
|
||||
#define bli_dcsaxpyris bli_rxaxpyris
|
||||
#define bli_ccsaxpyris bli_roaxpyris
|
||||
#define bli_zcsaxpyris bli_roaxpyris
|
||||
|
||||
#define bli_szsaxpyris bli_rxaxpyris
|
||||
#define bli_dzsaxpyris bli_rxaxpyris
|
||||
#define bli_czsaxpyris bli_roaxpyris
|
||||
#define bli_zzsaxpyris bli_roaxpyris
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdaxpyris bli_rxaxpyris
|
||||
#define bli_dsdaxpyris bli_rxaxpyris
|
||||
#define bli_csdaxpyris bli_rxaxpyris
|
||||
#define bli_zsdaxpyris bli_rxaxpyris
|
||||
|
||||
#define bli_sddaxpyris bli_rxaxpyris
|
||||
#define bli_dddaxpyris bli_rxaxpyris
|
||||
#define bli_cddaxpyris bli_rxaxpyris
|
||||
#define bli_zddaxpyris bli_rxaxpyris
|
||||
|
||||
#define bli_scdaxpyris bli_rxaxpyris
|
||||
#define bli_dcdaxpyris bli_rxaxpyris
|
||||
#define bli_ccdaxpyris bli_roaxpyris
|
||||
#define bli_zcdaxpyris bli_roaxpyris
|
||||
|
||||
#define bli_szdaxpyris bli_rxaxpyris
|
||||
#define bli_dzdaxpyris bli_rxaxpyris
|
||||
#define bli_czdaxpyris bli_roaxpyris
|
||||
#define bli_zzdaxpyris bli_roaxpyris
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscaxpyris bli_rxaxpyris
|
||||
#define bli_dscaxpyris bli_rxaxpyris
|
||||
#define bli_cscaxpyris bli_rcaxpyris
|
||||
#define bli_zscaxpyris bli_rcaxpyris
|
||||
|
||||
#define bli_sdcaxpyris bli_rxaxpyris
|
||||
#define bli_ddcaxpyris bli_rxaxpyris
|
||||
#define bli_cdcaxpyris bli_rcaxpyris
|
||||
#define bli_zdcaxpyris bli_rcaxpyris
|
||||
|
||||
#define bli_sccaxpyris bli_craxpyris
|
||||
#define bli_dccaxpyris bli_craxpyris
|
||||
#define bli_cccaxpyris bli_cxaxpyris
|
||||
#define bli_zccaxpyris bli_cxaxpyris
|
||||
|
||||
#define bli_szcaxpyris bli_craxpyris
|
||||
#define bli_dzcaxpyris bli_craxpyris
|
||||
#define bli_czcaxpyris bli_cxaxpyris
|
||||
#define bli_zzcaxpyris bli_cxaxpyris
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszaxpyris bli_rxaxpyris
|
||||
#define bli_dszaxpyris bli_rxaxpyris
|
||||
#define bli_cszaxpyris bli_rcaxpyris
|
||||
#define bli_zszaxpyris bli_rcaxpyris
|
||||
|
||||
#define bli_sdzaxpyris bli_rxaxpyris
|
||||
#define bli_ddzaxpyris bli_rxaxpyris
|
||||
#define bli_cdzaxpyris bli_rcaxpyris
|
||||
#define bli_zdzaxpyris bli_rcaxpyris
|
||||
|
||||
#define bli_sczaxpyris bli_craxpyris
|
||||
#define bli_dczaxpyris bli_craxpyris
|
||||
#define bli_cczaxpyris bli_cxaxpyris
|
||||
#define bli_zczaxpyris bli_cxaxpyris
|
||||
|
||||
#define bli_szzaxpyris bli_craxpyris
|
||||
#define bli_dzzaxpyris bli_craxpyris
|
||||
#define bli_czzaxpyris bli_cxaxpyris
|
||||
#define bli_zzzaxpyris bli_cxaxpyris
|
||||
|
||||
|
||||
|
||||
#define bli_saxpyris bli_sssaxpyris
|
||||
#define bli_daxpyris bli_dddaxpyris
|
||||
#define bli_caxpyris bli_cccaxpyris
|
||||
#define bli_zaxpyris bli_zzzaxpyris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,39 +37,133 @@
|
||||
|
||||
// scal2jris
|
||||
|
||||
#define bli_sscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rxscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_dscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_cscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_cxscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) + (ai) * (xi); \
|
||||
(yi) = (ai) * (xr) - (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_zscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_roscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) + (ai) * (xi); \
|
||||
(yi) = (ai) * (xr) - (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_scscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_crscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
(yi) = (ar) * -(xi); \
|
||||
}
|
||||
|
||||
#define bli_dzscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rcscal2jris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
(yi) = (ar) * -(xi); \
|
||||
(yr) = (ar) * (xr); \
|
||||
(yi) = (ai) * (xr); \
|
||||
}
|
||||
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dssscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cssscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zssscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_sdsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_ddsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cdsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zdsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_scsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dcsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_ccsscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zcsscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_szsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dzsscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_czsscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zzsscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dsdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_csdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zsdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_sddscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dddscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cddscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zddscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_scdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dcdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_ccdscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zcdscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_szdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dzdscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_czdscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zzdscal2jris( ar, ai, xr, xi, yr, yi ) bli_roscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dscscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cscscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zscscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_sdcscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_ddcscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cdcscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zdcscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_sccscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dccscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cccscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zccscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_szcscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dzcscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_czcscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zzcscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dszscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cszscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zszscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_sdzscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_ddzscal2jris( ar, ai, xr, xi, yr, yi ) bli_rxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cdzscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zdzscal2jris( ar, ai, xr, xi, yr, yi ) bli_rcscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_sczscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dczscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cczscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zczscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#define bli_szzscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dzzscal2jris( ar, ai, xr, xi, yr, yi ) bli_crscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_czzscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zzzscal2jris( ar, ai, xr, xi, yr, yi ) bli_cxscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
|
||||
|
||||
#define bli_sscal2jris( ar, ai, xr, xi, yr, yi ) bli_sssscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_dscal2jris( ar, ai, xr, xi, yr, yi ) bli_dddscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_cscal2jris( ar, ai, xr, xi, yr, yi ) bli_cccscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
#define bli_zscal2jris( ar, ai, xr, xi, yr, yi ) bli_zzzscal2jris( ar, ai, xr, xi, yr, yi )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,39 +37,133 @@
|
||||
|
||||
// scal2ris
|
||||
|
||||
#define bli_sscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rxscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_dscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
}
|
||||
|
||||
#define bli_cscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_cxscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) - (ai) * (xi); \
|
||||
(yi) = (ai) * (xr) + (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_zscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_roscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr) - (ai) * (xi); \
|
||||
(yi) = (ai) * (xr) + (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_scscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_crscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
(yi) = (ar) * (xi); \
|
||||
}
|
||||
|
||||
#define bli_dzscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
#define bli_rcscal2ris( ar, ai, xr, xi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (ar) * (xr); \
|
||||
(yi) = (ar) * (xi); \
|
||||
(yi) = (ai) * (xr); \
|
||||
}
|
||||
|
||||
// Notes:
|
||||
// - The first char encodes the type of a.
|
||||
// - The second char encodes the type of x.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
// -- (axy) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssscal2ris bli_rxscal2ris
|
||||
#define bli_dssscal2ris bli_rxscal2ris
|
||||
#define bli_cssscal2ris bli_rxscal2ris
|
||||
#define bli_zssscal2ris bli_rxscal2ris
|
||||
|
||||
#define bli_sdsscal2ris bli_rxscal2ris
|
||||
#define bli_ddsscal2ris bli_rxscal2ris
|
||||
#define bli_cdsscal2ris bli_rxscal2ris
|
||||
#define bli_zdsscal2ris bli_rxscal2ris
|
||||
|
||||
#define bli_scsscal2ris bli_rxscal2ris
|
||||
#define bli_dcsscal2ris bli_rxscal2ris
|
||||
#define bli_ccsscal2ris bli_roscal2ris
|
||||
#define bli_zcsscal2ris bli_roscal2ris
|
||||
|
||||
#define bli_szsscal2ris bli_rxscal2ris
|
||||
#define bli_dzsscal2ris bli_rxscal2ris
|
||||
#define bli_czsscal2ris bli_roscal2ris
|
||||
#define bli_zzsscal2ris bli_roscal2ris
|
||||
|
||||
// -- (axy) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdscal2ris bli_rxscal2ris
|
||||
#define bli_dsdscal2ris bli_rxscal2ris
|
||||
#define bli_csdscal2ris bli_rxscal2ris
|
||||
#define bli_zsdscal2ris bli_rxscal2ris
|
||||
|
||||
#define bli_sddscal2ris bli_rxscal2ris
|
||||
#define bli_dddscal2ris bli_rxscal2ris
|
||||
#define bli_cddscal2ris bli_rxscal2ris
|
||||
#define bli_zddscal2ris bli_rxscal2ris
|
||||
|
||||
#define bli_scdscal2ris bli_rxscal2ris
|
||||
#define bli_dcdscal2ris bli_rxscal2ris
|
||||
#define bli_ccdscal2ris bli_roscal2ris
|
||||
#define bli_zcdscal2ris bli_roscal2ris
|
||||
|
||||
#define bli_szdscal2ris bli_rxscal2ris
|
||||
#define bli_dzdscal2ris bli_rxscal2ris
|
||||
#define bli_czdscal2ris bli_roscal2ris
|
||||
#define bli_zzdscal2ris bli_roscal2ris
|
||||
|
||||
// -- (axy) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscscal2ris bli_rxscal2ris
|
||||
#define bli_dscscal2ris bli_rxscal2ris
|
||||
#define bli_cscscal2ris bli_rcscal2ris
|
||||
#define bli_zscscal2ris bli_rcscal2ris
|
||||
|
||||
#define bli_sdcscal2ris bli_rxscal2ris
|
||||
#define bli_ddcscal2ris bli_rxscal2ris
|
||||
#define bli_cdcscal2ris bli_rcscal2ris
|
||||
#define bli_zdcscal2ris bli_rcscal2ris
|
||||
|
||||
#define bli_sccscal2ris bli_crscal2ris
|
||||
#define bli_dccscal2ris bli_crscal2ris
|
||||
#define bli_cccscal2ris bli_cxscal2ris
|
||||
#define bli_zccscal2ris bli_cxscal2ris
|
||||
|
||||
#define bli_szcscal2ris bli_crscal2ris
|
||||
#define bli_dzcscal2ris bli_crscal2ris
|
||||
#define bli_czcscal2ris bli_cxscal2ris
|
||||
#define bli_zzcscal2ris bli_cxscal2ris
|
||||
|
||||
// -- (axy) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszscal2ris bli_rxscal2ris
|
||||
#define bli_dszscal2ris bli_rxscal2ris
|
||||
#define bli_cszscal2ris bli_rcscal2ris
|
||||
#define bli_zszscal2ris bli_rcscal2ris
|
||||
|
||||
#define bli_sdzscal2ris bli_rxscal2ris
|
||||
#define bli_ddzscal2ris bli_rxscal2ris
|
||||
#define bli_cdzscal2ris bli_rcscal2ris
|
||||
#define bli_zdzscal2ris bli_rcscal2ris
|
||||
|
||||
#define bli_sczscal2ris bli_crscal2ris
|
||||
#define bli_dczscal2ris bli_crscal2ris
|
||||
#define bli_cczscal2ris bli_cxscal2ris
|
||||
#define bli_zczscal2ris bli_cxscal2ris
|
||||
|
||||
#define bli_szzscal2ris bli_crscal2ris
|
||||
#define bli_dzzscal2ris bli_crscal2ris
|
||||
#define bli_czzscal2ris bli_cxscal2ris
|
||||
#define bli_zzzscal2ris bli_cxscal2ris
|
||||
|
||||
|
||||
|
||||
#define bli_sscal2ris bli_sssscal2ris
|
||||
#define bli_dscal2ris bli_dddscal2ris
|
||||
#define bli_cscal2ris bli_cccscal2ris
|
||||
#define bli_zscal2ris bli_zzzscal2ris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,43 +37,126 @@
|
||||
|
||||
// xpbyjris
|
||||
|
||||
#define bli_sxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_rxxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_dxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_cxxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_cxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = -(xi) + (bi) * (yr) + (br) * (yi); \
|
||||
const __typeof__(yr) yt_r = (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
const __typeof__(yi) yt_i = -(xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_crxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = -(xi) + (bi) * (yr) + (br) * (yi); \
|
||||
const __typeof__(yr) yt_r = (xr) + (br) * (yr); \
|
||||
const __typeof__(yi) yt_i = -(xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_scxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
(yi) = -(xi) + (br) * (yi); \
|
||||
}
|
||||
// Notes:
|
||||
// - The first char encodes the type of x.
|
||||
// - The second char encodes the type of b.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
#define bli_dzxpbyjris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
(yi) = -(xi) + (br) * (yi); \
|
||||
}
|
||||
// -- (xby) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssxpbyjris bli_rxxpbyjris
|
||||
#define bli_dssxpbyjris bli_rxxpbyjris
|
||||
#define bli_cssxpbyjris bli_rxxpbyjris
|
||||
#define bli_zssxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_sdsxpbyjris bli_rxxpbyjris
|
||||
#define bli_ddsxpbyjris bli_rxxpbyjris
|
||||
#define bli_cdsxpbyjris bli_rxxpbyjris
|
||||
#define bli_zdsxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_scsxpbyjris bli_rxxpbyjris
|
||||
#define bli_dcsxpbyjris bli_rxxpbyjris
|
||||
#define bli_ccsxpbyjris bli_rxxpbyjris
|
||||
#define bli_zcsxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_szsxpbyjris bli_rxxpbyjris
|
||||
#define bli_dzsxpbyjris bli_rxxpbyjris
|
||||
#define bli_czsxpbyjris bli_rxxpbyjris
|
||||
#define bli_zzsxpbyjris bli_rxxpbyjris
|
||||
|
||||
// -- (xby) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdxpbyjris bli_rxxpbyjris
|
||||
#define bli_dsdxpbyjris bli_rxxpbyjris
|
||||
#define bli_csdxpbyjris bli_rxxpbyjris
|
||||
#define bli_zsdxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_sddxpbyjris bli_rxxpbyjris
|
||||
#define bli_dddxpbyjris bli_rxxpbyjris
|
||||
#define bli_cddxpbyjris bli_rxxpbyjris
|
||||
#define bli_zddxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_scdxpbyjris bli_rxxpbyjris
|
||||
#define bli_dcdxpbyjris bli_rxxpbyjris
|
||||
#define bli_ccdxpbyjris bli_rxxpbyjris
|
||||
#define bli_zcdxpbyjris bli_rxxpbyjris
|
||||
|
||||
#define bli_szdxpbyjris bli_rxxpbyjris
|
||||
#define bli_dzdxpbyjris bli_rxxpbyjris
|
||||
#define bli_czdxpbyjris bli_rxxpbyjris
|
||||
#define bli_zzdxpbyjris bli_rxxpbyjris
|
||||
|
||||
// -- (xby) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscxpbyjris bli_rxxpbyjris
|
||||
#define bli_dscxpbyjris bli_rxxpbyjris
|
||||
#define bli_cscxpbyjris bli_crxpbyjris
|
||||
#define bli_zscxpbyjris bli_crxpbyjris
|
||||
|
||||
#define bli_sdcxpbyjris bli_rxxpbyjris
|
||||
#define bli_ddcxpbyjris bli_rxxpbyjris
|
||||
#define bli_cdcxpbyjris bli_crxpbyjris
|
||||
#define bli_zdcxpbyjris bli_crxpbyjris
|
||||
|
||||
#define bli_sccxpbyjris bli_cxxpbyjris
|
||||
#define bli_dccxpbyjris bli_cxxpbyjris
|
||||
#define bli_cccxpbyjris bli_cxxpbyjris
|
||||
#define bli_zccxpbyjris bli_cxxpbyjris
|
||||
|
||||
#define bli_szcxpbyjris bli_cxxpbyjris
|
||||
#define bli_dzcxpbyjris bli_cxxpbyjris
|
||||
#define bli_czcxpbyjris bli_cxxpbyjris
|
||||
#define bli_zzcxpbyjris bli_cxxpbyjris
|
||||
|
||||
// -- (xby) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszxpbyjris bli_rxxpbyjris
|
||||
#define bli_dszxpbyjris bli_rxxpbyjris
|
||||
#define bli_cszxpbyjris bli_crxpbyjris
|
||||
#define bli_zszxpbyjris bli_crxpbyjris
|
||||
|
||||
#define bli_sdzxpbyjris bli_rxxpbyjris
|
||||
#define bli_ddzxpbyjris bli_rxxpbyjris
|
||||
#define bli_cdzxpbyjris bli_crxpbyjris
|
||||
#define bli_zdzxpbyjris bli_crxpbyjris
|
||||
|
||||
#define bli_sczxpbyjris bli_cxxpbyjris
|
||||
#define bli_dczxpbyjris bli_cxxpbyjris
|
||||
#define bli_cczxpbyjris bli_cxxpbyjris
|
||||
#define bli_zczxpbyjris bli_cxxpbyjris
|
||||
|
||||
#define bli_szzxpbyjris bli_cxxpbyjris
|
||||
#define bli_dzzxpbyjris bli_cxxpbyjris
|
||||
#define bli_czzxpbyjris bli_cxxpbyjris
|
||||
#define bli_zzzxpbyjris bli_cxxpbyjris
|
||||
|
||||
|
||||
|
||||
#define bli_sxpbyjris bli_sssxpbyjris
|
||||
#define bli_dxpbyjris bli_dddxpbyjris
|
||||
#define bli_cxpbyjris bli_cccxpbyjris
|
||||
#define bli_zxpbyjris bli_zzzxpbyjris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -37,43 +37,126 @@
|
||||
|
||||
// xpbyris
|
||||
|
||||
#define bli_sxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_rxxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_dxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_cxxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
}
|
||||
|
||||
#define bli_cxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
float yt_r = (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
float yt_i = (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
const __typeof__(yr) yt_r = (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
const __typeof__(yi) yt_i = (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_zxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
#define bli_crxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
double yt_r = (xr) + (br) * (yr) - (bi) * (yi); \
|
||||
double yt_i = (xi) + (bi) * (yr) + (br) * (yi); \
|
||||
const __typeof__(yr) yt_r = (xr) + (br) * (yr); \
|
||||
const __typeof__(yi) yt_i = (xi) + (br) * (yi); \
|
||||
(yr) = yt_r; \
|
||||
(yi) = yt_i; \
|
||||
}
|
||||
|
||||
#define bli_scxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
(yi) = (xi) + (br) * (yi); \
|
||||
}
|
||||
// Notes:
|
||||
// - The first char encodes the type of x.
|
||||
// - The second char encodes the type of b.
|
||||
// - The third char encodes the type of y.
|
||||
|
||||
#define bli_dzxpbyris( xr, xi, br, bi, yr, yi ) \
|
||||
{ \
|
||||
(yr) = (xr) + (br) * (yr); \
|
||||
(yi) = (xi) + (br) * (yi); \
|
||||
}
|
||||
// -- (xby) = (??s) ------------------------------------------------------------
|
||||
|
||||
#define bli_sssxpbyris bli_rxxpbyris
|
||||
#define bli_dssxpbyris bli_rxxpbyris
|
||||
#define bli_cssxpbyris bli_rxxpbyris
|
||||
#define bli_zssxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_sdsxpbyris bli_rxxpbyris
|
||||
#define bli_ddsxpbyris bli_rxxpbyris
|
||||
#define bli_cdsxpbyris bli_rxxpbyris
|
||||
#define bli_zdsxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_scsxpbyris bli_rxxpbyris
|
||||
#define bli_dcsxpbyris bli_rxxpbyris
|
||||
#define bli_ccsxpbyris bli_rxxpbyris
|
||||
#define bli_zcsxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_szsxpbyris bli_rxxpbyris
|
||||
#define bli_dzsxpbyris bli_rxxpbyris
|
||||
#define bli_czsxpbyris bli_rxxpbyris
|
||||
#define bli_zzsxpbyris bli_rxxpbyris
|
||||
|
||||
// -- (xby) = (??d) ------------------------------------------------------------
|
||||
|
||||
#define bli_ssdxpbyris bli_rxxpbyris
|
||||
#define bli_dsdxpbyris bli_rxxpbyris
|
||||
#define bli_csdxpbyris bli_rxxpbyris
|
||||
#define bli_zsdxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_sddxpbyris bli_rxxpbyris
|
||||
#define bli_dddxpbyris bli_rxxpbyris
|
||||
#define bli_cddxpbyris bli_rxxpbyris
|
||||
#define bli_zddxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_scdxpbyris bli_rxxpbyris
|
||||
#define bli_dcdxpbyris bli_rxxpbyris
|
||||
#define bli_ccdxpbyris bli_rxxpbyris
|
||||
#define bli_zcdxpbyris bli_rxxpbyris
|
||||
|
||||
#define bli_szdxpbyris bli_rxxpbyris
|
||||
#define bli_dzdxpbyris bli_rxxpbyris
|
||||
#define bli_czdxpbyris bli_rxxpbyris
|
||||
#define bli_zzdxpbyris bli_rxxpbyris
|
||||
|
||||
// -- (xby) = (??c) ------------------------------------------------------------
|
||||
|
||||
#define bli_sscxpbyris bli_rxxpbyris
|
||||
#define bli_dscxpbyris bli_rxxpbyris
|
||||
#define bli_cscxpbyris bli_crxpbyris
|
||||
#define bli_zscxpbyris bli_crxpbyris
|
||||
|
||||
#define bli_sdcxpbyris bli_rxxpbyris
|
||||
#define bli_ddcxpbyris bli_rxxpbyris
|
||||
#define bli_cdcxpbyris bli_crxpbyris
|
||||
#define bli_zdcxpbyris bli_crxpbyris
|
||||
|
||||
#define bli_sccxpbyris bli_cxxpbyris
|
||||
#define bli_dccxpbyris bli_cxxpbyris
|
||||
#define bli_cccxpbyris bli_cxxpbyris
|
||||
#define bli_zccxpbyris bli_cxxpbyris
|
||||
|
||||
#define bli_szcxpbyris bli_cxxpbyris
|
||||
#define bli_dzcxpbyris bli_cxxpbyris
|
||||
#define bli_czcxpbyris bli_cxxpbyris
|
||||
#define bli_zzcxpbyris bli_cxxpbyris
|
||||
|
||||
// -- (xby) = (??z) ------------------------------------------------------------
|
||||
|
||||
#define bli_sszxpbyris bli_rxxpbyris
|
||||
#define bli_dszxpbyris bli_rxxpbyris
|
||||
#define bli_cszxpbyris bli_crxpbyris
|
||||
#define bli_zszxpbyris bli_crxpbyris
|
||||
|
||||
#define bli_sdzxpbyris bli_rxxpbyris
|
||||
#define bli_ddzxpbyris bli_rxxpbyris
|
||||
#define bli_cdzxpbyris bli_crxpbyris
|
||||
#define bli_zdzxpbyris bli_crxpbyris
|
||||
|
||||
#define bli_sczxpbyris bli_cxxpbyris
|
||||
#define bli_dczxpbyris bli_cxxpbyris
|
||||
#define bli_cczxpbyris bli_cxxpbyris
|
||||
#define bli_zczxpbyris bli_cxxpbyris
|
||||
|
||||
#define bli_szzxpbyris bli_cxxpbyris
|
||||
#define bli_dzzxpbyris bli_cxxpbyris
|
||||
#define bli_czzxpbyris bli_cxxpbyris
|
||||
#define bli_zzzxpbyris bli_cxxpbyris
|
||||
|
||||
|
||||
|
||||
#define bli_sxpbyris bli_sssxpbyris
|
||||
#define bli_dxpbyris bli_dddxpbyris
|
||||
#define bli_cxpbyris bli_cccxpbyris
|
||||
#define bli_zxpbyris bli_zzzxpbyris
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -44,9 +44,6 @@
|
||||
// level-3 typed APIs
|
||||
#include "bli_l3_ind_tapi.h"
|
||||
|
||||
// level-3 misc. optimizations
|
||||
#include "bli_l3_ind_opt.h"
|
||||
|
||||
// level-3 cntx initialization
|
||||
#include "bli_cntx_ind_stage.h"
|
||||
|
||||
|
||||
@@ -546,8 +546,8 @@ void GENBAINAME(cntx_init)
|
||||
}
|
||||
|
||||
// For 1m, we employ an optimization which requires that we copy the native
|
||||
// real domain gemm ukernel function pointers to the corresponding slots in
|
||||
// the virtual gemm ukernel func_t.
|
||||
// real domain gemm ukernel function pointers to the corresponding real
|
||||
// domain slots in the virtual gemm ukernel func_t.
|
||||
if ( method == BLIS_1M )
|
||||
{
|
||||
func_t* gemm_nat_ukrs = bli_cntx_get_l3_nat_ukrs( BLIS_GEMM_UKR, cntx );
|
||||
|
||||
@@ -54,7 +54,7 @@ void PASTEMAC3(ch,opname,arch,suf) \
|
||||
\
|
||||
PASTECH(chr,gemm_ukr_ft) \
|
||||
rgemm_ukr = bli_cntx_get_l3_nat_ukr_dt( dt_r, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t col_pref = bli_cntx_l3_nat_ukr_prefers_cols_dt( dt, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t col_pref = bli_cntx_l3_nat_ukr_prefers_cols_dt( dt_r, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t row_pref = !col_pref; \
|
||||
\
|
||||
const dim_t mr = bli_cntx_get_blksz_def_dt( dt, BLIS_MR, cntx ); \
|
||||
@@ -86,6 +86,14 @@ void PASTEMAC3(ch,opname,arch,suf) \
|
||||
\
|
||||
bool_t using_ct; \
|
||||
\
|
||||
/*
|
||||
PASTEMAC(chr,fprintm)( stdout, "gemm_ukr: a", mr, 2*k, \
|
||||
a_r, 1, mr, "%5.2f", "" ); \
|
||||
PASTEMAC(chr,fprintm)( stdout, "gemm_ukr: b", 2*k, 2*nr, \
|
||||
b_r, 2*nr, 1, "%5.2f", "" ); \
|
||||
PASTEMAC(chr,fprintm)( stdout, "gemm_ukr: c after", mr, 2*nr, \
|
||||
c_use, rs_c_use, cs_c_use, "%5.2f", "" ); \
|
||||
*/ \
|
||||
\
|
||||
/* SAFETY CHECK: The higher level implementation should never
|
||||
allow an alpha with non-zero imaginary component to be passed
|
||||
@@ -154,12 +162,33 @@ void PASTEMAC3(ch,opname,arch,suf) \
|
||||
dim_t i, j; \
|
||||
\
|
||||
/* Accumulate the final result in ct back to c. */ \
|
||||
for ( j = 0; j < nr; ++j ) \
|
||||
for ( i = 0; i < mr; ++i ) \
|
||||
if ( PASTEMAC(ch,eq1)( *beta ) ) \
|
||||
{ \
|
||||
PASTEMAC(ch,xpbys)( *(ct + i*rs_ct + j*cs_ct), \
|
||||
*beta, \
|
||||
*(c + i*rs_c + j*cs_c ) ); \
|
||||
for ( j = 0; j < nr; ++j ) \
|
||||
for ( i = 0; i < mr; ++i ) \
|
||||
{ \
|
||||
PASTEMAC(ch,adds)( *(ct + i*rs_ct + j*cs_ct), \
|
||||
*(c + i*rs_c + j*cs_c ) ); \
|
||||
} \
|
||||
} \
|
||||
else if ( PASTEMAC(ch,eq0)( *beta ) ) \
|
||||
{ \
|
||||
for ( j = 0; j < nr; ++j ) \
|
||||
for ( i = 0; i < mr; ++i ) \
|
||||
{ \
|
||||
PASTEMAC(ch,copys)( *(ct + i*rs_ct + j*cs_ct), \
|
||||
*(c + i*rs_c + j*cs_c ) ); \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
for ( j = 0; j < nr; ++j ) \
|
||||
for ( i = 0; i < mr; ++i ) \
|
||||
{ \
|
||||
PASTEMAC(ch,xpbys)( *(ct + i*rs_ct + j*cs_ct), \
|
||||
*beta, \
|
||||
*(c + i*rs_c + j*cs_c ) ); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
|
||||
@@ -59,7 +59,7 @@ void PASTEMAC3(ch,opname,arch,suf) \
|
||||
PASTECH(ch,trsm_ukr_ft) \
|
||||
ctrsm_vir_ukr = bli_cntx_get_l3_vir_ukr_dt( dt, trsmkerid, cntx ); \
|
||||
\
|
||||
const bool_t col_pref = bli_cntx_l3_nat_ukr_prefers_cols_dt( dt, BLIS_GEMM_UKR, cntx ); \
|
||||
const bool_t col_pref = bli_cntx_l3_nat_ukr_prefers_cols_dt( dt_r, BLIS_GEMM_UKR, cntx ); \
|
||||
\
|
||||
const dim_t mr = bli_cntx_get_blksz_def_dt( dt, BLIS_MR, cntx ); \
|
||||
const dim_t nr = bli_cntx_get_blksz_def_dt( dt, BLIS_NR, cntx ); \
|
||||
@@ -185,12 +185,15 @@ void PASTEMAC3(ch,opname,arch,suf) \
|
||||
ctype_r* restrict beta11_i = &PASTEMAC(ch,imag)( *beta11_ri ); \
|
||||
ctype* restrict beta11_ir = b11_ir + i*rs_b + j*cs_b; \
|
||||
\
|
||||
PASTEMAC2(chr,ch,xpbyris)( *beta11t_r, \
|
||||
*beta11t_i, \
|
||||
alpha_r, \
|
||||
alpha_i, /* alpha_i not referenced */ \
|
||||
*beta11_r, \
|
||||
*beta11_i ); \
|
||||
PASTEMAC3(ch,chr,ch,xpbyris) \
|
||||
( \
|
||||
*beta11t_r, \
|
||||
*beta11t_i, \
|
||||
alpha_r, \
|
||||
alpha_i, /* alpha_i not referenced */ \
|
||||
*beta11_r, \
|
||||
*beta11_i \
|
||||
); \
|
||||
\
|
||||
PASTEMAC(ch,sets)( -*beta11_i, \
|
||||
*beta11_r, *beta11_ir ); \
|
||||
@@ -217,12 +220,15 @@ void PASTEMAC3(ch,opname,arch,suf) \
|
||||
ctype_r* restrict beta11_r = b11_r + i*rs_b2 + j*cs_b2; \
|
||||
ctype_r* restrict beta11_i = b11_i + i*rs_b2 + j*cs_b2; \
|
||||
\
|
||||
PASTEMAC2(chr,ch,xpbyris)( *beta11t_r, \
|
||||
*beta11t_i, \
|
||||
alpha_r, \
|
||||
alpha_i, /* alpha_i not referenced */ \
|
||||
*beta11_r, \
|
||||
*beta11_i ); \
|
||||
PASTEMAC3(ch,chr,ch,xpbyris) \
|
||||
( \
|
||||
*beta11t_r, \
|
||||
*beta11t_i, \
|
||||
alpha_r, \
|
||||
alpha_i, /* alpha_i not referenced */ \
|
||||
*beta11_r, \
|
||||
*beta11_i \
|
||||
); \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
|
||||
@@ -379,6 +379,8 @@ void libblis_test_gemm_md
|
||||
{
|
||||
bli_setsc( 2.0, 0.0, &alpha );
|
||||
bli_setsc( 1.2, 0.5, &beta );
|
||||
//bli_setsc( 1.0, 0.0, &alpha );
|
||||
//bli_setsc( 1.0, 0.0, &beta );
|
||||
}
|
||||
|
||||
// Randomize A, B, and C, and save C.
|
||||
@@ -398,7 +400,17 @@ void libblis_test_gemm_md
|
||||
|
||||
time = bli_clock();
|
||||
|
||||
#if 0
|
||||
bli_printm( "a", &a, "%5.2f", "" );
|
||||
bli_printm( "b", &b, "%5.2f", "" );
|
||||
bli_printm( "c", &c, "%5.2f", "" );
|
||||
bli_printm( "alpha", &alpha, "%5.2f", "" );
|
||||
bli_printm( "beta", &beta, "%5.2f", "" );
|
||||
#endif
|
||||
libblis_test_gemm_impl( iface, &alpha, &a, &b, &beta, &c );
|
||||
#if 0
|
||||
bli_printm( "c after", &c, "%5.2f", "" );
|
||||
#endif
|
||||
|
||||
time_min = bli_clock_min_diff( time_min, time );
|
||||
}
|
||||
@@ -436,7 +448,17 @@ void libblis_test_gemm_impl
|
||||
switch ( iface )
|
||||
{
|
||||
case BLIS_TEST_SEQ_FRONT_END:
|
||||
#if 0
|
||||
bli_printm( "a", a, "%5.2f", "" );
|
||||
bli_printm( "b", b, "%5.2f", "" );
|
||||
bli_printm( "c", c, "%5.2f", "" );
|
||||
bli_printm( "alpha", alpha, "%5.2f", "" );
|
||||
bli_printm( "beta", beta, "%5.2f", "" );
|
||||
#endif
|
||||
bli_gemm( alpha, a, b, beta, c );
|
||||
#if 0
|
||||
bli_printm( "c after", c, "%5.2f", "" );
|
||||
#endif
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -1225,18 +1225,16 @@ void libblis_test_output_params_struct( FILE* os, test_params_t* params )
|
||||
#endif
|
||||
|
||||
// If mixed domain or mixed precision was requested, we disable all
|
||||
// induced methods.
|
||||
// induced methods except 1m and native execution.
|
||||
if ( params->mixed_domain || params->mixed_precision )
|
||||
{
|
||||
ind_t im;
|
||||
|
||||
for ( im = BLIS_IND_FIRST; im < BLIS_IND_LAST+1; ++im )
|
||||
{
|
||||
params->ind_enable[ im ] = 0;
|
||||
if ( im != BLIS_1M && im != BLIS_NAT )
|
||||
params->ind_enable[ im ] = 0;
|
||||
}
|
||||
|
||||
// Reenable native execution.
|
||||
params->ind_enable[ BLIS_NAT ] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1546,6 +1544,7 @@ void libblis_test_op_driver
|
||||
unsigned int reaction_to_failure = params->reaction_to_failure;
|
||||
|
||||
num_t datatype;
|
||||
num_t dt_check;
|
||||
char dt_char;
|
||||
|
||||
char* p_spec_str;
|
||||
@@ -1796,7 +1795,7 @@ void libblis_test_op_driver
|
||||
// Set the last set of chars in chars_for_cddt to the real domain
|
||||
// charset. This is because the last char will be the computation
|
||||
// precision.
|
||||
//chars_for_cddt[i-1] = libblis_test_rd_chars;
|
||||
chars_for_cddt[i-1] = libblis_test_rd_chars;
|
||||
|
||||
// Compute the total number of datatype combinations to test (which is
|
||||
// simply the product of the string lengths of chars_for_spdt/dpdt[i]).
|
||||
@@ -1933,10 +1932,11 @@ void libblis_test_op_driver
|
||||
|
||||
// Manually set the computation char to the real projection of the
|
||||
// first char of each combination.
|
||||
int prec_i = n_operands;
|
||||
for ( i = 0; i < n_dt_combos; ++i )
|
||||
{
|
||||
dc_str[i][3] = libblis_test_proj_dtchar_to_precchar( dc_str[i][0] );
|
||||
dc_str[i][4] = '\0';
|
||||
dc_str[i][prec_i] = libblis_test_proj_dtchar_to_precchar( dc_str[i][0] );
|
||||
dc_str[i][prec_i+1] = '\0';
|
||||
}
|
||||
|
||||
#if 0
|
||||
@@ -2087,6 +2087,7 @@ void libblis_test_op_driver
|
||||
// Loop over the requested datatypes.
|
||||
for ( dci = 0; dci < n_dt_combos; ++dci )
|
||||
//for ( dci = 14; dci < 15; ++dci )
|
||||
//for ( dci = 6; dci < 7; dci += 1 )
|
||||
//for ( dci = 12; dci < 13; ++dci )
|
||||
//for ( dci = 4; dci < 5; ++dci )
|
||||
//for ( dci = 8; dci < 9; ++dci )
|
||||
@@ -2097,14 +2098,27 @@ void libblis_test_op_driver
|
||||
// We must choose the first operand's dt char since that's the
|
||||
// only operand we know is guaranteed to exist.
|
||||
bli_param_map_char_to_blis_dt( dc_str[dci][0], &datatype );
|
||||
dt_check = datatype;
|
||||
|
||||
// If any of the operands are single precision, ensure that
|
||||
// datatype is also single precision.
|
||||
int has_sp = libblis_test_dt_str_has_sp_char_str( n_operandsp1,
|
||||
dc_str[dci] );
|
||||
//int has_dp = libblis_test_dt_str_has_dp_char_str( n_operandsp1,
|
||||
// dc_str[dci] );
|
||||
|
||||
// Notice that we use n_operands here instead of
|
||||
// n_operandsp1 since we only want to chars for the
|
||||
// storage datatypes of the matrix operands, not the
|
||||
// computation precision char.
|
||||
int has_cd_only =
|
||||
!libblis_test_dt_str_has_rd_char_str( n_operands,
|
||||
dc_str[dci] );
|
||||
|
||||
if ( has_sp )
|
||||
{
|
||||
datatype = bli_dt_proj_to_single_prec( datatype );
|
||||
// If any of the operands are single precision, ensure that
|
||||
// dt_check is also single precision so that the residual is
|
||||
// compared to datatype-appropriate thresholds.
|
||||
dt_check = bli_dt_proj_to_single_prec( datatype );
|
||||
}
|
||||
|
||||
// Build a commented column label string.
|
||||
@@ -2126,10 +2140,10 @@ void libblis_test_op_driver
|
||||
ind_t ind_first = BLIS_NAT;
|
||||
dim_t ind_last = BLIS_NAT;
|
||||
|
||||
// If the operation is level-3, and the datatype is complex,
|
||||
// If the operation is level-3, and all operand domains are complex,
|
||||
// then we iterate over all induced methods.
|
||||
if ( bli_opid_is_level3( op->opid ) &&
|
||||
bli_is_complex( datatype ) ) ind_first = 0;
|
||||
if ( bli_opid_is_level3( op->opid ) && has_cd_only )
|
||||
ind_first = 0;
|
||||
|
||||
// Loop over induced methods (or just BLIS_NAT).
|
||||
for ( indi = ind_first; indi <= ind_last; ++indi )
|
||||
@@ -2141,7 +2155,20 @@ void libblis_test_op_driver
|
||||
// current method and go to the next method.
|
||||
if ( bli_is_real( datatype ) ) { ; }
|
||||
else if ( bli_ind_oper_is_impl( op->opid, indi ) &&
|
||||
params->ind_enable[ indi ] == 1 ) { ; }
|
||||
params->ind_enable[ indi ] == 1 )
|
||||
{
|
||||
// If the current induced method is 1m, make sure that
|
||||
// we only proceed for gemm where all operands are stored
|
||||
// in the complex domain. (This prevents 1m from being
|
||||
// executed on mixed-datatype combinations that contain
|
||||
// real domain datatypes.)
|
||||
if ( indi == BLIS_1M )
|
||||
{
|
||||
if ( op->opid == BLIS_GEMM && has_cd_only ) { ; }
|
||||
else { continue; }
|
||||
}
|
||||
else { ; }
|
||||
}
|
||||
else { continue; }
|
||||
|
||||
bli_ind_oper_enable_only( op->opid, indi, datatype );
|
||||
@@ -2183,17 +2210,14 @@ void libblis_test_op_driver
|
||||
|
||||
// Query the string corresponding to the residual's
|
||||
// position relative to the thresholds.
|
||||
// NOTE: Passing in datatype (ie: the value associated
|
||||
// with dc_str[dci][0]) will work, but just barely, since
|
||||
// the numerical thresholds within precisions should be
|
||||
// the same.
|
||||
pass_str = libblis_test_get_string_for_result( resid,
|
||||
datatype,
|
||||
dt_check,
|
||||
thresh );
|
||||
|
||||
// Build a string unique to the operation, datatype combo,
|
||||
// parameter combo, and storage combo being tested.
|
||||
libblis_test_build_function_string( BLIS_FILEDATA_PREFIX_STR,
|
||||
op->opid,
|
||||
indi,
|
||||
ind_str,
|
||||
op_str,
|
||||
@@ -2334,6 +2358,7 @@ void libblis_test_op_driver
|
||||
void libblis_test_build_function_string
|
||||
(
|
||||
char* prefix_str,
|
||||
opid_t opid,
|
||||
ind_t method,
|
||||
char* ind_str,
|
||||
char* op_str,
|
||||
@@ -2346,9 +2371,9 @@ void libblis_test_build_function_string
|
||||
)
|
||||
{
|
||||
// We only print the full datatype combination string if is_mixed_dt
|
||||
// is set and native execution is begin used. Otherwise, we print only
|
||||
// is set and the operation is gemm. Otherwise, we print only
|
||||
// the first char (since they are all the same).
|
||||
if ( is_mixed_dt == TRUE && method == BLIS_NAT )
|
||||
if ( is_mixed_dt == TRUE && opid == BLIS_GEMM )
|
||||
sprintf( funcname_str, "%s_%s%s", prefix_str, dc_str, op_str );
|
||||
else
|
||||
sprintf( funcname_str, "%s_%c%s", prefix_str, dc_str[0], op_str );
|
||||
@@ -3188,8 +3213,6 @@ int libblis_test_dt_str_has_sp_char_str( int n, char* str )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// ---
|
||||
|
||||
int libblis_test_dt_str_has_dp_char( test_params_t* params )
|
||||
{
|
||||
return libblis_test_dt_str_has_dp_char_str( params->n_datatypes,
|
||||
@@ -3211,12 +3234,16 @@ int libblis_test_dt_str_has_dp_char_str( int n, char* str )
|
||||
|
||||
int libblis_test_dt_str_has_rd_char( test_params_t* params )
|
||||
{
|
||||
int i;
|
||||
return libblis_test_dt_str_has_rd_char_str( params->n_datatypes,
|
||||
params->datatype_char );
|
||||
}
|
||||
|
||||
for ( i = 0; i < params->n_datatypes; ++i )
|
||||
int libblis_test_dt_str_has_rd_char_str( int n, char* str )
|
||||
{
|
||||
for ( int i = 0; i < n; ++i )
|
||||
{
|
||||
if ( params->datatype_char[i] == 's' ||
|
||||
params->datatype_char[i] == 'd' ) return TRUE;
|
||||
if ( str[i] == 's' ||
|
||||
str[i] == 'd' ) return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@@ -3224,17 +3251,23 @@ int libblis_test_dt_str_has_rd_char( test_params_t* params )
|
||||
|
||||
int libblis_test_dt_str_has_cd_char( test_params_t* params )
|
||||
{
|
||||
int i;
|
||||
return libblis_test_dt_str_has_cd_char_str( params->n_datatypes,
|
||||
params->datatype_char );
|
||||
}
|
||||
|
||||
for ( i = 0; i < params->n_datatypes; ++i )
|
||||
int libblis_test_dt_str_has_cd_char_str( int n, char* str )
|
||||
{
|
||||
for ( int i = 0; i < n; ++i )
|
||||
{
|
||||
if ( params->datatype_char[i] == 'c' ||
|
||||
params->datatype_char[i] == 'z' ) return TRUE;
|
||||
if ( str[i] == 'c' ||
|
||||
str[i] == 'z' ) return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// ---
|
||||
|
||||
unsigned int libblis_test_count_combos
|
||||
(
|
||||
unsigned int n_operands,
|
||||
@@ -3243,9 +3276,8 @@ unsigned int libblis_test_count_combos
|
||||
)
|
||||
{
|
||||
unsigned int n_combos = 1;
|
||||
int i;
|
||||
|
||||
for ( i = 0; i < n_operands; ++i )
|
||||
for ( int i = 0; i < n_operands; ++i )
|
||||
{
|
||||
if ( spec_str[i] == '?' )
|
||||
n_combos *= strlen( char_sets[i] );
|
||||
|
||||
@@ -390,6 +390,7 @@ void libblis_test_op_driver
|
||||
void libblis_test_build_function_string
|
||||
(
|
||||
char* prefix_str,
|
||||
opid_t opid,
|
||||
ind_t method,
|
||||
char* ind_str,
|
||||
char* op_str,
|
||||
@@ -472,7 +473,9 @@ int libblis_test_dt_str_has_sp_char_str( int n, char* str );
|
||||
int libblis_test_dt_str_has_dp_char( test_params_t* params );
|
||||
int libblis_test_dt_str_has_dp_char_str( int n, char* str );
|
||||
int libblis_test_dt_str_has_rd_char( test_params_t* params );
|
||||
int libblis_test_dt_str_has_rd_char_str( int n, char* str );
|
||||
int libblis_test_dt_str_has_cd_char( test_params_t* params );
|
||||
int libblis_test_dt_str_has_cd_char_str( int n, char* str );
|
||||
|
||||
unsigned int libblis_test_count_combos
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user