The Arithmetics Operations category contains operations between two images or between an image and a constant as addition, subtraction, multiplication, division, minimum or maximum. More...
Modules | |
| Arithmetic Operations | |
| The Arithmetics Operations category contains operations between two images or between an image and a constant as sum, difference, blending, minimum or maximum. | |
| Logical Operations | |
| The Logical Operations category contains logical operations between two images or between an image and a constant as union, intersection, complementary. | |
The Arithmetics Operations category contains operations between two images or between an image and a constant as addition, subtraction, multiplication, division, minimum or maximum.
This rule is used for addition, subtraction and division operations.
![\[
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|}
\hline
Basical Rule & \textbf{DOUBLE} & \textbf{FLOAT} & \textbf{UINT64} & \textbf{INT64} & \textbf{UINT32} & \textbf{INT32} & \textbf{UINT16} & \textbf{INT16} & \textbf{UINT8} & \textbf{INT8} \\ \hline
\hline
\textbf{DOUBLE} & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE \\ \hline
\textbf{FLOAT} & DOUBLE & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT \\ \hline
\textbf{UINT64} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 \\ \hline
\textbf{INT64} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 \\ \hline
\textbf{UINT32} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 \\ \hline
\textbf{INT32} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT32 & INT32 & INT32 \\ \hline
\textbf{UINT16} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT32 & INT32 & INT32 \\ \hline
\textbf{INT16} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT16 & INT16 & INT16 \\ \hline
\textbf{UINT8} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT16 & INT16 & INT16 \\ \hline
\textbf{INT8} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT16 & INT16 & INT16 \\ \hline
\end{tabular}
\]](form_71.png)
This rule is used for multiplication operation. Please, note that some operators with a single input also use this rule taking the same type for both headers row and column. For instance, SoGradientOperatorProcessing2d and SoGradientOperatorProcessing3d engines follow also this rule.
![\[
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|}
\hline
Promotion rule & \textbf{DOUBLE} & \textbf{FLOAT} & \textbf{UINT64} & \textbf{INT64} & \textbf{UINT32} & \textbf{INT32} & \textbf{UINT16} & \textbf{INT16} & \textbf{UINT8} & \textbf{INT8} \\ \hline
\hline
\textbf{DOUBLE} & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE \\ \hline
\textbf{FLOAT} & DOUBLE & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT \\ \hline
\textbf{UINT64} & DOUBLE & FLOAT & UINT64 & INT64 & UINT64 & INT64 & UINT64 & INT64 & UINT64 & INT64 \\ \hline
\textbf{INT64} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 \\ \hline
\textbf{UINT32} & DOUBLE & FLOAT & UINT64 & INT64 & UINT64 & INT64 & UINT64 & INT64 & UINT64 & INT64 \\ \hline
\textbf{INT32} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT32 & INT32 & INT32 \\ \hline
\textbf{UINT16} & DOUBLE & FLOAT & UINT64 & INT64 & UINT64 & INT32 & UINT32 & INT32 & UINT32 & INT32 \\ \hline
\textbf{INT16} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT16 & INT16 & INT16 \\ \hline
\textbf{UINT8} & DOUBLE & FLOAT & UINT64 & INT64 & UINT64 & INT32 & UINT32 & INT16 & UINT16 & INT16 \\ \hline
\textbf{INT8} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT32 & INT32 & INT16 & INT16 & INT16 \\ \hline
\end{tabular}
\]](form_72.png)
![\[
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|}
\hline
Minimum Rule & \textbf{DOUBLE} & \textbf{FLOAT} & \textbf{UINT64} & \textbf{INT64} & \textbf{UINT32} & \textbf{INT32} & \textbf{UINT16} & \textbf{INT16} & \textbf{UINT8} & \textbf{INT8} \\ \hline
\hline
\textbf{DOUBLE} & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE \\ \hline
\textbf{FLOAT} & DOUBLE & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT \\ \hline
\textbf{UINT64} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & INT32 & UINT16 & INT16 & UINT8 & INT8 \\ \hline
\textbf{INT64} & DOUBLE & FLOAT & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 & INT64 \\ \hline
\textbf{UINT32} & DOUBLE & FLOAT & UINT32 & INT64 & UINT32 & INT32 & UINT16 & INT16 & UINT8 & INT8 \\ \hline
\textbf{INT32} & DOUBLE & FLOAT & INT32 & INT64 & INT32 & INT32 & INT32 & INT32 & INT32 & INT32 \\ \hline
\textbf{UINT16} & DOUBLE & FLOAT & UINT16 & INT64 & UINT16 & INT32 & UINT16 & INT16 & UINT8 & INT8 \\ \hline
\textbf{INT16} & DOUBLE & FLOAT & INT16 & INT64 & INT16 & INT32 & INT16 & INT16 & INT16 & INT16 \\ \hline
\textbf{UINT8} & DOUBLE & FLOAT & UINT8 & INT64 & UINT8 & INT32 & UINT8 & INT16 & UINT8 & INT8 \\ \hline
\textbf{INT8} & DOUBLE & FLOAT & INT8 & INT64 & INT8 & INT32 & INT8 & INT16 & INT8 & INT8 \\ \hline
\end{tabular}
\]](form_73.png)
![\[
\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|}
\hline
Maximum Rule & \textbf{DOUBLE} & \textbf{FLOAT} & \textbf{UINT64} & \textbf{INT64} & \textbf{UINT32} & \textbf{INT32} & \textbf{UINT16} & \textbf{INT16} & \textbf{UINT8} & \textbf{INT8} \\ \hline
\hline
\textbf{DOUBLE} & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE & DOUBLE \\ \hline
\textbf{FLOAT} & DOUBLE & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT & FLOAT \\ \hline
\textbf{UINT64} & DOUBLE & FLOAT & UINT64 & UINT64 & UINT64 & UINT64 & UINT64 & UINT64 & UINT64 & UINT64 \\ \hline
\textbf{INT64} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & INT64 & INT64 & INT64 & INT64 & INT64 \\ \hline
\textbf{UINT32} & DOUBLE & FLOAT & UINT64 & UINT32 & UINT32 & UINT32 & UINT32 & UINT32 & UINT32 & UINT32 \\ \hline
\textbf{INT32} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & INT32 & UINT16 & INT32 & INT32 & INT32 \\ \hline
\textbf{UINT16} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & UINT16 & UINT16 & UINT16 & UINT16 & UINT16 \\ \hline
\textbf{INT16} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & INT32 & UINT16 & INT16 & UINT8 & INT16 \\ \hline
\textbf{UINT8} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & INT32 & UINT16 & UINT8 & UINT8 & UINT8 \\ \hline
\textbf{INT8} & DOUBLE & FLOAT & UINT64 & INT64 & UINT32 & INT32 & UINT16 & INT16 & UINT8 & INT8 \\ \hline
\end{tabular}
\]](form_74.png)