ITimeSeries.IsEmpty

Синтаксис Fore

IsEmpty: Boolean;

Синтаксис Fore.NET

IsEmpty: boolean;

Описание

Свойство IsEmpty возвращает признак пустоты ряда.

Комментарии

Возможные значения:

Пример Fore

В примере приведен пользовательский векторный метод расчета.

Добавьте ссылки на системные сборки: MathFin, Ms, Transform.

Function IsEmpty(Input: ITimeSeries): ITimeSeries;
Var
    TsCalc: TsCalculation;
    pContext: ITsCalculationContext;
    i: Integer;
    Output: ITimeSeries;
Begin
    // Проверяем, пустой ли входной ряд
    If Not Input.IsEmpty
        // Если ряд не пустой, то вычисляем его десятичный логарифм
        Then
        TsCalc := New TsCalculation.Create;
            pContext := TsCalc.Current;
            Output := pContext.CreateTimeSeries;
            For i := Input.StartIndex To Input.EndIndex Do
                Output(i) := Math.Log10(Input(i));
            End For;
            // Возвращаем результаты вычислений
            Return Output;
        // Если ряд пустой, то возвращаем его без изменений 
        Else
            Return Input;
    End If;
End Function IsEmpty;

Метод вычисляет десятичный логарифм ряда, если ряд содержит данные.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.MathFin;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Transform;

Public Shared Function IsEmpty(Input: ITimeSeries): ITimeSeries;
Var
    TsCalc: TsCalculation;
    pContext: ITsCalculationContext;
    i: Integer;
    Output: ITimeSeries;
    Math: MathClass = New MathClass();
Begin
    // Проверяем, пустой ли входной ряд
    If Not Input.IsEmpty
        // Если ряд не пустой, то вычисляем его десятичный логарифм
        Then
        TsCalc := New TsCalculation.Create();
            pContext := TsCalc.Current[Null];
            Output := pContext.CreateTimeSeries(DimCalendarLevel.dclNone, NullAs ITimeSeries;
            For i := Input.StartIndex To Input.EndIndex Do
                Output[i] := Math.Log10(Input[i] As double);
            End For;
            // Возвращаем результаты вычислений
            Return Output;
        // Если ряд пустой, то возвращаем его без изменений 
        Else
            Return Input;
    End If;
End Function IsEmpty;

См. также:

ITimeSeries