-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinterflop_vinterface.h
33 lines (28 loc) · 1.16 KB
/
interflop_vinterface.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef __INTERFLOP_VINTERFACE_H__
#define __INTERFLOP_VINTERFACE_H__
struct interflop_vector_op_interface_t
{
void (*op_vector_float_1) (float *a, float *b, float *c, void *context);
void (*op_vector_float_4) (float *a, float *b, float *c, void *context);
void (*op_vector_float_8) (float *a, float *b, float *c, void *context);
void (*op_vector_float_16) (float *a, float *b, float *c, void *context);
void (*op_vector_double_1) (double *a, double *b, double *c, void *context);
void (*op_vector_double_2) (double *a, double *b, double *c, void *context);
void (*op_vector_double_4) (double *a, double *b, double *c, void *context);
void (*op_vector_double_8) (double *a, double *b, double *c, void *context);
};
struct interflop_vector_type_t
{
struct interflop_vector_op_interface_t add;
struct interflop_vector_op_interface_t sub;
struct interflop_vector_op_interface_t mul;
struct interflop_vector_op_interface_t div;
};
struct interflop_backend_vector_interface_t
{
struct interflop_vector_type_t scalar;
struct interflop_vector_type_t vector128;
struct interflop_vector_type_t vector256;
struct interflop_vector_type_t vector512;
};
#endif