mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
support <int32_t size> for stack
This commit is contained in:
parent
16be13af71
commit
73123cdd9f
2
port/linux/.vscode/launch.json
vendored
2
port/linux/.vscode/launch.json
vendored
@ -11,7 +11,7 @@
|
||||
"program": "${workspaceFolder}/build/test/pikascript_test",
|
||||
// "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain",
|
||||
"args": [
|
||||
// "--gtest_filter=parser.str_equ"
|
||||
"--gtest_filter=PikaCV.test11"
|
||||
],
|
||||
"stopAtEntry": false,
|
||||
"cwd": "${workspaceFolder}",
|
||||
|
@ -1,2 +1,2 @@
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 10
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 1024
|
||||
#define PIKA_ASSERT_ENABLE 1
|
@ -1,3 +1,3 @@
|
||||
#define PIKA_OPTIMIZE PIKA_OPTIMIZE_SPEED
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 10
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 1024
|
||||
#define PIKA_ASSERT_ENABLE 1
|
@ -1,4 +1,4 @@
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 10
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 1024
|
||||
#define PIKA_POOL_ENABLE 1
|
||||
#define PIKA_POOL_SIZE 0x40000
|
||||
#define PIKA_ASSERT_ENABLE 1
|
@ -1,3 +1,3 @@
|
||||
#define PIKA_SYNTAX_LEVEL PIKA_SYNTAX_LEVEL_MINIMAL
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 10
|
||||
#define PIKA_STACK_BUFF_SIZE 1024 * 1024
|
||||
#define PIKA_ASSERT_ENABLE 1
|
@ -125,8 +125,7 @@ PIKA_RES Converter_JPEGtoRGB888(PikaObj* image) {
|
||||
io.width_pix = jdec.width;
|
||||
|
||||
/* Allocate memory for output image */
|
||||
Arg* arg_output =
|
||||
arg_newBytes(NULL, jdec.width * jdec.height * N_BPP);
|
||||
Arg* arg_output = arg_newBytes(NULL, jdec.width * jdec.height * N_BPP);
|
||||
if (NULL == arg_output) {
|
||||
__platform_printf("Converter_JPEGtoRGB888: arg_setBytes failed\n");
|
||||
pika_res = PIKA_RES_ERR_INVALID_PTR;
|
||||
@ -420,27 +419,26 @@ void PikaCV_Converter_toBGR888(PikaObj* self, PikaObj* image) {
|
||||
arg_deinit(arg_data_new);
|
||||
}
|
||||
|
||||
void PikaCV_Converter_converter(PikaObj *self, int format, PikaObj* image){
|
||||
switch (format)
|
||||
{
|
||||
case PikaCV_ImageFormat_Type_RGB888:
|
||||
PikaCV_Converter_toRGB888(self,image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_BGR888:
|
||||
PikaCV_Converter_toBGR888(self,image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_RGB565:
|
||||
PikaCV_Converter_toRGB565(self,image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_GRAY:
|
||||
PikaCV_Converter_toGray(self,image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_BMP:
|
||||
PikaCV_Converter_toBMP(self,image);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
void PikaCV_Converter_converter(PikaObj* self, int format, PikaObj* image) {
|
||||
switch (format) {
|
||||
case PikaCV_ImageFormat_Type_RGB888:
|
||||
PikaCV_Converter_toRGB888(self, image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_BGR888:
|
||||
PikaCV_Converter_toBGR888(self, image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_RGB565:
|
||||
PikaCV_Converter_toRGB565(self, image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_GRAY:
|
||||
PikaCV_Converter_toGray(self, image);
|
||||
break;
|
||||
case PikaCV_ImageFormat_Type_BMP:
|
||||
PikaCV_Converter_toBMP(self, image);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
@ -135,8 +135,6 @@ TEST(PikaCV, test9) {
|
||||
EXPECT_EQ(pikaMemNow(), 0);
|
||||
}
|
||||
|
||||
//! test faild in valgrind.sh, need fix.
|
||||
#if 1
|
||||
TEST(PikaCV, test10) {
|
||||
/* init */
|
||||
pikaMemInfo.heapUsedMax = 0;
|
||||
@ -151,4 +149,19 @@ TEST(PikaCV, test10) {
|
||||
|
||||
EXPECT_EQ(pikaMemNow(), 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST(PikaCV, test11) {
|
||||
/* init */
|
||||
pikaMemInfo.heapUsedMax = 0;
|
||||
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
|
||||
/* run */
|
||||
__platform_printf("BEGIN\r\n");
|
||||
pikaVM_runSingleFile(pikaMain, "test/python/PikaCV/PikaCV_test11.py");
|
||||
/* collect */
|
||||
Arg* data = obj_getArg(pikaMain, "data");
|
||||
/* assert */
|
||||
/* deinit */
|
||||
obj_deinit(pikaMain);
|
||||
|
||||
EXPECT_EQ(pikaMemNow(), 0);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
void stack_reset(Stack* stack) {
|
||||
stack->sp = (uint8_t*)arg_getContent(stack->stack_pyload);
|
||||
stack->sp_size = (int16_t*)arg_getContent(stack->stack_size_array);
|
||||
stack->sp_size = (int32_t*)arg_getContent(stack->stack_size_array);
|
||||
stack->top = 0;
|
||||
}
|
||||
|
||||
@ -44,12 +44,12 @@ int32_t stack_init(Stack* stack) {
|
||||
return 0;
|
||||
};
|
||||
|
||||
void stack_pushSize(Stack* stack, int16_t size) {
|
||||
void stack_pushSize(Stack* stack, int32_t size) {
|
||||
*(stack->sp_size) = size;
|
||||
stack->sp_size++;
|
||||
}
|
||||
|
||||
int16_t stack_popSize(Stack* stack) {
|
||||
int32_t stack_popSize(Stack* stack) {
|
||||
stack->sp_size--;
|
||||
return *(stack->sp_size);
|
||||
}
|
||||
@ -112,7 +112,7 @@ Arg* stack_popArg(Stack* stack) {
|
||||
return NULL;
|
||||
}
|
||||
stack->top--;
|
||||
int16_t size = stack_popSize(stack);
|
||||
int32_t size = stack_popSize(stack);
|
||||
Arg* arg = arg_copy((Arg*)stack_popPyload(stack, size));
|
||||
ArgType type = arg_getType(arg);
|
||||
/* decrase ref_cnt */
|
||||
@ -129,6 +129,6 @@ char* stack_popStr(Stack* stack, char* outBuff) {
|
||||
return outBuff;
|
||||
}
|
||||
|
||||
int8_t stack_getTop(Stack* stack) {
|
||||
int32_t stack_getTop(Stack* stack) {
|
||||
return stack->top;
|
||||
}
|
||||
|
@ -33,8 +33,8 @@ typedef struct Stack_t {
|
||||
Arg* stack_pyload;
|
||||
Arg* stack_size_array;
|
||||
uint8_t* sp;
|
||||
int16_t* sp_size;
|
||||
int16_t top;
|
||||
int32_t* sp_size;
|
||||
int32_t top;
|
||||
size_t stack_totle_size;
|
||||
} Stack;
|
||||
|
||||
@ -44,9 +44,9 @@ int32_t stack_pushStr(Stack* stack, char* str);
|
||||
char* stack_popStr(Stack* stack, char* outBuff);
|
||||
Arg* stack_popArg(Stack* stack);
|
||||
int32_t stack_pushArg(Stack* stack, Arg* arg);
|
||||
int8_t stack_getTop(Stack* stack);
|
||||
int32_t stack_getTop(Stack* stack);
|
||||
int32_t stack_init(Stack* stack);
|
||||
int16_t stack_popSize(Stack* stack);
|
||||
void stack_pushSize(Stack* stack, int16_t size);
|
||||
int32_t stack_popSize(Stack* stack);
|
||||
void stack_pushSize(Stack* stack, int32_t size);
|
||||
void stack_reset(Stack* stack);
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user