TBVENP (3I) version 4.6.9 March 2022
User Intro
Prog Intro
Liste des programmes
Liste des manuels
NAME
SYNOPSISsubroutine tbvenp(a,b,npts,nbits,ndimv,iv,nbv)
integer a(1),b(1),ndimv,nbv,nbits
subroutine tbpenv(a,b,npts,nbits,ndimv,iv,nbv)
integer a(1),b(1),ndimv,nbv,nbits
subroutine tbp1tv(a,b,iv,ndimv,nbv,nbits)
integer a(1),b(1),iv,ndimv,nbv,nbits
subroutine tbvtp1(a,b,iv,ndimv,nbv,nbits)
integer a(1),b(1),iv,ndimv,nbv,nbits
#include <inrimage/image.h>
c_tbvenp(a,b,npts,nbits,ndimv,iv,nbv)
char *a, *b; int ndimv, nbv, nbits, iv, npts;
c_tbpenv(a,b,npts,nbits,ndimv,iv,nbv)
char *a, *b; int ndimv, nbv, nbits, iv, npts;
c_tbp1tv(a,b,iv,ndimv,nbv,nbits)
char *a, *b; int ndimv, iv, nbv, nbits;
c_tbvtp1(a,b,iv,ndimv,nbv,nbits)
char *a, *b; int ndimv, nbv, nbits;
DESCRIPTION
tbpenv (tbpenv_)
regroupe, dans b, les composantes iv à iv - nbv -1,
codées sur nbits bits,
des npts vecteurs de dimension ndimv,
à partir de nbv tableaux répartis dans a.
a est découpé en nbv
tableaux de taille multiple de
sizeof(t_aligned) (4 ou 8 octets selon les systèmes).
iv est compté à partir de 1.
Si nbv est différent de ndimv,
les autres composantes des vecteurs sont conservées.
On pourra utiliser buffer_size et buffer_split (voir ligbit(3i)
)
pour calculer le découpage.
tbp1tv (tbp1tv_) charge la composante iv des nbv vecteurs à ndimv composantes (nbits par point) contenus dans b, à partir de a.
tbvtp1 (tbvtp1_) transfère dans b, la composante iv des nbv vecteurs de dimensions ndimv contenus dans a. Chaque élément étant codé sur nbits bits.
EXEMPLE
char *in, *out;
Fort_int nb, nbits, ndimv, ibs;
nbits = ligbit_(lfmt,&ibs);
ndimv = lfmt[I_NDIMV];
nb = nblig * lfmt[I_NDIMX];
incr = buffer_split(buffer_size(lfmt,ndimv * nblig),ndimv)
c_tbvenp( in, out, ndimv, nb, nbits);
for(i=0;i<nb;i++) {
traitement(out);
out += incr;
}
Dans cet exemple, buffer_size rend la taille multiple desizeof(t_aligned)
pour que buffer_split puisse découper optimalement.