code: def _calculate_forecast(self, originalTimeSeries, smoothedData, seasonValues, lastSmoothingParams):
          
          forecastResults = []
  
          lastEstimator, lastSeasonValue, lastTrend = lastSmoothingParams
  
          seasonLength = self.get_parameter("seasonLength")
  
          #Forecasting. Determine the time difference between two points for extrapolation
          currentTime        = smoothedData[-1][0]
          normalizedTimeDiff = currentTime - smoothedData[-2][0]
  
          for m in xrange(1, self._parameters["valuesToForecast"] + 1):
              currentTime += normalizedTimeDiff
              lastSeasonValue = seasonValues[(len(originalTimeSeries) + m - 2) % seasonLength]
              forecast = (lastEstimator + m * lastTrend) * lastSeasonValue
              forecastResults.append([currentTime, forecast])
  
          return forecastResults
docs: Calculates the actual forecasted based on the input data.
  
          :param TimeSeries timeSeries: TimeSeries containing hte data.
          :param list smoothedData: Contains the smoothed time series data.
          :param list seasonValues: Contains the seasonal values for the forecast.
          :param list lastSmoothingParams: List containing the last [estimator, season value, trend] calculated during
          smoothing the TimeSeries.
  
          :return: Returns a list containing forecasted values