[ 
https://issues.apache.org/jira/browse/OFBIZ-9567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16121311#comment-16121311
 ] 

Jacques Le Roux commented on OFBIZ-9567:
----------------------------------------

Hi Dennis,

Why did you decide to remove parenthesis in {{serviceRate = (rate * smoothing) 
+ (serviceRate * (1.0 - smoothing));}} ?

I find it easier to read like that. Disclaimer, I have been mostly using the 
[APL language|https://en.wikipedia.org/wiki/APL_(programming_language)] during 
my 1st 20 years of preogramming. In APL there is no notion of precedence, all 
expressions are evaluated from right to left (somehow like in Polish notation). 
So I have always find uneasy to read complicated algebric expressions in other 
languages ;)

> [FB] Package org.apache.ofbiz.base.metrics
> ------------------------------------------
>
>                 Key: OFBIZ-9567
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9567
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: base
>    Affects Versions: Trunk
>            Reporter: Dennis Balkir
>            Assignee: Jacques Le Roux
>            Priority: Minor
>         Attachments: OFBIZ-9567_org.apache.ofbiz.base.metrics_bugfixes.patch
>
>
> - MetricsFactory.java:236, ICAST_IDIV_CAST_TO_DOUBLE
> ICAST: Integral division result cast to double or float in 
> org.apache.ofbiz.base.metrics.MetricsFactory$MetricsImpl.recordServiceRate(int,
>  long)
> This code casts the result of an integral division (e.g., int or long 
> division) operation to double or float. Doing division on integers truncates 
> the result to the integer value closest to zero. The fact that the result was 
> cast to double suggests that this precision should have been retained. What 
> was probably meant was to cast one or both of the operands to double before 
> performing the division. Here is an example:
> int x = 2;
> int y = 5;
> // Wrong: yields result 0.0
> double value1 =  x / y;
> // Right: yields result 0.4
> double value2 =  x / (double) y;



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to