55 return (arg->internal >= 0)
100 for (sum = 0, n = 1; n <= x->
argc; n++) {
103 (arg->internal < 0 && (sum < AFW_INTEGER_MIN - arg->
internal)))
107 sum += arg->internal;
156 if (arg2->internal == 0) {
161 arg1->internal / arg2->internal,
208 if (arg2->internal == 0) {
213 arg1->internal % arg2->internal,
257 for (result = 1, next = 1, n = 1; n <= x->
argc; n++) {
259 next *= arg->internal;
260 if (result != 0 && next / result != arg->internal) {
313 if ((-arg2->internal < 0 && (arg1->internal <
AFW_INTEGER_MIN - -arg2->internal)) ||
314 (-arg2->internal > 0 && (arg1->internal >
AFW_INTEGER_MAX - -arg2->internal)))
320 arg1->internal - arg2->internal,
Adaptive Framework Core Internal.
afw_value_create_double(double internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type double value.
afw_value_create_integer(afw_integer_t internal, const afw_pool_t *p, afw_xctx_t *xctx)
Create function for unmanaged data type integer value.
double afw_double_t
Normal AFW number is double.
apr_size_t afw_size_t
size_t.
#define AFW_INTEGER_MAX
largest afw_integer_t
#define AFW_INTEGER_MIN
smallest afw_integer_t
apr_int64_t afw_integer_t
typedef for big signed int.
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
#define AFW_FUNCTION_EVALUATE_REQUIRED_DATA_TYPE_PARAMETER(A_RESULT, A_N, A_TYPE)
Evaluate an arg for a particular data type.
const afw_value_t * afw_function_execute_multiply_integer(afw_function_execute_t *x)
Adaptive Function multiply<integer>
const afw_value_t * afw_function_execute_divide_integer(afw_function_execute_t *x)
Adaptive Function divide<integer>
const afw_value_t * afw_function_execute_subtract_integer(afw_function_execute_t *x)
Adaptive Function subtract<integer>
const afw_value_t * afw_function_execute_negative_integer(afw_function_execute_t *x)
Adaptive Function negative<integer>
const afw_value_t * afw_function_execute_mod_integer(afw_function_execute_t *x)
Adaptive Function mod<integer>
const afw_value_t * afw_function_execute_abs_integer(afw_function_execute_t *x)
Adaptive Function abs<integer>
const afw_value_t * afw_function_execute_add_integer(afw_function_execute_t *x)
Adaptive Function add<integer>
const afw_value_t * afw_function_execute_to_double_integer(afw_function_execute_t *x)
Function implementation function afw_function_execute_to_double_integer.
Function execute parameter.
afw_xctx_t * xctx
The execution context (xctx) of caller.
const afw_pool_t * p
Pool for result.
afw_size_t argc
This is the argv count not counting argv[0].
struct for data type integer values.
Interface afw_value public struct.