AcTools.Utils.Physics.TurboControllerDescription.Process C# (CSharp) Method

Process() private method

private Process ( double rpm, double boost ) : double
rpm double
boost double
return double
        public double Process(double rpm, double boost) {
            double input;
            switch (Input) {
                case ControllerInput.Rpms:
                    input = rpm;
                    break;
                default:
                    input = 0d;
                    break;
            }

            if (!double.IsNaN(UpLimit) && UpLimit < input) {
                input = UpLimit;
            }

            if (!double.IsNaN(DownLimit) && DownLimit > input) {
                input = DownLimit;
            }
            
            var value = Lut?.InterpolateLinear(input) ?? 0d;
            switch (Combinator) {
                case Combinator.Add:
                    return boost + value;
                case Combinator.Mult:
                    return boost * value;
                default:
                    return boost;
            }
        }
    }
TurboControllerDescription