Класс: coder. CellType
Пакет: coder
Создайте однородную копию типа массива ячеек
newt = makeHomogeneous(t)
t = makeHomogeneous(t)
создает newt
= makeHomogeneous(t
)coder.CellType
объект для однородного массива ячеек newt
от coder.CellType
t объекта
.
Создание newt
, makeHomogeneous
метод должен определять размер и класс, которые представляют все элементы t:
Если элементы t
имеют одинаковый класс, но разные размеры, элементы newt
- размер переменной с верхними границами, которые вмещают элементы t
.
Если элементы t
иметь различные классы, для примера, char
и double
, makeHomogeneous
метод не может создать coder.CellType
объект для однородного массива ячеек.
Если вы используете coder.cstructname
чтобы задать имя для типа структуры, который представляет t
в сгенерированном коде вы не можете создать однородное coder.CellType
объект из t
.
Классификация как однородная является постоянной. Вы не можете позже создать гетерогенное coder.CellType
объект из newt
.
создает однородную t
= makeHomogeneous(t
)coder.CellType
объект из t
и заменяет t
с новым объектом.
В отображении coder.CellType
объект, условия locked heterogeneous
или locked homogeneous
указать, что классификация как однородная или неоднородная является постоянной. Вы не можете позже изменить классификацию при помощи makeHomogeneous
или makeHeterogeneous
методы.
coder.typeof
определяет, является ли тип массива ячеек однородным или неоднородным. Если элементы массива ячеек имеют одинаковый класс и размер, coder.typeof
возвращает однородный тип массива ячеек. Если элементы имеют различные классы, coder.typeof
возвращает гетерогенный тип массива ячеек. Для некоторых массивов ячеек классификация как однородная или неоднородная неоднозначна. Например, тип для {1 [2 3]} может быть гетерогенным типом 1x2. Первый элемент имеет значение double, а второй элемент имеет значение 1x2 double. Тип может также быть однородным типом 1x3, у которого элементы имеют класс double и размер 1x: 2. Для этих неоднозначных случаев ,coder.typeof
использует эвристику, чтобы классифицировать тип как однородный или неоднородный. Если вам нужна другая классификация, используйте makeHomogeneous
или makeHeterogeneous
методы.