
Promote two dtypes for a binary operation.
dtype_promote.RdThe promotion rules:
float dominates: float op int/uint/pred keeps the float type;
within a family the wider type wins;
pred promotes to the other operand;
signed op unsigned promotes to a signed type wide enough for both (u64 has no signed container, so it promotes to f64, following NumPy);
divide = TRUEforces a float result: 32-bit-or-narrower integer inputs give f32, 64-bit integer inputs give f64.