Skip to content
Snippets Groups Projects
futhark.h 1.9 KiB
Newer Older
baptiste.coudray's avatar
baptiste.coudray committed
/**
 * File to resolve symbol when programming
 */
#ifndef _FUTHARK_H_
#define _FUTHARK_H_

struct futhark_context;

struct futhark_u8_1d;
baptiste.coudray's avatar
baptiste.coudray committed
struct futhark_u8_2d;
baptiste.coudray's avatar
baptiste.coudray committed

struct futhark_u8_1d *futhark_new_u8_1d(struct futhark_context *ctx, const
uint8_t *data, int64_t dim0);

int futhark_free_u8_1d(struct futhark_context *ctx, struct futhark_u8_1d *arr);

int futhark_values_u8_1d(struct futhark_context *ctx, struct futhark_u8_1d *arr,
                         uint8_t *data);

int futhark_entry_get_envelope_1d(struct futhark_context *ctx,
                                  struct futhark_u8_1d **out0,
                                  struct futhark_u8_1d **out1, const
baptiste.coudray's avatar
baptiste.coudray committed
                                  struct futhark_u8_1d *in0, int64_t in1);
baptiste.coudray's avatar
baptiste.coudray committed

int futhark_entry_get_envelope_2d(struct futhark_context *ctx,
                                  struct futhark_u8_2d **out0,
                                  struct futhark_u8_2d **out1,
                                  struct futhark_u8_2d **out2,
                                  struct futhark_u8_2d **out3,
                                  struct futhark_u8_2d **out4,
                                  struct futhark_u8_2d **out5,
                                  struct futhark_u8_2d **out6,
                                  struct futhark_u8_2d **out7, const
baptiste.coudray's avatar
baptiste.coudray committed
                                  struct futhark_u8_2d *in0, int64_t in1,
                                  int64_t in2);
baptiste.coudray's avatar
baptiste.coudray committed

struct futhark_u8_1d *futhark_new_u8_1d(struct futhark_context *ctx, const uint8_t *data, int64_t dim0);

struct futhark_u8_2d *futhark_new_u8_2d(struct futhark_context *ctx, const
uint8_t *data, int64_t dim0, int64_t dim1);

int futhark_free_u8_2d(struct futhark_context *ctx, struct futhark_u8_2d *arr);

int futhark_values_u8_2d(struct futhark_context *ctx, struct futhark_u8_2d *arr,
                         uint8_t *data);

int futhark_context_sync(struct futhark_context *ctx);

#endif //_FUTHARK_H_