1589
1590 res_sval->type = NULL;
1591
1592 if (!get_rl_sval(expr, RL_IMPLIED, recurse_cnt, &rl, res_sval))
1593 return false;
1594 if (!res_sval->type && !rl_to_sval(rl, res_sval))
1595 return false;
1596 return true;
1597 }
1598
1599 int get_implied_value(struct expression *expr, sval_t *sval)
1600 {
1601 struct range_list *rl;
1602
1603 if (!get_rl_helper(expr, RL_IMPLIED, &rl) ||
1604 !rl_to_sval(rl, sval))
1605 return 0;
1606 return 1;
1607 }
1608
1609 int get_implied_min(struct expression *expr, sval_t *sval)
1610 {
1611 struct range_list *rl;
1612
1613 if (!get_rl_helper(expr, RL_IMPLIED, &rl) || !rl)
1614 return 0;
1615 *sval = rl_min(rl);
1616 return 1;
1617 }
1618
1619 int get_implied_max(struct expression *expr, sval_t *sval)
1620 {
1621 struct range_list *rl;
1622
1623 if (!get_rl_helper(expr, RL_IMPLIED, &rl) || !rl)
1624 return 0;
1625 *sval = rl_max(rl);
1626 return 1;
1627 }
1628
|
1589
1590 res_sval->type = NULL;
1591
1592 if (!get_rl_sval(expr, RL_IMPLIED, recurse_cnt, &rl, res_sval))
1593 return false;
1594 if (!res_sval->type && !rl_to_sval(rl, res_sval))
1595 return false;
1596 return true;
1597 }
1598
1599 int get_implied_value(struct expression *expr, sval_t *sval)
1600 {
1601 struct range_list *rl;
1602
1603 if (!get_rl_helper(expr, RL_IMPLIED, &rl) ||
1604 !rl_to_sval(rl, sval))
1605 return 0;
1606 return 1;
1607 }
1608
1609 int get_implied_value_fast(struct expression *expr, sval_t *sval)
1610 {
1611 struct range_list *rl;
1612 static int recurse;
1613 int ret = 0;
1614
1615 if (recurse)
1616 return 0;
1617
1618 recurse = 1;
1619 set_fast_math_only();
1620 if (get_rl_helper(expr, RL_IMPLIED, &rl) &&
1621 rl_to_sval(rl, sval))
1622 ret = 1;
1623 clear_fast_math_only();
1624 recurse = 0;
1625
1626 return ret;
1627 }
1628
1629 int get_implied_min(struct expression *expr, sval_t *sval)
1630 {
1631 struct range_list *rl;
1632
1633 if (!get_rl_helper(expr, RL_IMPLIED, &rl) || !rl)
1634 return 0;
1635 *sval = rl_min(rl);
1636 return 1;
1637 }
1638
1639 int get_implied_max(struct expression *expr, sval_t *sval)
1640 {
1641 struct range_list *rl;
1642
1643 if (!get_rl_helper(expr, RL_IMPLIED, &rl) || !rl)
1644 return 0;
1645 *sval = rl_max(rl);
1646 return 1;
1647 }
1648
|