## char matrix multiplied by 1, wrong result?

Sep 09 2008 | 3:09 pm
hi there!
can anyone enlighten me, why a char matrix multiplied with either 1. or 255 is resulting in y=x-1?
so let's assume we've got a matrix containing only the value 255, if i multiply this matrix via jit.op with a value of 1. or 255, i get as a result 254.
i guess this has something todo with truncating/rounding the char value, but why?
here is the example:
run on xp sp3, max 4.6.3
thanks for any information,
micha

• Sep 09 2008 | 10:16 pm
jitter matrices are zero based so thats ok.
On Tue, Sep 9, 2008 at 6:10 PM, micha wrote:
>
> hi there!
>
> can anyone enlighten me, why a char matrix multiplied with either 1. or 255
> is resulting in y=x-1?
>
> so let's assume we've got a matrix containing only the value 255, if i
> multiply this matrix via jit.op with a value of 1. or 255, i get as a result
> 254.
>
> i guess this has something todo with truncating/rounding the char value,
> but why?
>
> here is the example:
>
>
> #P window setfont "Sans Serif" 9.;
> #P window linecount 1;
> #P comment 169 251 27 9109513 huh?;
> #P user jit.cellblock 39 109 85 129 139 9 1 1 45 17 0 1 1 0 0 0 0 0 1 0 0 0
> 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
> #P user jit.cellblock 91 250 137 270 139 9 1 1 45 17 0 1 1 0 0 0 0 0 1 0 0
> 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
> #P user jit.cellblock 241 252 287 272 139 9 1 1 45 17 0 1 1 0 0 0 0 0 1 0 0
> 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
> #P newex 241 229 100 9109513 jit.op @op * @val 255;
> #P newex 91 227 93 9109513 jit.op @op * @val 1.;
> #P message 91 52 46 9109513 255 , bang;
> #P newex 91 76 81 9109513 jit.matrix 1 char 1;
> #P window setfont "Sans Serif" 12.;
> #P comment 82 30 68 9109516 press here;
> #P window setfont "Sans Serif" 9.;
> #P comment 10 112 27 9109513 yes!;
> #P fasten 2 0 8 0 96 102 44 102;
> #P connect 3 0 2 0;
> #P connect 2 0 4 0;
> #P connect 4 0 7 0;
> #P fasten 2 0 5 0 96 125 246 125;
> #P fasten 5 0 6 0 246 250 246 250;
> #P window clipboard copycount 10;
>
>
> run on xp sp3, max 4.6.3
>
> thanks for any information,
>
> micha
>
>
• Sep 10 2008 | 8:47 am
hello yair,
thanks for the answer, but i still don't get it. i mean, it's clear that chars start at zero and go up to 255, that's a byte. yes. but if i multiply some byte with 1, i exspect the value to be the same?
micha
• Sep 10 2008 | 12:46 pm
sorry for misleading, that is strange and i cant explain
On Wed, Sep 10, 2008 at 10:47 AM, micha wrote:
>
> hello yair,
>
> thanks for the answer, but i still don't get it. i mean, it's clear that
> chars start at zero and go up to 255, that's a byte. yes. but if i multiply
> some byte with 1, i exspect the value to be the same?
>
> micha
>
>
>
>
• Sep 10 2008 | 3:05 pm
yepp, that's really strange. and if this is a real bug, i can't belive that noone stumbled upon this before?
• Sep 10 2008 | 8:29 pm
ah yes, some additional information: jit.expr, with an expression of "expr in[0]*1" works correct.
so what is wrong with jit.op?
• Sep 12 2008 | 1:26 pm
hi,
yes, i found in the same situation time ago, dosent seems the right behavior of @op * ... :-?
i bypass the problem converting the matrix to long and then i get the right values with op mult.
bye
o