fixed compiler warnings for release builds
This commit is contained in:
+57
-55
@@ -28,70 +28,72 @@
|
||||
** +--------------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include "math.h"
|
||||
#include "../utils/defs.h"
|
||||
|
||||
#define WRAP_FUNC(name) \
|
||||
static int bin_ ## name(Runtime *runtime, Object **argv, unsigned int argc, Object **rets, unsigned int maxretc, Error *error) \
|
||||
{ \
|
||||
assert(argc == 1); \
|
||||
\
|
||||
if(Object_IsFloat(argv[0])) \
|
||||
{ \
|
||||
double v = Object_ToFloat(argv[0], error); \
|
||||
\
|
||||
if(error->occurred) \
|
||||
return -1; \
|
||||
\
|
||||
if(maxretc > 0) \
|
||||
{ \
|
||||
rets[0] = Object_FromFloat(name(v), Runtime_GetHeap(runtime), error); \
|
||||
if(rets[0] == NULL) \
|
||||
return -1; \
|
||||
return 1; \
|
||||
} \
|
||||
return 0; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
Error_Report(error, 0, "Expected first argument to be a float, but it's a %s", Object_GetName(argv[0]));\
|
||||
return -1; \
|
||||
} \
|
||||
{ \
|
||||
UNUSED(argc); \
|
||||
ASSERT(argc == 1); \
|
||||
\
|
||||
if(Object_IsFloat(argv[0])) \
|
||||
{ \
|
||||
double v = Object_ToFloat(argv[0], error); \
|
||||
\
|
||||
if(error->occurred) \
|
||||
return -1; \
|
||||
\
|
||||
if(maxretc > 0) \
|
||||
{ \
|
||||
rets[0] = Object_FromFloat(name(v), Runtime_GetHeap(runtime), error); \
|
||||
if(rets[0] == NULL) \
|
||||
return -1; \
|
||||
return 1; \
|
||||
} \
|
||||
return 0; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
Error_Report(error, 0, "Expected first argument to be a float, but it's a %s", Object_GetName(argv[0])); \
|
||||
return -1; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define WRAP_FUNC_2(name) \
|
||||
static int bin_ ## name(Runtime *runtime, Object **argv, unsigned int argc, Object **rets, unsigned int maxretc, Error *error) \
|
||||
{ \
|
||||
assert(argc == 2); \
|
||||
\
|
||||
if(!Object_IsFloat(argv[0])) \
|
||||
{ \
|
||||
Error_Report(error, 0, "Expected first argument to be a float, but it's a %s", Object_GetName(argv[0]));\
|
||||
return -1; \
|
||||
} \
|
||||
\
|
||||
if(!Object_IsFloat(argv[1])) \
|
||||
{ \
|
||||
Error_Report(error, 0, "Expected second argument to be a float, but it's a %s", Object_GetName(argv[1]));\
|
||||
return -1; \
|
||||
} \
|
||||
\
|
||||
double v1 = Object_ToFloat(argv[0], error); \
|
||||
\
|
||||
if(error->occurred) \
|
||||
return -1; \
|
||||
\
|
||||
double v2 = Object_ToFloat(argv[1], error); \
|
||||
\
|
||||
if(error->occurred) \
|
||||
return -1; \
|
||||
\
|
||||
Object *res = Object_FromFloat(name(v1, v2), Runtime_GetHeap(runtime), error); \
|
||||
if(res == NULL) return -1; \
|
||||
if(maxretc == 0) return 0; \
|
||||
rets[0] = res; \
|
||||
return 1; \
|
||||
{ \
|
||||
UNUSED(argc); \
|
||||
ASSERT(argc == 2); \
|
||||
\
|
||||
if(!Object_IsFloat(argv[0])) \
|
||||
{ \
|
||||
Error_Report(error, 0, "Expected first argument to be a float, but it's a %s", Object_GetName(argv[0])); \
|
||||
return -1; \
|
||||
} \
|
||||
\
|
||||
if(!Object_IsFloat(argv[1])) \
|
||||
{ \
|
||||
Error_Report(error, 0, "Expected second argument to be a float, but it's a %s", Object_GetName(argv[1])); \
|
||||
return -1; \
|
||||
} \
|
||||
\
|
||||
double v1 = Object_ToFloat(argv[0], error); \
|
||||
\
|
||||
if(error->occurred) \
|
||||
return -1; \
|
||||
\
|
||||
double v2 = Object_ToFloat(argv[1], error); \
|
||||
\
|
||||
if(error->occurred) \
|
||||
return -1; \
|
||||
\
|
||||
Object *res = Object_FromFloat(name(v1, v2), Runtime_GetHeap(runtime), error); \
|
||||
if(res == NULL) return -1; \
|
||||
if(maxretc == 0) return 0; \
|
||||
rets[0] = res; \
|
||||
return 1; \
|
||||
}
|
||||
|
||||
WRAP_FUNC(ceil)
|
||||
|
||||
Reference in New Issue
Block a user