|
DTNMA Reference Tools v2.2.0 - 5.ga116361
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "cace/ari/base.h"
Include dependency graph for numeric.h:
This graph shows which files directly or indirectly include this file:Data Structures | |
| struct | cace_numeric_binary_desc_t |
| Descriptor for numeric binary operators. More... | |
| struct | cace_numeric_compare_desc_t |
| Descriptor for numeric binary operators. More... | |
Functions | |
| int | cace_numeric_integer_binary_operator (cace_ari_t *result, const cace_ari_t *lt_val, const cace_ari_t *rt_val, const cace_numeric_binary_desc_t *desc) |
| Execute a numeric operation accepting two integers. | |
| int | cace_numeric_binary_operator (cace_ari_t *result, const cace_ari_t *lt_val, const cace_ari_t *rt_val, const cace_numeric_binary_desc_t *desc) |
| Execute a numeric operation accepting two parameters. | |
| int | cace_numeric_compare_operator (cace_ari_t *result, const cace_ari_t *lt_val, const cace_ari_t *rt_val, const cace_numeric_compare_desc_t *desc) |
| Compare two numeric values. | |
| bool | cace_numeric_is_zero (const cace_ari_t *val) |
| Determine if given value is zero. | |
| bool | cace_has_numeric_prim_type (const cace_ari_t *obj) |
| Determine if given object is using a numeric primitive type. | |
| bool cace_has_numeric_prim_type | ( | const cace_ari_t * | obj | ) |
Determine if given object is using a numeric primitive type.
| [in] | val | Input object. |
References cace_ari_t::as_lit, CACE_ARI_PRIM_FLOAT64, CACE_ARI_PRIM_INT64, CACE_ARI_PRIM_UINT64, CHKERR1, and cace_ari_lit_t::prim_type.
Referenced by numeric_div_timespec(), and numeric_mul_timespec().
| int cace_numeric_binary_operator | ( | cace_ari_t * | result, |
| const cace_ari_t * | lt_val, | ||
| const cace_ari_t * | rt_val, | ||
| const cace_numeric_binary_desc_t * | desc | ||
| ) |
Execute a numeric operation accepting two parameters.
| [out] | result | Output value. |
| [in] | lt_val | The left input value. |
| [in] | rt_val | The right input value. |
| [in] | desc | The operator descriptor, with all functions needed. |
References cace_ari_lit_t::ari_type, cace_ari_prim_val_u::as_float64, cace_ari_prim_val_u::as_int64, cace_ari_t::as_lit, cace_ari_prim_val_u::as_uint64, cace_numeric_binary_desc_t::binop_real64, cace_numeric_binary_desc_t::binop_timespec, cace_numeric_binary_desc_t::binop_uvast, cace_numeric_binary_desc_t::binop_vast, cace_amm_promote_deinit(), cace_amm_promote_eqiv_lit_type(), cace_amm_promote_init(), cace_amm_promote_process(), cace_ari_deinit(), cace_ari_init_lit(), cace_ari_is_undefined(), CACE_ARI_PRIM_FLOAT64, CACE_ARI_PRIM_INT64, CACE_ARI_PRIM_UINT64, CACE_ARI_TYPE_TD, CACE_ARI_TYPE_TP, CHKERR1, cace_amm_promote_state_t::common, cace_ari_lit_t::has_ari_type, cace_amm_promote_state_t::lt_use, cace_ari_lit_t::prim_type, cace_amm_promote_state_t::rt_use, and cace_ari_lit_t::value.
Referenced by refda_adm_ietf_dtnma_agent_oper_add(), refda_adm_ietf_dtnma_agent_oper_divide(), refda_adm_ietf_dtnma_agent_oper_multiply(), refda_adm_ietf_dtnma_agent_oper_remainder(), and refda_adm_ietf_dtnma_agent_oper_sub().
| int cace_numeric_compare_operator | ( | cace_ari_t * | result, |
| const cace_ari_t * | lt_val, | ||
| const cace_ari_t * | rt_val, | ||
| const cace_numeric_compare_desc_t * | desc | ||
| ) |
Compare two numeric values.
| [out] | result | Output result as a boolean. |
| [in] | lt_val | The left input value. |
| [in] | rt_val | The right input value. |
| [in] | desc | The operator descriptor, with all functions needed. |
References cace_ari_prim_val_u::as_float64, cace_ari_prim_val_u::as_int64, cace_ari_t::as_lit, cace_ari_prim_val_u::as_timespec, cace_ari_prim_val_u::as_uint64, cace_numeric_compare_desc_t::binop_real64, cace_numeric_compare_desc_t::binop_timespec, cace_numeric_compare_desc_t::binop_uvast, cace_numeric_compare_desc_t::binop_vast, cace_amm_promote_deinit(), cace_amm_promote_init(), cace_amm_promote_process(), CACE_ARI_PRIM_FLOAT64, CACE_ARI_PRIM_INT64, CACE_ARI_PRIM_TIMESPEC, CACE_ARI_PRIM_UINT64, cace_ari_set_bool(), CHKERR1, cace_amm_promote_state_t::lt_use, cace_ari_lit_t::prim_type, cace_amm_promote_state_t::rt_use, and cace_ari_lit_t::value.
Referenced by refda_adm_ietf_dtnma_agent_oper_compare_eq(), refda_adm_ietf_dtnma_agent_oper_compare_ge(), refda_adm_ietf_dtnma_agent_oper_compare_gt(), refda_adm_ietf_dtnma_agent_oper_compare_le(), refda_adm_ietf_dtnma_agent_oper_compare_lt(), and refda_adm_ietf_dtnma_agent_oper_compare_ne().
| int cace_numeric_integer_binary_operator | ( | cace_ari_t * | result, |
| const cace_ari_t * | lt_val, | ||
| const cace_ari_t * | rt_val, | ||
| const cace_numeric_binary_desc_t * | desc | ||
| ) |
Execute a numeric operation accepting two integers.
| [out] | result | Output value. |
| [in] | lt_val | The left input value. |
| [in] | rt_val | The right input value. |
| [in] | desc | The operator descriptor, with only uvast and vast functions needed. |
References cace_ari_lit_t::ari_type, cace_ari_prim_val_u::as_int64, cace_ari_t::as_lit, cace_ari_prim_val_u::as_uint64, cace_numeric_binary_desc_t::binop_uvast, cace_numeric_binary_desc_t::binop_vast, cace_amm_promote_deinit(), cace_amm_promote_init(), cace_amm_promote_process(), cace_ari_deinit(), cace_ari_init_lit(), CACE_ARI_PRIM_INT64, CACE_ARI_PRIM_UINT64, CHKERR1, cace_amm_promote_state_t::common, cace_ari_lit_t::has_ari_type, cace_amm_promote_state_t::lt_use, cace_ari_lit_t::prim_type, cace_amm_promote_state_t::rt_use, and cace_ari_lit_t::value.
Referenced by refda_adm_ietf_dtnma_agent_oper_bit_and(), refda_adm_ietf_dtnma_agent_oper_bit_or(), and refda_adm_ietf_dtnma_agent_oper_bit_xor().
| bool cace_numeric_is_zero | ( | const cace_ari_t * | val | ) |
Determine if given value is zero.
| [in] | val | Input value. |
References cace_ari_prim_val_u::as_float64, cace_ari_prim_val_u::as_int64, cace_ari_t::as_lit, cace_ari_prim_val_u::as_uint64, CACE_ARI_PRIM_FLOAT64, CACE_ARI_PRIM_INT64, CACE_ARI_PRIM_UINT64, CHKERR1, cace_ari_lit_t::prim_type, and cace_ari_lit_t::value.
Referenced by refda_adm_ietf_dtnma_agent_oper_divide(), and refda_adm_ietf_dtnma_agent_oper_remainder().