| 14 | namespace { |
| 15 | |
| 16 | float LuminanceDecay(float time) { |
| 17 | typedef InterpData<float, float> Datum; |
| 18 | static const Datum kData[] = { |
| 19 | Datum(0, 0), |
| 20 | Datum(1, 0), |
| 21 | Datum(10, 0), |
| 22 | Datum(47, 60), |
| 23 | Datum(120, 100), |
| 24 | Datum(230, 160), |
| 25 | Datum(250, 255), |
| 26 | Datum(254, 255), |
| 27 | Datum(255, 64), |
| 28 | }; |
| 29 | |
| 30 | const float key = time * 255.f; |
| 31 | static const int n = sizeof(kData) / sizeof(kData[0]); |
| 32 | float approx_val = Interp(key, kData, n); |
| 33 | |
| 34 | |
| 35 | static const float k = (1.0f / 255.f); |
| 36 | const float out = approx_val * k; |
| 37 | return out; |
| 38 | } |
| 39 | |
| 40 | float CalcLuminance(float time_delta_ms, |
| 41 | bool sustain_pedal_on, |
no test coverage detected