blob: 61b1c37f19dfae5f44842a1e82ac90644414aae4 [file] [log] [blame]
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#ifndef HALIDE_ATTRIBUTE_ALIGN
#ifdef _MSC_VER
#define HALIDE_ATTRIBUTE_ALIGN(x) __declspec(align(x))
#else
#define HALIDE_ATTRIBUTE_ALIGN(x) __attribute__((aligned(x)))
#endif
#endif
#ifndef BUFFER_T_DEFINED
#define BUFFER_T_DEFINED
#include <stdbool.h>
#include <stdint.h>
typedef struct buffer_t {
uint64_t dev;
uint8_t* host;
int32_t extent[4];
int32_t stride[4];
int32_t min[4];
int32_t elem_size;
HALIDE_ATTRIBUTE_ALIGN(1) bool host_dirty;
HALIDE_ATTRIBUTE_ALIGN(1) bool dev_dirty;
HALIDE_ATTRIBUTE_ALIGN(1) uint8_t _padding[10 - sizeof(void *)];
} buffer_t;
#endif
struct halide_filter_metadata_t;
#ifndef HALIDE_FUNCTION_ATTRS
#define HALIDE_FUNCTION_ATTRS
#endif
#ifndef FILTER_T_DEFINED
#define FILTER_T_DEFINED
typedef struct filter {
const char *name;
int (*fn)(buffer_t *, // uint8
buffer_t *); // uint32
} filter;
#endif
#ifdef __cplusplus
extern "C" {
#endif
int vector_widen(buffer_t *_in_u8_buffer, buffer_t *widen_buffer) HALIDE_FUNCTION_ATTRS;
int vector_widen_argv(void **args) HALIDE_FUNCTION_ATTRS;
extern const struct halide_filter_metadata_t vector_widen_metadata;
#ifdef __cplusplus
} // extern "C"
#endif
filter filters[] = {
{"vector_widen", &vector_widen},
{NULL, NULL}};