exponenta event banner

Задание глобальных массивов ячеек в командной строке

Чтобы задать входные данные глобального массива ячеек, используйте -globals вариант codegen с таким синтаксисом:

codegen myfunction -globals {global_var, {type_object, initial_value}} 

Например:

  • Указание глобальной переменной g - массив ячеек 1x3, элементы которого имеют класс double и начальное значение {1 2 3}, использовать:

    codegen myfunction -globals {'g', {coder.typeof({1 1 1}), {1 2 3}}} 

    В качестве альтернативы используйте:

    t = coder.typeof({1 1 1});
    codegen myfunction -globals {'g', {t, {1 2 3}}}

    Глобальная переменная g представляет собой однородный массив ячеек 1x3, элементы которого являются двойными 1x1.

    Сделать g гетерогенные, использование:

    t = makeHeterogeneous(coder.typeof({1 1 1}));
    codegen myfunction -globals {'g', {t, {1 2 3}}}

  • Чтобы указать, что g - массив ячеек, первый элемент которого имеет символ типа, второй элемент которого имеет двойной тип и начальное значение которого {'a', 1}, использовать:

    codegen myfunction -globals {'g', {coder.typeof({'a', 1}), {'a', 1}}}
    

    Глобальная переменная g - гетерогенный массив ячеек 1x2, первый элемент которого равен 1x1 char, а второй - 1x1 double.

  • Чтобы указать, что g - массив ячеек, первый элемент которого имеет тип double, второй элемент которого является двойным массивом 1x2 и начальное значение которого {1 [2 3]}, использовать:

    codegen myfunction -globals {'g', {coder.typeof({1 [2 3]}), {1 [2 3]}}}
    

    В качестве альтернативы используйте:

    t = coder.typeof({1 [2 3]});
    codegen myfunction -globals {'g', {t, {1 [2 3]}}}
    

    Глобальная переменная g - гетерогенный массив ячеек 1x2, первый элемент которого является двойным 1x1, а второй элемент - двойным 1x2.

Глобальные переменные, являющиеся массивами ячеек, не могут иметь переменный размер.

См. также

|

Связанные темы