Thanks, guys! hrm, I am a little disappointed to realize that, although I'm on a 32-bit system, 'real' maps to 'double' rather than 'single' ... and it is a bit slower, too. So I guess I'll use single for now.
an fpc bsr function would be nice, but I'm gonna stick with compatible code. I do realize that allocating by doubling size is memory intensive, but it's just for the rapid growth part-- once the array is populated, I shrink it down to its precise size. Cheers, David. On Sat 10 Oct 2009, David Emerson wrote: > 1. Is there a way to get the highest and lowest real values? I can do > high(longint) but high(real) gives me an error. Also of interest is a > low(real) value (-m * 10^n) as distinct from the smallest real value > (m * 10^-n) > > 2. For the purposes of reserving memory in block sizes that can be > easily reallocated, I like to use powers of two. So if I have, e.g., a > dynamic array, I might start with a size of 1024 and then double it > when it hits capacity. Hopefully this smoothes memory management, as I > am using a lot of memory... > > Anyway, what I'd like is a simple function that can quickly identify the > next power-of-two larger than an arbitrary number. So if I feed the > function 472, it will return 512. Thus far I haven't been able to > figure out how to do this without a big if-then-else nest. Is there > some clever way to request that the processor return the position of > the leftmost '1' in 00101101? > > Thanks! > ~David. > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal