Re: [Vala] How to bitwise math and implement a jagged array in Vala?



For your second problem -

In C, an expression such as (i&0x8)==0 evaluates to an integer, 1 for
true and 0 for false. This can then be used for bitwise operations
such as ^ (bitwise XOR). In Vala however, the equality expression
evaluates to a value of the fundamental type bool, "true" or "false",
which have no direct correspondence with integer values.

A quick and dirty way to convert the code would then be to change
"(i&0x8)==0" to "(i&0x8)==0 ? 1 : 0" and likewise for the j variable,
however a more readable version could be something like:

c = (i & 0x8 != j & 0x8) ? 255 : 0;

Regards,
Simon

On Tue, Jul 2, 2013 at 1:36 PM, Thomas F Steinhauer
<tom_steinhauer hotmail com> wrote:
Dear members I am new here and I have a couple of questions and they are are
all centered around this piece of code I found online:

1. /*  Create checkerboard texture  */
2. #define checkImageWidth 64
3. #define checkImageHeight 64
4. static GLubyte checkImage[checkImageHeight][checkImageWidth][4];
5. static GLuint texName;
6. void makeCheckImage(void)
7. {
8.     int i, j, c;
9.
10.     for (i = 0; i < checkImageHeight; i++) {
11.        for (j = 0; j < checkImageWidth; j++) {
12.           c = ((((i&0x8)==0)^((j&0x8))==0))*255;
13.           checkImage[i][j][0] = (GLubyte) c;
14.           checkImage[i][j][1] = (GLubyte) c;
15.           checkImage[i][j][2] = (GLubyte) c;
16.           checkImage[i][j][3] = (GLubyte) 255;
17.        }
18.     }
19. }

1st, How can I do that same thing or equivalent from line #4 in Vala or is
it not possible?

2nd. When I try to run line #12 in Vala I get an error "Operation not
supported for types bool and bool. So is there a way to get Vala to evaluate
this expression correctly?

Any help with this would be greatly appreciated.

Thanks
Tom
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]