Because scaleFactor in processPID() and conditionResponse() is a float, the product of (response * scaleFactor) is automatically cast to float and potentially loses data. This change makes scaleFactor a double as well, keeping response a full 64 bits wide.
Not all of the return statements in conditionResponse() had the explicit cast to double implemented previously; with this change the typecast is no longer needed as it always returns a double.
I have updated the comment/description for both methods to reflect the change in return type.
Because scaleFactor in processPID() and conditionResponse() is a float, the product of (response * scaleFactor) is automatically cast to float and potentially loses data. This change makes scaleFactor a double as well, keeping response a full 64 bits wide.
Not all of the return statements in conditionResponse() had the explicit cast to double implemented previously; with this change the typecast is no longer needed as it always returns a double.
I have updated the comment/description for both methods to reflect the change in return type.