Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


INTMUL

Multiplication de matrices entières

Aperçu

Description

Ce bloc calcule la multiplication de deux entrées constituées par des matrices d'entiers. Le nombre de lignes de la seconde matrice doit être égal au nombre de colonnes de la première matrice.

La sortie est une matrice où le nombre de lignes est égal au nombre de lignes de la première matrice d'entrée et le nombre de colonnes est égal au nombre de colonnes de la seconde matrice d'entrée.

Lors d'un dépassement de capacité, le résultat peut prendre trois formes :

  1. Un résultat normal non saturé. Par exemple, si le type est int8 et le résultat 128, la valeur de sortie du bloc sera -128.

  2. Un résultat saturé. Pour l'exemple précédent la valeur de sortie du bloc sera 127

  3. Un message d'erreur prévenant l'utilisateur du dépassement de capacité.

L'utilisateur peut sélectionner l'une de ces trois formes en mettant le champ Do on Overflow à 0,1 ou 2.

Types de données

Le bloc supporte les types de données suivants :

  • Entrées : matrices, vecteurs ou scalaires. Type entiers de Scilab (paramètre Data Type).

  • Sortie : même type que les entrées.

Paramètres

  • Data Type (3:int32, 4:int16, 5:int8, ...)

    Indique le type de données des entrées : entre 3 et 8.

    Propriétés : Type 'vec' de taille 1.

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

    Entre 0 et 2. Lors d'un dépassement de capacité, si le paramètre est égal à :

    • 0 : le résultat est non saturé.

    • 1 : le résultat est saturé.

    • 2 : la simulation affiche un message d'erreur.

    Propriétés : Type 'vec' de taille 1.

Propriétés par défaut

  • always active: non

  • direct-feedthrough: oui

  • zero-crossing: non

  • mode: non

  • 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: non

  • discrete-time state: non

  • object discrete-time state: non

  • name of computational function: matmul_i32

Exemple

Le but de cet exemple est de coder deux chiffres décimaux dans un seul octet. Il fait exactement le travail inverse de l'exemple du bloc EXTRACTBITS.

Fonction d'interfaçage

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

Fonctions de calcul

  • 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

Voir aussi

Report an issue
<< EXTRACTBITS Palette Entier JKFLIPFLOP >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:16:02 CEST 2024