53 lines
957 B
C
53 lines
957 B
C
#include <stdio.h>
|
|
#include "common.h"
|
|
#ifdef FUNCTION_PROFILE
|
|
#include "functable.h"
|
|
#endif
|
|
|
|
#ifndef CBLAS
|
|
float NAME(blasint *N, bfloat16 *x, blasint *INCX, bfloat16 *y, blasint *INCY){
|
|
BLASLONG n = *N;
|
|
BLASLONG incx = *INCX;
|
|
BLASLONG incy = *INCY;
|
|
float ret;
|
|
PRINT_DEBUG_NAME;
|
|
|
|
if (n <= 0) return 0.;
|
|
|
|
IDEBUG_START;
|
|
FUNCTION_PROFILE_START();
|
|
|
|
if (incx < 0) x -= (n - 1) * incx;
|
|
if (incy < 0) y -= (n - 1) * incy;
|
|
ret = BF16_DOT_K(n, x, incx, y, incy);
|
|
|
|
FUNCTION_PROFILE_END(1, 2 * n, 2 * n);
|
|
IDEBUG_END;
|
|
|
|
return ret;
|
|
}
|
|
|
|
#else
|
|
|
|
float CNAME(blasint n, bfloat16 *x, blasint incx, bfloat16 *y, blasint incy){
|
|
|
|
float ret;
|
|
PRINT_DEBUG_CNAME;
|
|
|
|
if (n <= 0) return 0.;
|
|
|
|
IDEBUG_START;
|
|
FUNCTION_PROFILE_START();
|
|
|
|
if (incx < 0) x -= (n - 1) * incx;
|
|
if (incy < 0) y -= (n - 1) * incy;
|
|
ret = BF16_DOT_K(n, x, incx, y, incy);
|
|
|
|
FUNCTION_PROFILE_END(1, 2 * n, 2 * n);
|
|
IDEBUG_END;
|
|
|
|
return ret;
|
|
}
|
|
|
|
#endif
|