Currently LctInfectionState uses unsigned ints as template parameters and as return values of the functions. This leads to some hard to detect unexpected behaviour when using the return values in calculations, especially when multiplying them with negative values.
Enhancement description
Replace unsigned int with int and include some static assert statements to ensure that the parameters are non-negative.
Also update all the explicit type conversions. This change should simplify some calculations and make them less error-prone
Additional context
No response
Checklist
[X] Attached labels, especially loc:: or model:: labels.
Motivation / Current Behaviour
Currently LctInfectionState uses unsigned ints as template parameters and as return values of the functions. This leads to some hard to detect unexpected behaviour when using the return values in calculations, especially when multiplying them with negative values.
Enhancement description
Replace unsigned int with int and include some static assert statements to ensure that the parameters are non-negative. Also update all the explicit type conversions. This change should simplify some calculations and make them less error-prone
Additional context
No response
Checklist