Common type of ubyte and const ubyte is int
Dom DiSc
dominikus at scherkl.de
Fri May 3 06:52:00 UTC 2024
On Thursday, 2 May 2024 at 17:30:12 UTC, user1234 wrote:
> Just remembered, one argument that was once exposed by Walter
> is be that arithmetic instructions for 32 bits registers would
> be faster than the ones let's say for 16 or 8.
Working on the processor word size is always the fastest. But
that is totally independent of the result type. Calculation can
always be done extended to word-size (or may need multiple words
for large operands), but the result should have the common type.
To say 32bit is always the best is only true for 32bit
architectures.
And having no promotion is not an option. If two operands are to
be combined, we need some common type for the result, no matter
how this result is produced.
About type attributes - the operands may be mutable, const or
immutable, but the result is a new value with attributes
independent of the operand attributes. It should be assignable to
mutable variables - to const or immutable objects only during
initialization, to shared objects only if they are locked.
At least that is what I expect.
More information about the Digitalmars-d
mailing list