| // |
| // This confidential and proprietary software may be used only as |
| // authorised by a licensing agreement from ARM Limited |
| // (C) COPYRIGHT 2020-2024 ARM Limited |
| // ALL RIGHTS RESERVED |
| // The entire notice above must be reproduced on all authorised |
| // copies and copies may only be made to the extent permitted |
| // by a licensing agreement from ARM Limited. |
| |
| === Elementwise Unary Operators |
| |
| ==== ABS |
| |
| Elementwise absolute value operation |
| |
| include::{generated}/operators/ABS.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|+infinity|+infinity|+0|+0|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/ABS.tosac[lines=10..-1] |
| ---- |
| |
| ==== BITWISE_NOT |
| |
| Elementwise bitwise NOT of input tensor. |
| |
| include::{generated}/operators/BITWISE_NOT.adoc[] |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/BITWISE_NOT.tosac[lines=10..-1] |
| ---- |
| |
| ==== CEIL |
| |
| Elementwise ceiling operation |
| |
| include::{generated}/operators/CEIL.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|-infinity|+infinity|-0|+0|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/CEIL.tosac[lines=10..-1] |
| ---- |
| |
| ==== CLZ |
| |
| Elementwise count leading zeros operation |
| |
| include::{generated}/operators/CLZ.adoc[] |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/CLZ.tosac[lines=10..-1] |
| ---- |
| |
| ==== COS |
| |
| Elementwise cosine operation for values given in radians. |
| |
| include::{generated}/operators/COS.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|NaN|NaN|+1|+1|NaN |
| |=== |
| |
| [source, c++] |
| ---- |
| include::{pseudocode}/operators/COS.tosac[lines=10..-1] |
| ---- |
| |
| ==== EXP |
| |
| Elementwise e to the x operation |
| |
| include::{generated}/operators/EXP.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|+0|+infinity|1|1|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/EXP.tosac[lines=10..-1] |
| ---- |
| |
| ==== FLOOR |
| |
| Elementwise floor operation |
| |
| include::{generated}/operators/FLOOR.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|-infinity|+infinity|-0|+0|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/FLOOR.tosac[lines=10..-1] |
| ---- |
| |
| ==== LOG |
| |
| Elementwise natural logarithm operation |
| |
| include::{generated}/operators/LOG.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|NaN|+infinity|-infinity|-infinity|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/LOG.tosac[lines=10..-1] |
| ---- |
| |
| ==== LOGICAL_NOT |
| |
| Elementwise logical NOT of input. |
| |
| include::{generated}/operators/LOGICAL_NOT.adoc[] |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/LOGICAL_NOT.tosac[lines=10..-1] |
| ---- |
| |
| ==== NEGATE |
| |
| Elementwise negation operation |
| |
| include::{generated}/operators/NEGATE.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|+infinity|-infinity|+0|-0|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/NEGATE.tosac[lines=10..-1] |
| ---- |
| |
| ==== RECIPROCAL |
| |
| Elementwise reciprocal operation. For integer operation, a TABLE should be used with the appropriate ranges. |
| |
| include::{generated}/operators/RECIPROCAL.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|-0|+0|-infinity|+infinity|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/RECIPROCAL.tosac[lines=10..-1] |
| ---- |
| |
| ==== RSQRT |
| |
| Elementwise reciprocal square root operation. For integer operation, a TABLE should be used with the appropriate ranges. |
| |
| include::{generated}/operators/RSQRT.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|NaN|+0|-infinity|+infinity|NaN |
| |=== |
| |
| [source,c++] |
| ---- |
| include::{pseudocode}/operators/RSQRT.tosac[lines=10..-1] |
| ---- |
| |
| ==== SIN |
| |
| Elementwise sine operation for values given in radians. |
| |
| include::{generated}/operators/SIN.adoc[] |
| |
| *Floating-point behavior:* |
| |=== |
| |Input|-infinity|+infinity|-0|+0|NaN |
| |
| |Output|NaN|NaN|-0|+0|NaN |
| |=== |
| |
| [source, c++] |
| ---- |
| include::{pseudocode}/operators/SIN.tosac[lines=10..-1] |
| ---- |