Nom

INTMUL — Integer matrix multiplication

Block Screenshot

Contents

Palette

Description

The INTMUL block computes the matrix multiplication of two integers inputs matrices.The number of rows of the second matrix must be equal to the number of columns of the first matrix. The output is a matrix where the number of rows is equal to the number of rows of the first input matrix and the number of columns is equal to the number of columns of the second input matrix. This block support all the integer data type.

On overflow, the result can take different forms:

1- A normal non saturated result.

2- A saturated result.

3- An error message warning the user about the overflow.

The user can select one of these three forms by setting the "DO ON OVERFLOW" field to 0,1 or 2.

Dialog box

  • Datatype (3=int32 4=int16 5=int8 ...)

    It indicates the type of the input/output data. It support all the integer datatype, number must be between 3 and 8.

    Properties : Type 'vec' of size 1.

  • Do on Overflow(0=Nothing 1=Saturate 2=Error)

    When this parameter is set to zero the result is similar to a normal multiplication of two integer matrix. When it is set to 1, on overflow the block saturate the result. When it is set to 2, on overflow an error message box appears.

    Properties : Type 'vec' of size 1.

Default properties

  • always active: no

  • direct-feedthrough: yes

  • zero-crossing: no

  • mode: no

  • regular inputs:

    - port 1 : size [-1,-2] / type 3

    - port 2 : size [-2,-3] / type 3

  • regular outputs:

    - port 1 : size [-1,-3] / type 3

  • number/sizes of activation inputs: 0

  • number/sizes of activation outputs: 0

  • continuous-time state: no

  • discrete-time state: no

  • object discrete-time state: no

  • name of computational function: matmul_i32

Interfacing function

  • SCI/modules/scicos_blocks/macros/IntegerOp/INTMUL.sci

Computational function

  • SCI/modules/scicos_blocks/src/c/matmul_i32n.c

  • SCI/modules/scicos_blocks/src/c/matmul_i16n.c

  • SCI/modules/scicos_blocks/src/c/matmul_i8n.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui32n.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui16n.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui8n.c

  • SCI/modules/scicos_blocks/src/c/matmul_i32s.c

  • SCI/modules/scicos_blocks/src/c/matmul_i16s.c

  • SCI/modules/scicos_blocks/src/c/matmul_i8s.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui32s.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui16s.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui8s.c

  • SCI/modules/scicos_blocks/src/c/matmul_i32e.c

  • SCI/modules/scicos_blocks/src/c/matmul_i16e.c

  • SCI/modules/scicos_blocks/src/c/matmul_i8e.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui32e.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui16e.c

  • SCI/modules/scicos_blocks/src/c/matmul_ui8e.c

See also

Authors

Fady NASSIF - INRIA