Документация Engee

Квадратный корень

Вычисляет квадратный корень, квадратный корень со знаком или величину, обратную квадратному корню.

Тип: Sqrt

Обратный квадратный корень

Путь в библиотеке:

/Basic/Math Operations/Reciprocal Square Root

Знаковый квадратный корень

Путь в библиотеке:

/Basic/Math Operations/SignedSqrt

Квадратный корень

Путь в библиотеке:

/Basic/Math Operations/Sqrt

Описание

Блок Квадратный корень вычисляет квадратный корень, квадратный корень со знаком или величину, обратную квадратному корню из входного сигнала.

Вычисляемая блоком функция и значок блока зависят от значения параметра Функция.

Значение параметра Функция Описание Математическое выражение Значок блока

sqrt

Квадратный корень из входного сигнала

sqrt

signedSqrt

Квадратный корень из абсолютного значения входного сигнала, умноженный на знак входного сигнала

signed sqrt

rSqrt

Величина, обратная квадратному корню из входного сигнала

reciprocal square root

Порты

Вход

# IN_1 — входной сигнал
скаляр | вектор | матрица

Details

Входной сигнал для вычисления квадратного корня, квадратного корня со знаком или величины, обратной квадратному корню.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point

Поддержка комплексных чисел

Да

Выход

# OUT_1 — выходной сигнал
скаляр | вектор | матрица

Details

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

Если входной сигнал представлен данными целого типа, то выходной сигнал должен иметь тип данных с плавающей точкой.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed-point

Поддержка комплексных чисел

Нет

Параметры

Параметры

# Функция — функция, которую выполняет блок
sqrt | signedSqrt | rSqrt

Details

Математическая функция, которую вычисляет блок. Значок блока меняется в соответствии с выбранной функцией.

Значения

sqrt | signedSqrt | rSqrt

Значение по умолчанию

Имя для программного использования

Operator

Настраиваемый

Нет

Вычисляемый

Нет

# Тип выходного сигнала — тип выходного сигнала
Автоматически | Действительный | Комлексный

Details

Укажите тип выходного сигнала.

Функция

Тип входного сигнала

Тип выходного сигнала

Автоматически

Действительный

Комлексный

sqrt

Действительный

Действительный для неотрицательных входов

NaN для отрицательных входов

Действительный для неотрицательных входов

NaN для отрицательных входов

Комлексный

Комлексный

Комлексный

error

Комлексный

signedSqrt

Действительный

Действительный

Действительный

Комлексный

Комлексный

error

error

error

rSqrt

Действительный

Действительный

Действительный

error

Комлексный

error

error

error

Значения

auto | real | complex

Значение по умолчанию

auto

Имя для программного использования

OutputSignalType

Настраиваемый

Нет

Вычисляемый

Нет

Main

# Intermediate results — тип данных промежуточных результатов
Inherit: auto | Inherit from input | Inherit from output | Float64 | Float32 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Details

Укажите тип данных для промежуточных результатов для блока Квадратный корень или Обратный квадратный корень.

Тип может быть унаследован или указан напрямую.

Во избежание переполнения тип данных для промежуточных результатов должен быть больше или равен типу данных, который может содержать квадрат выходного типа данных.

Следуйте этим рекомендациям по явному заданию промежуточного типа данных для блока Квадратный корень:

Тип входных и выходных данных Тип промежуточных данных

Входные или выходные данные имеют двойную точность.

Используйте тип данных с двойной точностью.

Входные или выходные данные имеют одинарную точность, а любой не одинарный тип данных не является двойным.

Используйте тип данных с одинарной или двойной точностью.

Входные и выходные данные имеют фиксированную точку.

Используйте тип данных с фиксированной точкой.

Следуйте этим рекомендациям по явному заданию промежуточного типа данных для блока Обратный квадратный корень:

Тип входных и выходных данных Тип промежуточных данных

Входные данные имеют двойную точность, а выходные не одинарную.

Используйте тип данных с двойной точностью.

Входные данные имеют не одинарную точность, а выходные имеют двойную точность.

Используйте тип данных двойной точностью.

Входные и выходные данные имеют фиксированную точку.

