Page 1 of 1

Shift Operator in Build 1001

Posted: 23 Jun 2021 15:06
by Martin Meyer
Hello Thomas,

thank you very much for providing service build 1001!

Updating my code to it I found that the shift operator behaves differently now. I suppose it is not intended:

Code: Select all

clauses     run() :-         N = 4 * 8,         hasDomain(unsigned64, U64),         U64 = 1 << N,         stdIo::write(U64).
In the new build it outputs 0, but in build 1000 it had output a nonzero number. It seems the calculation is done now in the unsigned numbers rather than in unsigned64.

Re: Shift Operator in Build 1001

Posted: 25 Jun 2021 8:27
by Thomas Linder Puls
I did solve this problem, but the solution has mistakenly been reverted. I have solved it again.

As a workaround use:

Code: Select all

U64 = hasDomain(unsigned64, 1) << N,