mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
use double in ARG_FLOAT
This commit is contained in:
parent
65e6899cc2
commit
83b3611c4a
@ -57,7 +57,7 @@ TEST(args, test3) {
|
||||
args_copyArgByName(args1, "argtest1", args2);
|
||||
args_copyArgByName(args1, "strtest1", args2);
|
||||
|
||||
EXPECT_EQ(2.8830f, args_getFloat(args1, "argtest1"));
|
||||
EXPECT_FLOAT_EQ(2.8830, args_getFloat(args1, "argtest1"));
|
||||
args_deinit(args1);
|
||||
args_deinit(args2);
|
||||
EXPECT_EQ(pikaMemNow(), 0);
|
||||
|
@ -163,7 +163,7 @@ int32_t obj_setRef(PikaObj* self, char* argPath, void* pointer) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t obj_setFloat(PikaObj* self, char* argPath, float value) {
|
||||
int32_t obj_setFloat(PikaObj* self, char* argPath, double value) {
|
||||
PikaObj* obj = obj_getHostObj(self, argPath);
|
||||
if (NULL == obj) {
|
||||
return 1;
|
||||
@ -284,13 +284,13 @@ void* obj_getPtr(PikaObj* self, char* argPath) {
|
||||
return res;
|
||||
}
|
||||
|
||||
float obj_getFloat(PikaObj* self, char* argPath) {
|
||||
double obj_getFloat(PikaObj* self, char* argPath) {
|
||||
PikaObj* obj = obj_getHostObj(self, argPath);
|
||||
if (NULL == obj) {
|
||||
return -999.999;
|
||||
}
|
||||
char* argName = strPointToLastToken(argPath, '.');
|
||||
float res = args_getFloat(obj->list, argName);
|
||||
double res = args_getFloat(obj->list, argName);
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -895,7 +895,7 @@ void method_returnInt(Args* args, int32_t val) {
|
||||
args_setInt(args, "return", val);
|
||||
}
|
||||
|
||||
void method_returnFloat(Args* args, float val) {
|
||||
void method_returnFloat(Args* args, double val) {
|
||||
args_setFloat(args, "return", val);
|
||||
}
|
||||
|
||||
@ -919,7 +919,7 @@ int32_t method_getInt(Args* args, char* argName) {
|
||||
return args_getInt(args, argName);
|
||||
}
|
||||
|
||||
float method_getFloat(Args* args, char* argName) {
|
||||
double method_getFloat(Args* args, char* argName) {
|
||||
return args_getFloat(args, argName);
|
||||
}
|
||||
|
||||
|
@ -99,14 +99,14 @@ int32_t obj_disable(PikaObj* self);
|
||||
int32_t obj_setInt(PikaObj* self, char* argPath, int64_t val);
|
||||
int32_t obj_setRef(PikaObj* self, char* argPath, void* pointer);
|
||||
int32_t obj_setPtr(PikaObj* self, char* argPath, void* pointer);
|
||||
int32_t obj_setFloat(PikaObj* self, char* argPath, float value);
|
||||
int32_t obj_setFloat(PikaObj* self, char* argPath, double value);
|
||||
int32_t obj_setStr(PikaObj* self, char* argPath, char* str);
|
||||
int32_t obj_setArg(PikaObj* self, char* argPath, Arg* arg);
|
||||
int32_t obj_setArg_noCopy(PikaObj* self, char* argPath, Arg* arg);
|
||||
int32_t obj_setBytes(PikaObj* self, char* argPath, uint8_t* src, size_t size);
|
||||
|
||||
void* obj_getPtr(PikaObj* self, char* argPath);
|
||||
float obj_getFloat(PikaObj* self, char* argPath);
|
||||
double obj_getFloat(PikaObj* self, char* argPath);
|
||||
char* obj_getStr(PikaObj* self, char* argPath);
|
||||
int64_t obj_getInt(PikaObj* self, char* argPath);
|
||||
Arg* obj_getArg(PikaObj* self, char* argPath);
|
||||
@ -172,11 +172,11 @@ uint8_t obj_getAnyArg(PikaObj* self,
|
||||
|
||||
void method_returnStr(Args* args, char* val);
|
||||
void method_returnInt(Args* args, int32_t val);
|
||||
void method_returnFloat(Args* args, float val);
|
||||
void method_returnFloat(Args* args, double val);
|
||||
void method_returnPtr(Args* args, void* val);
|
||||
void method_returnObj(Args* args, void* val);
|
||||
int32_t method_getInt(Args* args, char* argName);
|
||||
float method_getFloat(Args* args, char* argName);
|
||||
double method_getFloat(Args* args, char* argName);
|
||||
char* method_getStr(Args* args, char* argName);
|
||||
void method_returnArg(Args* args, Arg* arg);
|
||||
char* methodArg_getDec(Arg* method_arg);
|
||||
|
@ -1680,14 +1680,14 @@ char* Parser_parsePyLines(Args* outBuffs,
|
||||
while (1) {
|
||||
lines_index++;
|
||||
Args buffs = {0};
|
||||
|
||||
/* get single line by pop multiline */
|
||||
char* line_origin =
|
||||
strsGetFirstToken(&buffs, py_lines + lines_offset, '\n');
|
||||
char* line = line_origin;
|
||||
|
||||
/* support Tab */
|
||||
if (strIsContain(line_origin, '\t')) {
|
||||
line = strsReplace(&buffs, line_origin, "\t", " ");
|
||||
}
|
||||
line = strsReplace(&buffs, line_origin, "\t", " ");
|
||||
/* filter for not end \n */
|
||||
if (lines_index != lines_num) {
|
||||
if (Parser_isVoidLine(line)) {
|
||||
@ -1713,6 +1713,7 @@ char* Parser_parsePyLines(Args* outBuffs,
|
||||
strsDeinit(&buffs);
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (NULL == bytecode_frame) {
|
||||
/* store ASM */
|
||||
asm_buff = arg_strAppend(asm_buff, single_ASM);
|
||||
@ -1720,10 +1721,12 @@ char* Parser_parsePyLines(Args* outBuffs,
|
||||
/* store ByteCode */
|
||||
byteCodeFrame_appendFromAsm(bytecode_frame, single_ASM);
|
||||
}
|
||||
|
||||
next_line:
|
||||
line_size = strGetSize(line_origin);
|
||||
lines_offset = lines_offset + line_size + 1;
|
||||
strsDeinit(&buffs);
|
||||
|
||||
/* exit when finished */
|
||||
if (lines_offset >= lines_size) {
|
||||
break;
|
||||
|
@ -217,16 +217,16 @@ Arg* arg_setNull(Arg* self) {
|
||||
return arg_init("", ARG_TYPE_NULL, NULL, 0, NULL);
|
||||
}
|
||||
|
||||
Arg* arg_setFloat(Arg* self, char* name, float val) {
|
||||
Arg* arg_setFloat(Arg* self, char* name, double val) {
|
||||
return arg_init(name, ARG_TYPE_FLOAT, (uint8_t*)&val, sizeof(val), NULL);
|
||||
}
|
||||
|
||||
float arg_getFloat(Arg* self) {
|
||||
double arg_getFloat(Arg* self) {
|
||||
if (NULL == arg_getContent(self)) {
|
||||
return -999.999;
|
||||
}
|
||||
|
||||
return *(float*)self->content;
|
||||
return *(double*)self->content;
|
||||
}
|
||||
|
||||
Arg* arg_setPtr(Arg* self, char* name, ArgType type, void* pointer) {
|
||||
|
@ -84,13 +84,13 @@ uint16_t arg_getContentSize(Arg* self);
|
||||
Hash hash_time33(char* str);
|
||||
|
||||
Arg* arg_setInt(Arg* self, char* name, int64_t val);
|
||||
Arg* arg_setFloat(Arg* self, char* name, float val);
|
||||
Arg* arg_setFloat(Arg* self, char* name, double val);
|
||||
Arg* arg_setPtr(Arg* self, char* name, ArgType type, void* pointer);
|
||||
Arg* arg_setStr(Arg* self, char* name, char* string);
|
||||
Arg* arg_setNull(Arg* self);
|
||||
|
||||
int64_t arg_getInt(Arg* self);
|
||||
float arg_getFloat(Arg* self);
|
||||
double arg_getFloat(Arg* self);
|
||||
void* arg_getPtr(Arg* self);
|
||||
char* arg_getStr(Arg* self);
|
||||
uint8_t* arg_getBytes(Arg* self);
|
||||
|
@ -41,7 +41,7 @@ void args_deinit_stack(Args* self) {
|
||||
link_deinit_stack(self);
|
||||
}
|
||||
|
||||
int32_t args_setFloat(Args* self, char* name, float argFloat) {
|
||||
int32_t args_setFloat(Args* self, char* name, double argFloat) {
|
||||
Arg* argNew = New_arg(NULL);
|
||||
argNew = arg_setFloat(argNew, name, argFloat);
|
||||
args_setArg(self, argNew);
|
||||
@ -176,7 +176,7 @@ ArgType args_getType(Args* self, char* name) {
|
||||
return arg_getType(arg);
|
||||
}
|
||||
|
||||
float args_getFloat(Args* self, char* name) {
|
||||
double args_getFloat(Args* self, char* name) {
|
||||
Arg* arg = args_getArg(self, name);
|
||||
if (NULL == arg) {
|
||||
return -999999999.0;
|
||||
@ -388,7 +388,7 @@ char* getPrintStringFromInt(Args* self, char* name, int32_t val) {
|
||||
return res;
|
||||
}
|
||||
|
||||
char* getPrintStringFromFloat(Args* self, char* name, float val) {
|
||||
char* getPrintStringFromFloat(Args* self, char* name, double val) {
|
||||
Args buffs = {0};
|
||||
char* res = NULL;
|
||||
char* valString = strsFormat(&buffs, 32, "%f", val);
|
||||
@ -424,7 +424,7 @@ char* args_print(Args* self, char* name) {
|
||||
}
|
||||
|
||||
if (type == ARG_TYPE_FLOAT) {
|
||||
float val = args_getFloat(self, name);
|
||||
double val = args_getFloat(self, name);
|
||||
res = getPrintStringFromFloat(self, name, val);
|
||||
goto exit;
|
||||
}
|
||||
|
@ -60,9 +60,9 @@ int32_t args_setStr(Args* self, char* name, char* strIn);
|
||||
int32_t args_setStrWithDefaultName(Args* self, char* strIn);
|
||||
char* args_getStr(Args* self, char* name);
|
||||
|
||||
int32_t args_setFloatWithDefaultName(Args* self, float argFloat);
|
||||
int32_t args_setFloat(Args* self, char* name, float argFloat);
|
||||
float args_getFloat(Args* self, char* name);
|
||||
int32_t args_setFloatWithDefaultName(Args* self, double argFloat);
|
||||
int32_t args_setFloat(Args* self, char* name, double argFloat);
|
||||
double args_getFloat(Args* self, char* name);
|
||||
|
||||
int32_t args_setRef(Args* self, char* name, void* argPointer);
|
||||
int32_t args_setPtr(Args* self, char* name, void* argPointer);
|
||||
@ -71,11 +71,6 @@ void* args_getPtr(Args* self, char* name);
|
||||
int32_t args_setInt(Args* self, char* name, int64_t int64In);
|
||||
int64_t args_getInt(Args* self, char* name);
|
||||
|
||||
void args_bindInt(Args* self, char* name, int32_t* intPtr);
|
||||
void args_bindFloat(Args* self, char* name, float* floatPtr);
|
||||
void args_bindStr(Args* self, char* name, char** stringPtr);
|
||||
/* arg general opeartion */
|
||||
void args_bind(Args* self, char* type, char* name, void* pointer);
|
||||
char* args_print(Args* self, char* name);
|
||||
|
||||
int32_t args_setStructWithSize(Args* self,
|
||||
|
@ -106,11 +106,11 @@ int64_t queue_popInt(Queue* queue) {
|
||||
return arg_getInt(__queue_popArg_noRmoveArg(queue));
|
||||
}
|
||||
|
||||
int32_t queue_pushFloat(Queue* queue, float val) {
|
||||
int32_t queue_pushFloat(Queue* queue, double val) {
|
||||
return queue_pushArg(queue, arg_setFloat(NULL, "", val));
|
||||
}
|
||||
|
||||
float queue_popFloat(Queue* queue) {
|
||||
double queue_popFloat(Queue* queue) {
|
||||
return arg_getFloat(__queue_popArg_noRmoveArg(queue));
|
||||
}
|
||||
|
||||
|
@ -34,13 +34,13 @@ Queue* New_queue(void);
|
||||
|
||||
int32_t queue_deinit(Queue* queue);
|
||||
int32_t queue_pushInt(Queue* queue, int val);
|
||||
int32_t queue_pushFloat(Queue* queue, float val);
|
||||
int32_t queue_pushFloat(Queue* queue, double val);
|
||||
int32_t queue_pushStr(Queue* queue, char* str);
|
||||
int32_t queue_pushArg(Queue* queue, Arg* arg);
|
||||
char* fast_itoa(char* buf, uint32_t val);
|
||||
|
||||
int64_t queue_popInt(Queue* queue);
|
||||
float queue_popFloat(Queue* queue);
|
||||
double queue_popFloat(Queue* queue);
|
||||
char* queue_popStr(Queue* queue);
|
||||
Arg* queue_popArg(Queue* queue);
|
||||
Arg* queue_popArg_notDeinitArg(Queue* queue);
|
||||
|
@ -86,7 +86,7 @@ int64_t queueObj_popInt(QueueObj* self) {
|
||||
return res;
|
||||
}
|
||||
|
||||
int32_t queueObj_pushFloat(QueueObj* self, float val) {
|
||||
int32_t queueObj_pushFloat(QueueObj* self, double val) {
|
||||
uint64_t top = obj_getInt(self, "top");
|
||||
char buff[11];
|
||||
char* topStr = fast_itoa(buff, top);
|
||||
@ -95,13 +95,13 @@ int32_t queueObj_pushFloat(QueueObj* self, float val) {
|
||||
return obj_setFloat(self, topStr, val);
|
||||
}
|
||||
|
||||
float queueObj_popFloat(QueueObj* self) {
|
||||
double queueObj_popFloat(QueueObj* self) {
|
||||
uint64_t bottom = obj_getInt(self, "bottom");
|
||||
char buff[11];
|
||||
char* bottomStr = fast_itoa(buff, bottom);
|
||||
/* add bottom */
|
||||
obj_setInt(self, "bottom", bottom + 1);
|
||||
float res = obj_getFloat(self, bottomStr);
|
||||
double res = obj_getFloat(self, bottomStr);
|
||||
obj_removeArg(self, bottomStr);
|
||||
return res;
|
||||
}
|
||||
|
@ -34,12 +34,12 @@ QueueObj* New_queueObj(void);
|
||||
int32_t queueObj_init(QueueObj* self);
|
||||
|
||||
int32_t queueObj_pushInt(QueueObj* self, int val);
|
||||
int32_t queueObj_pushFloat(QueueObj* self, float val);
|
||||
int32_t queueObj_pushFloat(QueueObj* self, double val);
|
||||
int32_t queueObj_pushStr(QueueObj* self, char* str);
|
||||
int32_t queueObj_pushObj(QueueObj* self, char* className);
|
||||
|
||||
int64_t queueObj_popInt(QueueObj* self);
|
||||
float queueObj_popFloat(QueueObj* self);
|
||||
double queueObj_popFloat(QueueObj* self);
|
||||
char* queueObj_popStr(QueueObj* self);
|
||||
PikaObj* queueObj_popObj(QueueObj* self);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user