Используйте тип данных с фиксированной точкой.

Не устанавливайте тип данных промежуточных результатов Inherit from output в следующих случаях:

  • Входной тип данных — с плавающей точкой;

  • Выходной тип данных — с фиксированной точкой.

В этих случаях выбор Inherit from output приводит к неоптимальной производительности и возникновению ошибки.

Чтобы избежать этой ошибки, преобразуйте входной сигнал из типа данных с плавающей точкой в тип данных с фиксированной точкой. Например, вставьте блок Преобразование типов данных перед блоком Квадратный корень для выполнения преобразования.

Зависимости

Чтобы использовать этот параметр, установите для параметра Функция значение sqrt или rSqrt.

Значения

Inherit: auto | Inherit from input | Inherit from output | Float64 | Float32 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Значение по умолчанию

Inherit: auto

Имя для программного использования

IntermediateResultsDataTypeStr

Настраиваемый

Нет

Вычисляемый

Нет

# Intermediate results fixed-point type — тип промежуточных данных с фиксированной точкой
Тип данных

Details

Укажите тип промежуточных данных с фиксированной точкой.

Зависимости

Чтобы использовать этот параметр, установите для параметра Функция значение sqrt или rSqrt, а для параметра Intermediate results значение Fixed-point.

Значение по умолчанию

fixdt(1, 16, 0)

Имя для программного использования

IntermediateResultsDataTypeStrFixed

Настраиваемый

Нет

Вычисляемый

Да

# Output — тип выходных данных
Inherit: auto | Same as first input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Details

Укажите тип выходных данных. Тип может быть унаследован или указан напрямую.

Значения

Inherit: auto | Same as first input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Значение по умолчанию

Same as first input

Имя для программного использования

OutDataTypeStr

Настраиваемый

Нет

Вычисляемый

Нет

# Output fixed-point type — тип выходных данных с фиксированной точкой
Тип данных

Details

Укажите тип выходных данных с фиксированной точкой.

Зависимости

Чтобы использовать этот параметр, установите для параметра Output значение Fixed-point.

Значение по умолчанию

fixdt(1, 16, 0)

Имя для программного использования

OutDataTypeStrFixed

Настраиваемый

Нет

Вычисляемый

Да

# Integer rounding mode — режим округления для операций с фиксированной точкой
Ceiling | Convergent | Floor | Nearest | Round | Zero

Details

Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:

  • Floor — округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности);

  • Ceiling — округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности);

  • Convergent — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа;

  • Nearest — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности);

  • Round — округляет число до ближайшего целого числа;

  • Zero — округляет число в сторону нуля.

Параметры блока всегда округляют до ближайшего представимого значения.

Значения

Ceiling | Convergent | Floor | Nearest | Round | Zero

Значение по умолчанию

Floor

Имя для программного использования

RndMeth

Настраиваемый

Нет

Вычисляемый

Нет

# Saturate on integer overflow — метод действия при переполнении
Логический тип

Details

При установке этого флажка выходящее за границы типа значение сбрасывается до максимального или минимального значения, которое может представить выбранный тип данных. В противном случае происходит перенос переполнения.

Например, максимальное значение, которое может представлять знаковое 8-битное целое число Int8, равно 127. Любой результат блочной операции, превышающий это максимальное значение, вызывает переполнение 8-битного целого числа.

При установке этого флажка выход блока достигает насыщения при 127. Аналогично, выход блока достигает насыщения при минимальном выходном значении −128.

При снятии этого флажка блок интерпретирует значение, вызывающее переполнение, как Int8, что может привести к непредусмотренному результату. Например, результат 130 (двоичное число 1000 0010), выраженный как Int8, равен −126.

  • Рассмотрите возможность установки этого флажка, если в вашей модели возможно переполнение и вам требуется явная защита от насыщения в сгенерированном коде.

  • При установке этого флажка насыщение применяется ко всем внутренним операциям в блоке, а не только к выходу или результату.

Значение по умолчанию

true (включено)

Имя для программного использования

SaturateOnIntegerOverflow

Настраиваемый

Нет

Вычисляемый

Нет

Дополнительные возможности

Генерация Си кода: Да