mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-04 02:35:27 +00:00
37 lines
603 B
C
37 lines
603 B
C
// See LICENSE for license details.
|
|
|
|
#ifndef _MM_H
|
|
#define _MM_H
|
|
|
|
#include <string.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#ifdef SP
|
|
typedef float t;
|
|
#define fma fmaf
|
|
#else
|
|
typedef double t;
|
|
#endif
|
|
|
|
#define inline inline __attribute__((always_inline))
|
|
|
|
#define alloca_aligned(s, a) ((void*)(((uintptr_t)alloca((s)+(a)-1)+(a)-1)&~((a)-1)))
|
|
|
|
#include "rb.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void mm(size_t m, size_t n, size_t p,
|
|
t* a, size_t lda, t* b, size_t ldb, t* c, size_t ldc);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
//void rb(t* a, t* b, t* c, size_t lda, size_t ldb, size_t ldc);
|
|
|
|
#endif
|