This doesn't address your bigger question, but for truncating division by n I usually use b[i] = div(A[i], convert(eltype(A), n)). For the particular case of dividing by 2, an even better choice is b[i] = A[i] >> 1.
--Tim On Friday, April 04, 2014 02:09:24 AM Carlos Becker wrote: > I've seen previous posts in this list about this, but either I missed some > of them or this particular issue is not addressed. I apologize if it is the > former. > > I have a Uint8 array and I want to divide (still in Uint8) by 2. This is > very handy when dealing with large images: no need to use more memory than > needed. > So, for example: > > A = rand(Uint8, (100,100)); # simulated image > > b = A / uint8(2) > > typeof( b ) # ==> returns Array{Float32,2} > > > I understand why one may want that, but is there a way to override it and > do the plain, element-wise uint8-by-uint8 division? > (ie ignore promotion rules) > > Thanks.