It is done once when a new value is set. It is the documented behavior to default to 0 for values less than 0 and 100 for values grater than 100.