use double in ARG_FLOAT

This commit is contained in:
pikastech 2022-06-10 09:29:49 +08:00
parent 65e6899cc2
commit 83b3611c4a
12 changed files with 37 additions and 39 deletions

View File

@ -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);

View File

@ -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);
}

View File

@ -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);

View File

@ -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", " ");
}
/* 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;

View File

@ -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) {

View File

@ -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);

View File

@ -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;
}

View File

@ -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,

View File

@ -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));
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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);