Sorry if this is hijacking the thread, but I'm wondering is there a way to 
force integer overflow? I think it would be useful for things like sliding 
window protocols.

Also, is there a way to release julia code that works on both 32 bit and 64 
bit machines? (it sounds like annotating types as 32-bit isn't enough)

Great language by the way!

On Saturday, March 1, 2014 6:30:00 PM UTC-5, Stefan Karpinski wrote:
>
> There's been many discussions of this before. The basic premise is simple: 
> all integer arithmetic is done in your native word size. When you store 
> that result somewhere, it is converted to the storage type. Since you can 
> do most operations on Int64s and then convert to Int32 and get the exact 
> same answer, this works out fine. I have yet to hear a really convincing 
> argument for why we shouldn't just do everything in native int size.
>
>
> On Sat, Mar 1, 2014 at 6:26 PM, Stefan Karpinski 
> <ste...@karpinski.org<javascript:>
> > wrote:
>
>> On Fri, Feb 28, 2014 at 8:49 AM, andrew cooke <and...@acooke.org<javascript:>
>> > wrote:
>>
>>> defining
>>>   Base.promote_rule(::Type{Int32}, ::Type{Int32}) = Int32
>>> doesn't help either, and i'm not sure why.
>>>
>>
>> Promotion only applies when the types don't already have the same type. 
>> When you write int32(1) + int32(2) you call this method: 
>> https://github.com/JuliaLang/julia/blob/master/base/int.jl#L16, which 
>> explicitly converts the values to your native Int type and then does the 
>> work.
>>  
>
>

Reply via email to