[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] Framebuffer rotation patch
From: |
Michal Suchanek |
Subject: |
Re: [RFC] Framebuffer rotation patch |
Date: |
Tue, 16 Feb 2010 16:52:28 +0100 |
2010/2/16 Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden>:
> Michal Suchanek wrote:
>> 2010/2/11 Vladimir 'φ-coder/phcoder' Serbinenko <address@hidden>:
>>
>>> Michal Suchanek wrote:
>> This requires that both u and w be in the chosen set of generators
>> because otherwise use of v or s twice is required to get one from the
>> other. Using (u or w) and v as the two basic operations additionally
>> requires composing generators in non-fixed order to get all the 8
>> possible combinations.
>>
>> The other reason for having 3 generators is clear and efficient
>> reperesentation of the 8 possible transformations. They are
>> represented as bits in the bitmap where each bit specifies if the
>> particular basic transform is included or not but they are always
>> applied in fixed order and at most once.
>>
>> Compare this to your representation of s^k,s^k*t where k is 0..3.
>> Depending on representation the composition and inversion rules might
>> still be somewhat non-trivial in actual code, using two reflections
>> which require multiple applications of the two generators in
>> particular order would lead to even more "interesting" code.
>>
>>
> You don't have to use same representation through whole code
I don't see any benefit in changing it and it would make the code
harder to understand.
>>>>
>>> enum my_bitfield
>>> {
>>> MY_BITFIELD_NONE=0,
>>> MY_BITFIELD_BIT0 = 1 << 0,
>>> MY_BITFIELD_BIT1 = 1 << 1,
>>> MY_BITFIELD_BIT2 = 1 << 2
>>> };
>>>
>>
>> The whole point of a bitfield is to have values like
>> MY_BITFIELD_1_AND_2 = MY_BITFIELD_BIT1 | MY_BITFIELD_BIT2 which enum
>> does not allow.
>>
> enum allows it just fine
Not here:
typedef enum t1 { BTI1 = 1,
BIT2 = 2,
BIT12 = BIT1 + BIT2} t;
int main(int argc, char** argv) { return 0 ; }
testenum.c:3: error: ‘BIT1’ undeclared here (not in a function)
Thanks
Michal
- Re: [RFC] Framebuffer rotation patch, (continued)
- Re: [RFC] Framebuffer rotation patch, Michal Suchanek, 2010/02/11
- Re: [RFC] Framebuffer rotation patch, Vladimir 'φ-coder/phcoder' Serbinenko, 2010/02/11
- Re: [RFC] Framebuffer rotation patch, Michal Suchanek, 2010/02/13
- Re: [RFC] Framebuffer rotation patch, or why 'unsigned' fails us, Colin D Bennett, 2010/02/15
- Re: [RFC] Framebuffer rotation patch, or why 'unsigned' fails us, Michal Suchanek, 2010/02/15
- Re: [RFC] Framebuffer rotation patch, or why 'unsigned' fails us, Colin D Bennett, 2010/02/15
- Re: [RFC] Framebuffer rotation patch, or why 'unsigned' fails us, Vladimir 'φ-coder/phcoder' Serbinenko, 2010/02/16
- Re: [RFC] Framebuffer rotation patch, or why 'unsigned' fails us, Michal Suchanek, 2010/02/16
- Re: [RFC] Framebuffer rotation patch, Vladimir 'φ-coder/phcoder' Serbinenko, 2010/02/16
- Re: [RFC] Framebuffer rotation patch,
Michal Suchanek <=
- Re: [RFC] Framebuffer rotation patch, Isaac Dupree, 2010/02/16
- Re: [RFC] Framebuffer rotation patch, address@hidden, 2010/02/16
- [Off-topic] C++ enums, Isaac Dupree, 2010/02/16
Re: [RFC] Framebuffer rotation patch, Michal Suchanek, 2010/02/16