From 7f5e9fa22568009adefa72b5072f51c8afc0968f Mon Sep 17 00:00:00 2001 From: murf Date: Wed, 11 Jul 2007 18:11:44 +0000 Subject: further reversion of previously applied floating point stuff for expr2 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@74628 f38db490-d61c-443f-a65b-d21fe96a405b --- UPGRADE.txt | 6 ------ doc/channelvariables.txt | 21 +++++++-------------- utils/expr2.testinput | 4 ---- 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/UPGRADE.txt b/UPGRADE.txt index 48954e496..5be1a7f3c 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -101,12 +101,6 @@ PBX Core: if your dialplan relies on the ability to 'run off the end' of an extension and wait for a new extension without using WaitExten() to accomplish that, you will need set autofallthrough to 'no' in your extensions.conf file. - -* The ast_expr2 stuff has been modified to handle floating-point numbers. - Numbers of the format D.D are now acceptable input for the expr parser, - Where D is a string of base-10 digits. All math is now done in "long double", - if it is available on your compiler/architecture. This was half-way between - a bug-fix (because the MATH func returns fp by default), and an enhancement. Command Line Interface: diff --git a/doc/channelvariables.txt b/doc/channelvariables.txt index 6c501ae52..761516fa7 100644 --- a/doc/channelvariables.txt +++ b/doc/channelvariables.txt @@ -212,19 +212,19 @@ with equal precedence are grouped within { } symbols. an empty string or zero; otherwise, returns zero. expr1 {=, >, >=, <, <=, !=} expr2 - Return the results of floating pt. comparison if both arguments are - numbers; otherwise, returns the results of string comparison + Return the results of integer comparison if both arguments are + integers; otherwise, returns the results of string comparison using the locale-specific collation sequence. The result of each comparison is 1 if the specified relation is true, or 0 if the relation is false. expr1 {+, -} expr2 - Return the results of addition or subtraction of + Return the results of addition or subtraction of integer-valued arguments. expr1 {*, /, %} expr2 - Return the results of multiplication, division, or - remainder of arguments. (floating point [long double if possible]). + Return the results of multiplication, integer division, or + remainder of integer-valued arguments. - expr1 Return the result of subtracting expr1 from 0. @@ -322,13 +322,10 @@ __________________________ NUMBERS VS STRINGS -------------------------- -Tokens consisting only of numbers are converted to long doubles for -most of the operators (80-128 bits, depending on the compiler/platform/etc). -This means that overflows can occur when the +Tokens consisting only of numbers are converted to 64-bit numbers for +most of the operators. This means that overflows can occur when the numbers get above 18 digits. Warnings will appear in the logs in this case. -If "long double" is not available, then "double" is used (usually 64 bit floating -point numbers). ___________________________ CONDITIONALS --------------------------- @@ -487,10 +484,6 @@ of possible concern with "legacy" extension.conf files: 9. Unary operators '-' and '!' were made right associative. -10. All arithmetic operations are now done in floating point (long double - if possible, plain double otherwise). - - -------------------------------------------------------- DEBUGGING HINTS FOR $[ ] EXPRESSIONS -------------------------------------------------------- diff --git a/utils/expr2.testinput b/utils/expr2.testinput index 0dfc862bc..948baaf94 100644 --- a/utils/expr2.testinput +++ b/utils/expr2.testinput @@ -90,7 +90,3 @@ x != x 3 something 043 -2.1+4.2 -1.500003+1.4999999999999898989898989898989898989889898 -1/4 - -- cgit v1.2.3