implementation of exponentialRampToValueAtTime, no test