JavaScript Vecteur de nombres (entiers ou réels)

Javascript est un langage très faiblement typé. Par exemple, les tableaux de type Array peuvent contenir tous les types d’objets (nombres, chaines de caractères etc.).

Cependant, dans le cas où il serait nécessaire de manipuler des tableaux de nombres (exclusivement), il est bien plus judicieux (et rapide) d’utiliser des tableaux composés uniquement de nombres.

De plus, il peut aussi s’avérer intéressant de sélectionner le type de représentation des nombres : entier (signé ou non), réel, mais aussi la précision de cette représentation (8, 16, 32 ou 64 bits).

Dans le cas de notre implémentation de JavaScript et dans le but de manipuler des fichiers de données numérique (en provenance de la capture du mouvement), plusieurs objets de type vecteur ont été proposé :

NomDescriptiontype
Float64Vectorvecteur de nombres réels en double précisionsdouble (64 bits)
Float32Vectorvecteur de nombres réels simple précisionfloat (32 bits)
Int32Vectorvecteur de nombres entiers signésinteger (32 bit)
Int16Vectorvecteur de nombres entiers signés en simple précisioninteger (16 bits)
Int8Vectorvecteur de nombre entiers 8 bitschar (8 bits)
UInt32Vectorvecteur de nombres entiers non signésunsigned integer (32 bits)
UInt16Vectorvecteur de nombres entiers non signés en simple précisionunsigned integer (16 bits)
UInt8Vectorvecteur de nombres entiers non signés 8 bitsunsigned char (8 bits)

tous ces vecteurs possèdent tous les mêmes  méthodes.

Syntaxe

var a = new Float64Vector(1000);

Fonctions

NomDescriptionsyntaxe
getretourne un élément du vecteurvar e = vec.get(1);
setassigne une valeur d'un élément du vecteurvec.set(2, 3.14159);
sorttrie (ascendant) du vecteur. Cette méthode modifie le vecteurvec.sort();
scalemultiplie tous les éléments du tableau par une valeurvec.scale(100.0);
normretourne la norme du vecteurvar n = vec.norm();
normalizenormalise les valeurs du vecteur. Cette méthode modifie le vecteurvec.normalize();
sizeretourne le nombre d'élément du tableauvar length = vec.size()
reversetranspose les éléments du vecteur. Cette méthode modifie le vecteur.vec.reverse();
shiftLa méthode shift() permet de retirer le premier élément d'un vecteur et de renvoyer cet élément. Cette méthode modifie la longueur du vecteur.var e = vec.shift();
unshiftCette méthode ajoute un ou plusieurs éléments au début du vecteur et renvoie la nouvelle longueur du vecteur.vec.unshift(12, 34, 56.8);
concatCetteméthode renvoie un nouveau vecteur qui est le résultat de la concaténation entre le vecteur original et les arguments de la fonction qui sont des vecteurs ou des valeurs numériques.var v = vec.concat(v2);
sliceCette méthode renvoie un vecteur, contenant une copie partielle du vecteur d'origine.var v = vec.slice(debut, fin);
fillCette méthode remplit tout les éléments d'un vecteur entre deux index avec une valeur statique.vec.fill(valeur[, début = 0[, fin = this.length]]);
typecette méthode renvoie le type des données sous la forme d'une chaîne de caractèresvar ts = vec.type();