def call_xxdot(context, builder, conjugate, dtype, n, a_data, b_data, out_data):
 fnty = ir.FunctionType(ir.IntType(32), [ll_char, ll_char, intp_t, ll_void_p, ll_void_p, ll_void_p])
 fn = builder.module.get_or_insert_function(fnty, name='numba_xxdot')
 kind = get_blas_kind(dtype)
 kind_val = ir.Constant(ll_char, ord(kind))
 conjugate = ir.Constant(ll_char, int(conjugate))
 res = builder.call(fn, (kind_val, conjugate, n, builder.bitcast(a_data, ll_void_p), builder.bitcast(b_data, ll_void_p), builder.bitcast(out_data, ll_void_p)))
 check_blas_return(context, builder, res)

def call_xxdot ( context , builder , conjugate , dtype , n , a_data , b_data , out_data ) : fnty = ir . FunctionType ( ir . IntType ( 32 ) , [ ll_char , ll_char , intp_t , ll_void_p , ll_void_p , ll_void_p ] ) fn = builder . module . get_or_insert_function ( fnty , name = 'numba_xxdot' ) kind = get_blas_kind ( dtype ) kind_val = ir . Constant ( ll_char , ord ( kind ) ) conjugate = ir . Constant ( ll_char , int ( conjugate ) ) res = builder . call ( fn , ( kind_val , conjugate , n , builder . bitcast ( a_data , ll_void_p ) , builder . bitcast ( b_data , ll_void_p ) , builder . bitcast ( out_data , ll_void_p ) ) ) check_blas_return ( context , builder , res )
call the blas vector * vector product function for the given arguments .