Vector.cpp 680 字节
Newer Older
Y
Yu Yang 已提交
1 2 3
#include "PaddleCAPI.h"
#include "PaddleCAPIPrivate.h"

Y
Yu Yang 已提交
4 5
using paddle::capi::cast;

Y
Yu Yang 已提交
6
extern "C" {
Y
Yu Yang 已提交
7 8 9 10 11 12

int PDIVecCreateNone(PD_IVector* ivec) {
  if (ivec == nullptr) return kPD_NULLPTR;
  auto ptr = new paddle::capi::CIVector();
  *ivec = ptr;
  return kPD_NO_ERROR;
Y
Yu Yang 已提交
13
}
Y
Yu Yang 已提交
14 15 16 17 18

int PDIVecDestroy(PD_IVector ivec) {
  if (ivec == nullptr) return kPD_NULLPTR;
  delete cast<paddle::capi::CIVector>(ivec);
  return kPD_NO_ERROR;
Y
Yu Yang 已提交
19 20
}

Y
Yu Yang 已提交
21 22 23 24 25 26
int PDIVectorGet(PD_IVector ivec, int** buffer) {
  if (ivec == nullptr || buffer == nullptr) return kPD_NULLPTR;
  auto v = cast<paddle::capi::CIVector>(ivec);
  if (v->vec == nullptr) return kPD_NULLPTR;
  *buffer = v->vec->getData();
  return kPD_NO_ERROR;
Y
Yu Yang 已提交
27 28
}
}