overflowsaturationinfo

Получите насыщение на покрытии целочисленного переполнения от объекта cvdata

Синтаксис

coverage = overflowsaturationinfo(covdata, object)
coverage = overflowsaturationinfo(covdata, object, ignore_descendants)
[coverage, description] = overflowsaturationinfo(covdata, object)

Описание

пример

coverage = overflowsaturationinfo(covdata, object) возвращает насыщение на результатах покрытия целочисленного переполнения от объекта cvdata covdata для объекта модели, заданного object и его потомками.

coverage = overflowsaturationinfo(covdata, object, ignore_descendants) возвращает насыщение на результатах покрытия целочисленного переполнения от объекта cvdata covdata для объекта модели, заданного object и, в зависимости от значения ignore_descendants, объектов-потомков.

пример

[coverage, description] = overflowsaturationinfo(covdata, object) возвращает насыщение на результатах покрытия целочисленного переполнения от объекта cvdata covdata для объекта модели, заданного object и текстовыми описаниями каждого результата покрытия.

Примеры

свернуть все

Соберите насыщение на информации о покрытии целочисленного переполнения для блока MinMax в модели sldemo_fuelsys в качестве примера.

Откройте модель sldemo_fuelsys в качестве примера. Создайте тестовый объект спецификации покрытия модели для подсистемы Mixing & Combustion подсистемы Динамики Газа Engine.

open_system('sldemo_fuelsys');
testObj = cvtest('sldemo_fuelsys/Engine Gas Dynamics/', ...
		'Mixing & Combustion');

В тестовом объекте спецификации покрытия модели задайте, чтобы собрать насыщение на покрытии переполнения.

testObj.settings.overflowsaturation = 1;

Моделируйте модель и соберите результаты покрытия в новом объекте cvdata.

dataObj = cvsim(testObj);

Получите насыщение на результатах покрытия переполнения для блока MinMax в подсистеме Mixing & Combustion. Результаты покрытия хранятся в двухэлементном векторе формы [covered_outcomes total_outcomes].

blockHandle = get_param('sldemo_fuelsys/' ...
		'Engine Gas Dynamics/Mixing & Combustion/MinMax','Handle');
covResults = overflowsaturationinfo(dataObj, blockHandle)
covResults =

     1     2

Один из двух насыщения на результатах решения целочисленного переполнения были удовлетворены для блока MinMax в подсистеме Mixing & Combustion, таким образом, это получило 50%-е насыщение на покрытии целочисленного переполнения.

Соберите насыщение на покрытии целочисленного переполнения для модели slvnvdemo_saturation_on_overflow_coverage в качестве примера. Рассмотрите собранные результаты покрытия и описание для блока Sum в Подсистеме контроллера.

Откройте модель slvnvdemo_saturation_on_overflow_coverage в качестве примера.

open_system('slvnvdemo_saturation_on_overflow_coverage');

Моделируйте модель и соберите результаты покрытия в новом объекте cvdata.

dataObj = cvsim('slvnvdemo_saturation_on_overflow_coverage');

Получите насыщение на результатах покрытия целочисленного переполнения и описании для блока Sum в Подсистеме контроллера Тестовой Модульной подсистемы.

[covResults, covDesc] = overflowsaturationinfo(dataObj, ...
		'slvnvdemo_saturation_on_overflow_coverage/Test Unit /' ...
		'Controller/Sum')
covResults =

     1     2


covDesc = 

    isFiltered: 0
      decision: [1x1 struct]

Один из двух насыщения на результатах решения целочисленного переполнения были удовлетворены для блока Sum, таким образом, это получило 50%-е насыщение на покрытии целочисленного переполнения.

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

covDesc.decision.outcome(1)
ans = 

    executionCount: 3
              text: 'false'
covDesc.decision.outcome(2)
ans = 

    executionCount: 0
              text: 'true'

Во время симуляции целочисленное переполнение не произошло в блоке Sum.

Если целочисленное переполнение не возможно для блока в вашей модели, полагайте, что очистка параметров блоков Saturate on integer overflow оптимизирует эффективность вашего сгенерированного кода.

Входные параметры

свернуть все

Данные о результатах покрытия, заданные как объект cvdata.

Компонент модели или компонент модели, заданный как полный путь, указатель или массив путей или указателей.

Объектная спецификацияОписание

BlockPath

Полный путь к модели или блоку

BlockHandle

Обработайте к модели или блоку

slObj

Обработайте к объекту Simulink® API

sfID

Stateflow® ID

sfObj

Обработайте к объекту Stateflow API

{BlockPath, sfID}

Массив ячеек с путем к диаграмме Stateflow или атомарному подграфику и ID объекта, содержавшегося в том графике или подграфике

{BlockPath, sfObj}

Массив ячеек с путем к диаграмме Stateflow или атомарному подграфику и указателю API объекта Stateflow, содержавшемуся в том графике или подграфике

{BlockHandle, sfID}

Массив ячеек с указателем на диаграмму Stateflow или атомарный подграфик и ID объекта, содержавшегося в том графике или подграфике

Пример: 'slvnvdemo_saturation_on_overflow_coverage'

Пример: get_param('slvnvdemo_cv_small_controller/Saturation', 'Handle')

Настройка, чтобы проигнорировать покрытие объектов-потомков, заданных как логическое значение.

1 — Проигнорируйте покрытие объектов-потомков
0 — Соберите покрытие для объектов-потомков

Типы данных: логический

Выходные аргументы

свернуть все

Насыщение на результатах покрытия переполнения, сохраненных в двухэлементном векторе формы [covered_outcomes total_outcomes]. Эти два элемента:

covered_outcomesКоличество насыщения на результатах целочисленного переполнения, удовлетворенных для object
total_outcomesОбщее количество насыщения на результатах целочисленного переполнения для object

Типы данных: double

Текстовое описание результатов покрытия для компонента модели, заданного object, возвращенным как массив структур. В зависимости от типов собранного покрытия модели массив структур может иметь различные поля. Если только насыщение на покрытии переполнения собрано, массив структур содержит следующие поля:

isFiltered

0, если компонент модели, заданный object, не исключен из записи покрытия. 1, если компонент модели, заданный object, исключен из записи покрытия. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

decision.text'Saturate on integer overflow'
decision.outcome

Массив структур, содержащий два поля для каждого результата покрытия:

executionCountНасыщение числа раз на целочисленном переполнении для object, оцененного к результату, описано text.
text'true' или 'false'

Насыщение на целочисленном переполнении имеет два возможных исхода, 'true' и 'false'.

decision.isFiltered

0, если компонент модели, заданный object, не исключен из записи покрытия. 1, если компонент модели, заданный object, исключен из записи покрытия. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

decision.filterRationale

Объяснение для фильтрации компонента модели, заданного object, если object исключен из покрытия и объяснения, задано. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

Типы данных: struct

Введенный в R2013a