Upon further research looks like:
=> *(/ 1 0.0)*
Infinity
triggers this method: clojure.lang.Numbers.*divide(long, double)*
*static public double divide(long x, double y){
    return x / y;
}*


=>* (/ 1.0 0)*
Infinity
triggers this method: clojure.lang.Numbers.*divide(double, long)*
*static public double divide(double x, long y){
    return x / y;
}*

=> *(/ 1 0)*
ArithmeticException Divide by zero  clojure.lang.Numbers.divide
(Numbers.java:157)
triggers this method: clojure.lang.Numbers.*divide(Object, Object)*
*static public Number divide(Object x, Object y){
    Ops yops = ops(y);
    if(yops.isZero((Number)y))
        throw new ArithmeticException("Divide by zero");
    return ops(x).combine(yops).divide((Number)x, (Number)y);
}*

On Tue, Oct 30, 2012 at 8:20 PM, AtKaaZ <atk...@gmail.com> wrote:

> As I tested, looks like when either of the args are double ie. 1.0 instead
> of 1
> then the code that checks for and shows divide by zero is not reached,
> which is this code:
> static public Number divide(Object x, Object y){
>     Ops yops = ops(y);
>     if(yops.isZero((Number)y))
>         throw new ArithmeticException("Divide by zero");
>     return ops(x).combine(yops).divide((Number)x, (Number)y);
>
> }
>
>
>
> On Tue, Oct 30, 2012 at 3:52 PM, Tim Olsen <t...@brooklynpenguin.com>wrote:
>
>> Hello Clojurians.
>>
>> Normally by some IEEE floating-point standard, division by 0.0 should
>> give Infinity (or NaN if the divisor is also 0.0).  This is the case
>> when using primitive doubles in clojure:
>>
>> (/ 1.0 0.0)
>> => Infinity
>>
>> And even when using boxed Doubles in java:
>>
>> public class BoxedDoubleDivideZero {
>>
>>     public static void main(String[] args) {
>>         Double a = new Double(4.0);
>>         Double b = new Double(0.0);
>>
>>         System.out.println(a/b);
>>     }
>> }
>>
>> $ javac BoxedDoubleDivideZero.java
>> $ java BoxedDoubleDivideZero
>> Infinity
>>
>> But it is not the case when using boxed Doubles in clojure:
>>
>> (/ (Double. 1.0) (Double. 0.0))
>> ArithmeticException Divide by zero  clojure.lang.Numbers.divide
>> (Numbers.java:156)
>>
>> Is this considered a bug or feature?
>>
>> Thanks,
>> Tim
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>>
>
>
>
> --
> I may be wrong or incomplete.
> Please express any corrections / additions,
> they are encouraged and appreciated.
> At least one entity is bound to be transformed if you do ;)
>
>


-- 
I may be wrong or incomplete.
Please express any corrections / additions,
they are encouraged and appreciated.
At least one entity is bound to be transformed if you do ;)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to