mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
further reversion of previously applied floating point stuff for expr2
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -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:
|
||||
|
||||
|
@@ -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
|
||||
--------------------------------------------------------
|
||||
|
@@ -90,7 +90,3 @@ x != x
|
||||
3
|
||||
something
|
||||
043
|
||||
2.1+4.2
|
||||
1.500003+1.4999999999999898989898989898989898989889898
|
||||
1/4
|
||||
|
||||
|
Reference in New Issue
Block a user