Float32 is fine, although better would be to make Data a parametric type:

type Data{T<:FloatingPoint}
    cum::Array{T, 1}
    i::Int
end

With integers, it's best to use Int because that will ensure you're using 
native arithmetic, no matter which platform you're on. Int = Int32 on 32-bit, 
Int = Int64 on 64-bit.

--Tim

On Monday, May 12, 2014 10:27:56 PM cnbiz850 wrote:
> I am on 64bits Ubuntu.  Should I better not use type 32 (Float32, Int32
> etc.) on 64bit system?
> 
> On 05/12/2014 10:23 PM, Tim Holy wrote:
> > Are you on 32 bit or 64 bit? If 64, an Int32 +/- 1 generates an Int64. Why
> > not just declare i to be an Int?
> > 
> > --Tim
> > 
> > On Monday, May 12, 2014 09:53:50 PM cnbiz850 wrote:
> >> Profile shows the two lines in the function being very expensive. Is
> >> there anything inappropriate?  Any way to improve?
> >> 
> >> function NoUpdate(data::Data)
> >> 
> >>       data.cum[data.i] = data.cum[data.i-1]
> >>       data.i += 1
> >> 
> >> end
> >> 
> >> type Data
> >> 
> >>       cum::Array{Float32,1}
> >>       i::Int32
> >>       ...
> >> 
> >> end

Reply via email to