mirror of
https://github.com/amd/blis.git
synced 2026-05-11 09:39:59 +00:00
Merge branch 'dev'
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.
|
||||
|
||||
@@ -210,8 +210,8 @@ siz_t bli_packm_init_pack
|
||||
{
|
||||
bli_init_once();
|
||||
|
||||
num_t dt = bli_obj_dt( a );
|
||||
num_t dt_tar = bli_obj_target_dt( a );
|
||||
num_t dt_scalar = bli_obj_scalar_dt( a );
|
||||
trans_t transa = bli_obj_onlytrans_status( a );
|
||||
dim_t m_a = bli_obj_length( a );
|
||||
dim_t n_a = bli_obj_width( a );
|
||||
@@ -232,14 +232,14 @@ siz_t bli_packm_init_pack
|
||||
bli_obj_alias_to( a, p );
|
||||
|
||||
// Typecast the internal scalar value to the target datatype.
|
||||
// NOTE: This must happen BEFORE we change the datatype of P to reflect
|
||||
// the target_dt.
|
||||
if ( dt != dt_tar )
|
||||
// Note that if the typecasting is needed, this must happen BEFORE we
|
||||
// change the datatype of P to reflect the target_dt.
|
||||
if ( dt_scalar != dt_tar )
|
||||
{
|
||||
bli_obj_scalar_cast_to( dt_tar, p );
|
||||
}
|
||||
|
||||
// Update the datatype of P to be the target datatype of A.
|
||||
// Update the storage datatype of P to be the target datatype of A.
|
||||
bli_obj_set_dt( dt_tar, p );
|
||||
|
||||
// Update the dimension fields to explicitly reflect a transposition,
|
||||
|
||||
@@ -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,41 @@ 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.
|
||||
|
||||
// Attach alpha to B, and in the process typecast alpha to the target
|
||||
// datatype of the matrix (which in this case is equal to the computation
|
||||
// datatype).
|
||||
bli_obj_scalar_attach( BLIS_NO_CONJUGATE, alpha, &b_local );
|
||||
|
||||
// Attach beta to C, and in the process typecast beta to the target
|
||||
// datatype of the matrix (which in this case is equal to the storage
|
||||
// datatype of C).
|
||||
bli_obj_scalar_attach( BLIS_NO_CONJUGATE, beta, &c_local );
|
||||
|
||||
// Change the alpha and beta pointers to BLIS_ONE since the values have
|
||||
// now been typecast and attached to the matrices above.
|
||||
alpha = &BLIS_ONE;
|
||||
beta = &BLIS_ONE;
|
||||
|
||||
#ifdef BLIS_ENABLE_GEMM_MD
|
||||
// Don't perform the following optimization for ccr or crc cases, as
|
||||
@@ -265,8 +278,12 @@ void bli_gemm_front
|
||||
// we copy/accumulate the result back to C and then release the object.
|
||||
if ( use_ct )
|
||||
{
|
||||
obj_t beta_local;
|
||||
|
||||
bli_obj_scalar_detach( &c_local, &beta_local );
|
||||
|
||||
//bli_castnzm( &ct, &c_local );
|
||||
bli_xpbym( &ct, beta, &c_local );
|
||||
bli_xpbym( &ct, &beta_local, &c_local );
|
||||
|
||||
bli_obj_free( &ct );
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -114,6 +114,7 @@ void bli_obj_create_without_buffer
|
||||
bli_obj_set_diag_offset( 0, obj );
|
||||
|
||||
// Set the internal scalar to 1.0.
|
||||
bli_obj_set_scalar_dt( dt, obj );
|
||||
s = bli_obj_internal_scalar_buffer( obj );
|
||||
|
||||
// Always writing the imaginary component is needed in mixed-domain
|
||||
@@ -585,45 +586,47 @@ void bli_obj_print
|
||||
fprintf( file, "%s\n", label );
|
||||
fprintf( file, "\n" );
|
||||
|
||||
fprintf( file, " m x n %lu x %lu\n", ( unsigned long int )bli_obj_length( obj ),
|
||||
( unsigned long int )bli_obj_width( obj ) );
|
||||
fprintf( file, " m x n %lu x %lu\n", ( unsigned long )bli_obj_length( obj ),
|
||||
( unsigned long )bli_obj_width( obj ) );
|
||||
fprintf( file, "\n" );
|
||||
|
||||
fprintf( file, " offm, offn %lu, %lu\n", ( unsigned long int )bli_obj_row_off( obj ),
|
||||
( unsigned long int )bli_obj_col_off( obj ) );
|
||||
fprintf( file, " offm, offn %lu, %lu\n", ( unsigned long )bli_obj_row_off( obj ),
|
||||
( unsigned long )bli_obj_col_off( obj ) );
|
||||
fprintf( file, " diagoff %ld\n", ( signed long int )bli_obj_diag_offset( obj ) );
|
||||
fprintf( file, "\n" );
|
||||
|
||||
fprintf( file, " buf %p\n", ( void* )bli_obj_buffer( obj ) );
|
||||
fprintf( file, " elem size %lu\n", ( unsigned long int )bli_obj_elem_size( obj ) );
|
||||
fprintf( file, " elem size %lu\n", ( unsigned long )bli_obj_elem_size( obj ) );
|
||||
fprintf( file, " rs, cs %ld, %ld\n", ( signed long int )bli_obj_row_stride( obj ),
|
||||
( signed long int )bli_obj_col_stride( obj ) );
|
||||
fprintf( file, " is %ld\n", ( signed long int )bli_obj_imag_stride( obj ) );
|
||||
fprintf( file, " m_padded %lu\n", ( unsigned long int )bli_obj_padded_length( obj ) );
|
||||
fprintf( file, " n_padded %lu\n", ( unsigned long int )bli_obj_padded_width( obj ) );
|
||||
fprintf( file, " pd %lu\n", ( unsigned long int )bli_obj_panel_dim( obj ) );
|
||||
fprintf( file, " ps %lu\n", ( unsigned long int )bli_obj_panel_stride( obj ) );
|
||||
fprintf( file, " m_padded %lu\n", ( unsigned long )bli_obj_padded_length( obj ) );
|
||||
fprintf( file, " n_padded %lu\n", ( unsigned long )bli_obj_padded_width( obj ) );
|
||||
fprintf( file, " pd %lu\n", ( unsigned long )bli_obj_panel_dim( obj ) );
|
||||
fprintf( file, " ps %lu\n", ( unsigned long )bli_obj_panel_stride( obj ) );
|
||||
fprintf( file, "\n" );
|
||||
|
||||
fprintf( file, " info %lX\n", ( unsigned long int )(*obj).info );
|
||||
fprintf( file, " - is complex %lu\n", ( unsigned long int )bli_obj_is_complex( obj ) );
|
||||
fprintf( file, " - is d. prec %lu\n", ( unsigned long int )bli_obj_is_double_prec( obj ) );
|
||||
fprintf( file, " - datatype %lu\n", ( unsigned long int )bli_obj_dt( obj ) );
|
||||
fprintf( file, " - target dt %lu\n", ( unsigned long int )bli_obj_target_dt( obj ) );
|
||||
fprintf( file, " - exec dt %lu\n", ( unsigned long int )bli_obj_exec_dt( obj ) );
|
||||
fprintf( file, " - has trans %lu\n", ( unsigned long int )bli_obj_has_trans( obj ) );
|
||||
fprintf( file, " - has conj %lu\n", ( unsigned long int )bli_obj_has_conj( obj ) );
|
||||
fprintf( file, " - unit diag? %lu\n", ( unsigned long int )bli_obj_has_unit_diag( obj ) );
|
||||
fprintf( file, " - struc type %lu\n", ( unsigned long int )bli_obj_struc( obj ) >> BLIS_STRUC_SHIFT );
|
||||
fprintf( file, " - uplo type %lu\n", ( unsigned long int )bli_obj_uplo( obj ) >> BLIS_UPLO_SHIFT );
|
||||
fprintf( file, " - is upper %lu\n", ( unsigned long int )bli_obj_is_upper( obj ) );
|
||||
fprintf( file, " - is lower %lu\n", ( unsigned long int )bli_obj_is_lower( obj ) );
|
||||
fprintf( file, " - is dense %lu\n", ( unsigned long int )bli_obj_is_dense( obj ) );
|
||||
fprintf( file, " - pack schema %lu\n", ( unsigned long int )bli_obj_pack_schema( obj ) >> BLIS_PACK_SCHEMA_SHIFT );
|
||||
fprintf( file, " - packinv diag? %lu\n", ( unsigned long int )bli_obj_has_inverted_diag( obj ) );
|
||||
fprintf( file, " - pack ordifup %lu\n", ( unsigned long int )bli_obj_is_pack_rev_if_upper( obj ) );
|
||||
fprintf( file, " - pack ordiflo %lu\n", ( unsigned long int )bli_obj_is_pack_rev_if_lower( obj ) );
|
||||
fprintf( file, " - packbuf type %lu\n", ( unsigned long int )bli_obj_pack_buffer_type( obj ) >> BLIS_PACK_BUFFER_SHIFT );
|
||||
fprintf( file, " info %lX\n", ( unsigned long )(*obj).info );
|
||||
fprintf( file, " - is complex %lu\n", ( unsigned long )bli_obj_is_complex( obj ) );
|
||||
fprintf( file, " - is d. prec %lu\n", ( unsigned long )bli_obj_is_double_prec( obj ) );
|
||||
fprintf( file, " - datatype %lu\n", ( unsigned long )bli_obj_dt( obj ) );
|
||||
fprintf( file, " - target dt %lu\n", ( unsigned long )bli_obj_target_dt( obj ) );
|
||||
fprintf( file, " - exec dt %lu\n", ( unsigned long )bli_obj_exec_dt( obj ) );
|
||||
fprintf( file, " - comp dt %lu\n", ( unsigned long )bli_obj_comp_dt( obj ) );
|
||||
fprintf( file, " - scalar dt %lu\n", ( unsigned long )bli_obj_scalar_dt( obj ) );
|
||||
fprintf( file, " - has trans %lu\n", ( unsigned long )bli_obj_has_trans( obj ) );
|
||||
fprintf( file, " - has conj %lu\n", ( unsigned long )bli_obj_has_conj( obj ) );
|
||||
fprintf( file, " - unit diag? %lu\n", ( unsigned long )bli_obj_has_unit_diag( obj ) );
|
||||
fprintf( file, " - struc type %lu\n", ( unsigned long )bli_obj_struc( obj ) >> BLIS_STRUC_SHIFT );
|
||||
fprintf( file, " - uplo type %lu\n", ( unsigned long )bli_obj_uplo( obj ) >> BLIS_UPLO_SHIFT );
|
||||
fprintf( file, " - is upper %lu\n", ( unsigned long )bli_obj_is_upper( obj ) );
|
||||
fprintf( file, " - is lower %lu\n", ( unsigned long )bli_obj_is_lower( obj ) );
|
||||
fprintf( file, " - is dense %lu\n", ( unsigned long )bli_obj_is_dense( obj ) );
|
||||
fprintf( file, " - pack schema %lu\n", ( unsigned long )bli_obj_pack_schema( obj ) >> BLIS_PACK_SCHEMA_SHIFT );
|
||||
fprintf( file, " - packinv diag? %lu\n", ( unsigned long )bli_obj_has_inverted_diag( obj ) );
|
||||
fprintf( file, " - pack ordifup %lu\n", ( unsigned long )bli_obj_is_pack_rev_if_upper( obj ) );
|
||||
fprintf( file, " - pack ordiflo %lu\n", ( unsigned long )bli_obj_is_pack_rev_if_lower( obj ) );
|
||||
fprintf( file, " - packbuf type %lu\n", ( unsigned long )bli_obj_pack_buffer_type( obj ) >> BLIS_PACK_BUFFER_SHIFT );
|
||||
fprintf( file, "\n" );
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ void bli_obj_scalar_init_detached
|
||||
void* p;
|
||||
|
||||
// Initialize beta without a buffer and then attach its internal buffer.
|
||||
// NOTE: This initializes both the storage datatype and scalar datatype
|
||||
// bitfields within beta to dt.
|
||||
bli_obj_create_without_buffer( dt, 1, 1, beta );
|
||||
|
||||
// Query the address of the object's internal scalar buffer.
|
||||
@@ -83,13 +85,19 @@ void bli_obj_scalar_detach
|
||||
obj_t* alpha
|
||||
)
|
||||
{
|
||||
num_t dt_a = bli_obj_dt( a );
|
||||
// Use the scalar datatype of A as the storage datatype of the detached
|
||||
// object alpha.
|
||||
num_t dt_a = bli_obj_scalar_dt( a );
|
||||
|
||||
// Initialize alpha to be a bufferless internal scalar of the same
|
||||
// datatype as A.
|
||||
// datatype as the scalar attached to A.
|
||||
bli_obj_scalar_init_detached( dt_a, alpha );
|
||||
|
||||
// Copy the internal scalar in A to alpha.
|
||||
// NOTE: This is simply a field-to-field copy with no typecasting. But
|
||||
// that's okay since bli_obj_scalar_init_detached() initializes the
|
||||
// storage datatype of alpha to be the same as the datatype of the
|
||||
// scalar queried from bli_obj_scalar_dt() above.
|
||||
bli_obj_copy_internal_scalar( a, alpha );
|
||||
}
|
||||
|
||||
@@ -102,15 +110,23 @@ void bli_obj_scalar_attach
|
||||
{
|
||||
obj_t alpha_cast;
|
||||
|
||||
// Make a copy-cast of alpha of the same datatype as A. This step
|
||||
// gives us the opportunity to conjugate and/or typecast alpha.
|
||||
bli_obj_scalar_init_detached_copy_of( bli_obj_target_dt( a ),
|
||||
// Use the target datatype of A as the datatype to which we cast
|
||||
// alpha locally.
|
||||
const num_t dt_targ = bli_obj_target_dt( a );
|
||||
|
||||
// Make a copy-cast of alpha to the target datatype of A, queried
|
||||
// above. This step gives us the opportunity to conjugate and/or
|
||||
// typecast alpha.
|
||||
bli_obj_scalar_init_detached_copy_of( dt_targ,
|
||||
conj,
|
||||
alpha,
|
||||
&alpha_cast );
|
||||
|
||||
// Copy the internal scalar in alpha_cast to A.
|
||||
bli_obj_copy_internal_scalar( &alpha_cast, a );
|
||||
|
||||
// Update the scalar datatype of A.
|
||||
bli_obj_set_scalar_dt( dt_targ, a );
|
||||
}
|
||||
|
||||
void bli_obj_scalar_cast_to
|
||||
@@ -122,20 +138,29 @@ void bli_obj_scalar_cast_to
|
||||
obj_t alpha;
|
||||
obj_t alpha_cast;
|
||||
|
||||
// Initialize alpha to be a bufferless internal scalar of datatype dt.
|
||||
bli_obj_scalar_init_detached( bli_obj_dt( a ), &alpha );
|
||||
// Initialize an object alpha to be a bufferless scalar whose
|
||||
// storage datatype is equal to the scalar datatype of A.
|
||||
bli_obj_scalar_init_detached( bli_obj_scalar_dt( a ), &alpha );
|
||||
|
||||
// Copy the internal scalar in A to alpha.
|
||||
// NOTE: Since alpha was initialized with the scalar datatype of A,
|
||||
// a simple field-to-field copy is sufficient (no casting is needed
|
||||
// here).
|
||||
bli_obj_copy_internal_scalar( a, &alpha );
|
||||
|
||||
// Make a copy-cast of alpha of datatype dt.
|
||||
// Make a copy-cast of alpha, alpha_cast, with the datatype given by
|
||||
// the caller. (This is where the typecasting happens.)
|
||||
bli_obj_scalar_init_detached_copy_of( dt,
|
||||
BLIS_NO_CONJUGATE,
|
||||
&alpha,
|
||||
&alpha_cast );
|
||||
|
||||
// Copy the copy-casted value in alpha_cast back to A.
|
||||
// Copy the newly-typecasted value in alpha_cast back to A.
|
||||
bli_obj_copy_internal_scalar( &alpha_cast, a );
|
||||
|
||||
// Update the scalar datatype of A to reflect to new datatype used
|
||||
// in the typecast.
|
||||
bli_obj_set_scalar_dt( dt, a );
|
||||
}
|
||||
|
||||
void bli_obj_scalar_apply_scalar
|
||||
@@ -147,9 +172,9 @@ void bli_obj_scalar_apply_scalar
|
||||
obj_t alpha_cast;
|
||||
obj_t scalar_a;
|
||||
|
||||
// Make a copy-cast of alpha of the same datatype as A. This step
|
||||
// gives us the opportunity to typecast alpha.
|
||||
bli_obj_scalar_init_detached_copy_of( bli_obj_dt( a ),
|
||||
// Make a copy of alpha, alpha_cast, with the same datatype as the
|
||||
// scalar datatype of A. (This is where the typecasting happens.)
|
||||
bli_obj_scalar_init_detached_copy_of( bli_obj_scalar_dt( a ),
|
||||
BLIS_NO_CONJUGATE,
|
||||
alpha,
|
||||
&alpha_cast );
|
||||
@@ -168,7 +193,7 @@ void bli_obj_scalar_reset
|
||||
obj_t* a
|
||||
)
|
||||
{
|
||||
num_t dt = bli_obj_dt( a );
|
||||
num_t dt = bli_obj_scalar_dt( a );
|
||||
void* scalar_a = bli_obj_internal_scalar_buffer( a );
|
||||
void* one = bli_obj_buffer_for_const( dt, &BLIS_ONE );
|
||||
|
||||
@@ -187,9 +212,12 @@ bool_t bli_obj_scalar_has_nonzero_imag
|
||||
)
|
||||
{
|
||||
bool_t r_val = FALSE;
|
||||
num_t dt = bli_obj_dt( a );
|
||||
num_t dt = bli_obj_scalar_dt( a );
|
||||
void* scalar_a = bli_obj_internal_scalar_buffer( a );
|
||||
|
||||
// FGVZ: Reimplement by using bli_obj_imag_part() and then
|
||||
// bli_obj_equals( &BLIS_ZERO, ... ).
|
||||
|
||||
if ( bli_is_real( dt ) )
|
||||
{
|
||||
r_val = FALSE;
|
||||
@@ -216,7 +244,7 @@ bool_t bli_obj_scalar_equals
|
||||
bool_t r_val;
|
||||
|
||||
bli_obj_scalar_detach( a, &scalar_a );
|
||||
|
||||
|
||||
r_val = bli_obj_equals( &scalar_a, beta );
|
||||
|
||||
return r_val;
|
||||
|
||||
@@ -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 ) \
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -199,6 +199,27 @@ static prec_t bli_obj_comp_prec( obj_t* obj )
|
||||
( ( obj->info & BLIS_COMP_PREC_BIT ) >> BLIS_COMP_DT_SHIFT );
|
||||
}
|
||||
|
||||
// NOTE: This function queries info2.
|
||||
static num_t bli_obj_scalar_dt( obj_t* obj )
|
||||
{
|
||||
return ( num_t )
|
||||
( ( obj->info2 & BLIS_SCALAR_DT_BITS ) >> BLIS_SCALAR_DT_SHIFT );
|
||||
}
|
||||
|
||||
// NOTE: This function queries info2.
|
||||
static dom_t bli_obj_scalar_domain( obj_t* obj )
|
||||
{
|
||||
return ( dom_t )
|
||||
( ( obj->info2 & BLIS_SCALAR_DOMAIN_BIT ) >> BLIS_SCALAR_DT_SHIFT );
|
||||
}
|
||||
|
||||
// NOTE: This function queries info2.
|
||||
static prec_t bli_obj_scalar_prec( obj_t* obj )
|
||||
{
|
||||
return ( prec_t )
|
||||
( ( obj->info2 & BLIS_SCALAR_PREC_BIT ) >> BLIS_SCALAR_DT_SHIFT );
|
||||
}
|
||||
|
||||
static trans_t bli_obj_conjtrans_status( obj_t* obj )
|
||||
{
|
||||
return ( trans_t )
|
||||
@@ -441,55 +462,88 @@ static void bli_obj_set_dt( num_t dt, obj_t* obj )
|
||||
static void bli_obj_set_target_dt( num_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_TARGET_DT_BITS ) | ( dt << BLIS_TARGET_DT_SHIFT );
|
||||
( obj->info & ~BLIS_TARGET_DT_BITS ) |
|
||||
( dt << BLIS_TARGET_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_target_domain( dom_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_TARGET_DOMAIN_BIT ) | ( dt << BLIS_TARGET_DT_SHIFT );
|
||||
( obj->info & ~BLIS_TARGET_DOMAIN_BIT ) |
|
||||
( dt << BLIS_TARGET_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_target_prec( prec_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_TARGET_PREC_BIT ) | ( dt << BLIS_TARGET_DT_SHIFT );
|
||||
( obj->info & ~BLIS_TARGET_PREC_BIT ) |
|
||||
( dt << BLIS_TARGET_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_exec_dt( num_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_EXEC_DT_BITS ) | ( dt << BLIS_EXEC_DT_SHIFT );
|
||||
( obj->info & ~BLIS_EXEC_DT_BITS ) |
|
||||
( dt << BLIS_EXEC_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_exec_domain( dom_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_EXEC_DOMAIN_BIT ) | ( dt << BLIS_EXEC_DT_SHIFT );
|
||||
( obj->info & ~BLIS_EXEC_DOMAIN_BIT ) |
|
||||
( dt << BLIS_EXEC_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_exec_prec( prec_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_EXEC_PREC_BIT ) | ( dt << BLIS_EXEC_DT_SHIFT );
|
||||
( obj->info & ~BLIS_EXEC_PREC_BIT ) |
|
||||
( dt << BLIS_EXEC_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_comp_dt( num_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_COMP_DT_BITS ) | ( dt << BLIS_COMP_DT_SHIFT );
|
||||
( obj->info & ~BLIS_COMP_DT_BITS ) |
|
||||
( dt << BLIS_COMP_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_comp_domain( dom_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_COMP_DOMAIN_BIT ) | ( dt << BLIS_COMP_DT_SHIFT );
|
||||
( obj->info & ~BLIS_COMP_DOMAIN_BIT ) |
|
||||
( dt << BLIS_COMP_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_comp_prec( prec_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info = ( objbits_t )
|
||||
( obj->info & ~BLIS_COMP_PREC_BIT ) | ( dt << BLIS_COMP_DT_SHIFT );
|
||||
( obj->info & ~BLIS_COMP_PREC_BIT ) |
|
||||
( dt << BLIS_COMP_DT_SHIFT );
|
||||
}
|
||||
|
||||
// NOTE: This function queries and modifies info2.
|
||||
static void bli_obj_set_scalar_dt( num_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info2 = ( objbits_t )
|
||||
( obj->info2 & ~BLIS_SCALAR_DT_BITS ) |
|
||||
( dt << BLIS_SCALAR_DT_SHIFT );
|
||||
}
|
||||
|
||||
// NOTE: This function queries and modifies info2.
|
||||
static void bli_obj_set_scalar_domain( dom_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info2 = ( objbits_t )
|
||||
( obj->info2 & ~BLIS_SCALAR_DOMAIN_BIT ) |
|
||||
( dt << BLIS_SCALAR_DT_SHIFT );
|
||||
}
|
||||
|
||||
// NOTE: This function queries and modifies info2.
|
||||
static void bli_obj_set_scalar_prec( prec_t dt, obj_t* obj )
|
||||
{
|
||||
obj->info2 = ( objbits_t )
|
||||
( obj->info2 & ~BLIS_SCALAR_PREC_BIT ) |
|
||||
( dt << BLIS_SCALAR_DT_SHIFT );
|
||||
}
|
||||
|
||||
static void bli_obj_set_pack_schema( pack_t schema, obj_t* obj )
|
||||
@@ -1227,6 +1281,8 @@ static void bli_obj_real_part( obj_t* c, obj_t* r )
|
||||
bli_obj_set_exec_dt( dt_exec_r, r );
|
||||
bli_obj_set_comp_dt( dt_comp_r, r );
|
||||
|
||||
// Don't touch the attached scalar datatype.
|
||||
|
||||
// Update the element size.
|
||||
siz_t es_c = bli_obj_elem_size( c );
|
||||
bli_obj_set_elem_size( es_c/2, r );
|
||||
@@ -1258,6 +1314,8 @@ static void bli_obj_imag_part( obj_t* c, obj_t* i )
|
||||
bli_obj_set_exec_dt( dt_exec_r, i );
|
||||
bli_obj_set_comp_dt( dt_comp_r, i );
|
||||
|
||||
// Don't touch the attached scalar datatype.
|
||||
|
||||
// Update the element size.
|
||||
siz_t es_c = bli_obj_elem_size( c );
|
||||
bli_obj_set_elem_size( es_c/2, i );
|
||||
|
||||
@@ -107,12 +107,12 @@ typedef gint_t bool_t;
|
||||
// interoperability with BLIS.
|
||||
#ifndef _DEFINED_DIM_T
|
||||
#define _DEFINED_DIM_T
|
||||
typedef gint_t dim_t; // dimension type
|
||||
typedef gint_t dim_t; // dimension type
|
||||
#endif
|
||||
typedef gint_t inc_t; // increment/stride type
|
||||
typedef gint_t doff_t; // diagonal offset type
|
||||
typedef guint_t siz_t; // byte size type
|
||||
typedef guint_t objbits_t; // object information bit field
|
||||
typedef gint_t inc_t; // increment/stride type
|
||||
typedef gint_t doff_t; // diagonal offset type
|
||||
typedef guint_t siz_t; // byte size type
|
||||
typedef uint32_t objbits_t; // object information bit field
|
||||
|
||||
// -- Real types --
|
||||
|
||||
@@ -268,12 +268,22 @@ typedef dcomplex f77_dcomplex;
|
||||
- 1 == Hermitian
|
||||
- 2 == symmetric
|
||||
- 3 == triangular
|
||||
31 ~ 29 Execution numerical datatype
|
||||
31 ~ 29 Computation numerical datatype
|
||||
- 29: domain (0 == real, 1 == complex)
|
||||
- 30: precision (0 == single, 1 == double)
|
||||
- 31: used to encode integer, constant types
|
||||
|
||||
info2 field description
|
||||
|
||||
bit(s) purpose
|
||||
------- -------
|
||||
2 ~ 0 Scalar storage numerical datatype
|
||||
- 0: domain (0 == real, 1 == complex)
|
||||
- 1: precision (0 == single, 1 == double)
|
||||
- 2: used to encode integer, constant types
|
||||
*/
|
||||
|
||||
// info
|
||||
#define BLIS_DATATYPE_SHIFT 0
|
||||
#define BLIS_DOMAIN_SHIFT 0
|
||||
#define BLIS_PRECISION_SHIFT 1
|
||||
@@ -305,10 +315,16 @@ typedef dcomplex f77_dcomplex;
|
||||
#define BLIS_COMP_DOMAIN_SHIFT 29
|
||||
#define BLIS_COMP_PREC_SHIFT 30
|
||||
|
||||
// info2
|
||||
#define BLIS_SCALAR_DT_SHIFT 0
|
||||
#define BLIS_SCALAR_DOMAIN_SHIFT 0
|
||||
#define BLIS_SCALAR_PREC_SHIFT 1
|
||||
|
||||
//
|
||||
// -- BLIS info bit field masks ------------------------------------------------
|
||||
//
|
||||
|
||||
// info
|
||||
#define BLIS_DATATYPE_BITS ( 0x7 << BLIS_DATATYPE_SHIFT )
|
||||
#define BLIS_DOMAIN_BIT ( 0x1 << BLIS_DOMAIN_SHIFT )
|
||||
#define BLIS_PRECISION_BIT ( 0x1 << BLIS_PRECISION_SHIFT )
|
||||
@@ -340,6 +356,11 @@ typedef dcomplex f77_dcomplex;
|
||||
#define BLIS_COMP_DOMAIN_BIT ( 0x1 << BLIS_COMP_DOMAIN_SHIFT )
|
||||
#define BLIS_COMP_PREC_BIT ( 0x1 << BLIS_COMP_PREC_SHIFT )
|
||||
|
||||
// info2
|
||||
#define BLIS_SCALAR_DT_BITS ( 0x7 << BLIS_SCALAR_DT_SHIFT )
|
||||
#define BLIS_SCALAR_DOMAIN_BIT ( 0x1 << BLIS_SCALAR_DOMAIN_SHIFT )
|
||||
#define BLIS_SCALAR_PREC_BIT ( 0x1 << BLIS_SCALAR_PREC_SHIFT )
|
||||
|
||||
|
||||
//
|
||||
// -- BLIS enumerated type value definitions -----------------------------------
|
||||
@@ -1062,6 +1083,7 @@ typedef struct obj_s
|
||||
doff_t diag_off;
|
||||
|
||||
objbits_t info;
|
||||
objbits_t info2;
|
||||
siz_t elem_size;
|
||||
|
||||
void* buffer;
|
||||
@@ -1096,6 +1118,7 @@ static void bli_obj_init_full_shallow_copy_of( obj_t* a, obj_t* b )
|
||||
b->diag_off = a->diag_off;
|
||||
|
||||
b->info = a->info;
|
||||
b->info2 = a->info2;
|
||||
b->elem_size = a->elem_size;
|
||||
|
||||
b->buffer = a->buffer;
|
||||
@@ -1126,6 +1149,7 @@ static void bli_obj_init_subpart_from( obj_t* a, obj_t* b )
|
||||
b->diag_off = a->diag_off;
|
||||
|
||||
b->info = a->info;
|
||||
b->info2 = a->info2;
|
||||
b->elem_size = a->elem_size;
|
||||
|
||||
b->buffer = a->buffer;
|
||||
|
||||
@@ -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