[Gridflow-dev] ping (fwd)

Mathieu Bouchard matju at sympatico.ca
Thu Sep 9 03:36:09 EDT 2004


---------- Forwarded message ----------
Date: Thu, 9 Sep 2004 05:57:53 +0200
From: Tom Schouten <doelie at zzz.kotnet.org>
To: Mathieu Bouchard <matju at sympatico.ca>
Subject: Re: [Gridflow-dev] ping (fwd)


terminology..

> > i ran into a problem modularizing some transpose (interleave) code and
> > this made me realize i need a generic grid interpretation of a raw
> > buffer. this would have the type description:
> > 
> > bitgrid/8/320/240/3
> > this describes a 8 bit, planar row encoded image: w=320 h=240 planes=3
> 
> I'm not sure what you mean. Is it like char[3][240][320], or like another
> C array shape?
> 

more like a bit grid, literaly. a grid of bits.
bitgrid/2/10/10 would represent a 2D 10x10 grid of 4-state (2 bit) entities, or
a 2x10x10 grid of bits, depending on the interpretation.

what i need this for, is to host permutation and other map operations that are 
really only dependent on the structure, not on the interpretetion.

this is just a type alias. when casted, polymorphic words will change behaviour.


> > the alternative is something like:
> > bitgrid/int/100/100
> > i'd like to keep it a pure bitgrid, and leave the interpretation upstream.
> > this would simplify the code a lot. but it does mean that it might not be
> > enough to catch the full meaning of a gridflow grid.
> 
> GridFlow 0.7 has two 32-bit types (i,f) and two 64-bit types (l,d). How
> would you differentiate between int and float in general? and signed vs
> unsigned?
>

i don't. i don't need generic grids yet, only to implement permutations
and have at least some raw bit representation.

my matrices are floating point, images are fixed point.
 
> Besides, GridFlow does not use planes at all, ever, unlike, say, Jitter.
>

what do you mean? the planes are just your outer dimension wrt to memory
layout, no? if that happens to be colour, you have planar data.
 
> > a short note: i noticed you use loop unrolling macros in grid.h i
> > found out gcc does this very well automaticly,
> 
> Which versions? I thought about moving definitely away from older versions
> of GCC that aren't as smart wrt loop-unrolling, but then, the tools I have
> for compiling on Zaurus/iPaq/NetWinder are still just 2.95. Certainly that
> when I wrote the original version of that code I was still using 2.95
> myself (probably when I was using debian-stable).
>

gcc 3, but use 3.3.1 or higher.

gcc 3 is really nice, but a lot of the optimization code seems buggy.



More information about the Gridflow-dev mailing list