/*******************************获取定长数组坐标********************************/ int Jce2Php::getSuffix(const TypeIdPtr &pPtr) const { BuiltinPtr bPtr = BuiltinPtr::dynamicCast(pPtr->getTypePtr()); if(bPtr && bPtr->kind() == Builtin::KindString && bPtr->isArray()) { return bPtr->getSize(); } VectorPtr vPtr = VectorPtr::dynamicCast(pPtr->getTypePtr()); if(vPtr && vPtr->isArray()) { return vPtr->getSize(); } return -1; }
TEST(Arguments, Vector) { VectorPtr vector = Vector::create(100, false); CheckBufferArg check = [=](const BufferArg& arg) { EXPECT_EQ(arg.shape().ndims(), 1U); EXPECT_EQ(arg.shape()[0], 100U); EXPECT_EQ(arg.data(), vector->getData()); CpuVector inVector = arg.vector<real, DEVICE_TYPE_CPU>(); EXPECT_EQ(inVector.getSize(), vector->getSize()); EXPECT_EQ(inVector.getData(), vector->getData()); }; BufferArgs argments; argments.addArg(*vector); std::vector<CheckBufferArg> checkFunc; checkFunc.push_back(check); testBufferArgs(argments, checkFunc); }