CNVTBG (3I)     version 4.6.9     March 2022

User Intro    Prog Intro    Liste des programmes    Liste des manuels
Table of Contents


NAME

cnvtbg, c_cnvtbg - conversion d'un tableau d'un type dans un autre

SYNOPSIS

subroutine cnvtbg(a,b,ndim,icodi,icodo,iexpi,iexpo)
integer a(1),b(1),ndim,icodi(2),icodo(2),iexpi,iexpo

void c_cnvtbg(a,b,ndim,icodi,icodo,iexpi,iexpo)
char *a, *b;int ndim;Fort_int icodi[2], icodo[2], iexpi, iexpo;

DESCRIPTION

cnvtbg, c_cnvtbg effectuent la conversion du tableau a\f (ndim points de byte/bit size icodi[0]), de type icodi[1]) et d'exposant iexpi) dans le tableau b (byte size icodo[0], type icodo[1], et exposant iexpo).
En fortran : byte/bit size icodi(1), icodo(1), types icodi(2), icodo(2).
Les valeurs de type et de byte/bit size sont celles décrites dans Intro(3i) .

Le codage en virgule fixe est par convention traité de la manière suivante:

quel que soit le nombre de bits pour le codage, le nombre maximum (tous les bits a 1, sauf bit de signe si le codage est signé) représente le nombre flottant 2.**exposant.
Pour un codage virgule fixe sur N bits sans signe, avec exposant 0 la valeur binaire x sera convertie en x/(2**N - 1), ce qui permet de normaliser les valeurs dans l'intervalle [0,1]. Si l'exposant est N, on obtiendra (x * 2**N)/(2**N - 1) et non pas x.
Pour un codage virgule fixe sur N bits avec signe, avec exposant 0 la valeur binaire de x sera convertie en x/(2**(N-1)-1) si le bit de signe est à 0 (valeur positive) ou en x/(2**(N-1)) si le bit de signe est à 1 (valeur négative). Cela permet de normaliser les valeurs dans l'intervalle [-1,1].

Le codage après conversion doit être dans l'intervalle [0.,1.] pour les images non signées et dans [-1,+1] pour les images signées. Les valeurs en dehors de l'intervalle sont forcées aux bornes.

"SEE ALSO"

Intro(3i) , pckbt(3i)

DIAGNOSTICS

cnvtbg, c_cnvtbg font une erreur 9 si le byte size ou le type sont incorrects.

BUGS

Le codage flottant avec byte size différente de 4 n'est pas accepté.
Les codages fixe de 17 à 24 bits ne sont pas acceptés.