26 lines
826 B
C
26 lines
826 B
C
#ifndef _TENSORITERATOR_H_
|
|
#define _TENSORITERATOR_H_
|
|
|
|
#include "tensor.h"
|
|
|
|
typedef struct _tensor_scalar_iterator {
|
|
dtype *current;
|
|
uint32_t length;
|
|
} * tensoriter_scalar;
|
|
|
|
tensoriter_scalar tensoriter_scalar_create(tensor t);
|
|
void tensoriter_scalar_destroy(tensoriter_scalar it);
|
|
|
|
bool tensoriter_scalar_next(tensoriter_scalar it);
|
|
dtype tensoriter_scalar_get(tensoriter_scalar it);
|
|
void tensoriter_scalar_set(tensoriter_scalar it, dtype value);
|
|
|
|
void tensoriter_scalar_map(tensoriter_scalar it, dtype (*func)(dtype));
|
|
void tensoriter_scalar_map_add(tensoriter_scalar it, dtype scalar);
|
|
void tensoriter_scalar_map_sub(tensoriter_scalar it, dtype scalar);
|
|
void tensoriter_scalar_map_mul(tensoriter_scalar it, dtype scalar);
|
|
void tensoriter_scalar_map_div(tensoriter_scalar it, dtype scalar);
|
|
|
|
#endif // _TENSORITERATOR_H_
|
|
|