Since you have an initial value and a value indicating how “something” evolves, you can go with something like “Linear function”.
I would also add the necessary member functions:
struct LinearFunction {
float constant;
float slope;
float increment( float delta ) const { return constant + delta*slope; }
void add( const LinearFunction& other ) { constant += other.constant; slope += other.slope; }
LinearFunction invert() const {
LinearFunction inv = { -constant/slope, 1./slope; };
return inv;
}
};
Or do I want here?