 |
|
 |
 |
 |
  | Liste ordonnée rapide et efficace de nombre à virgule flottante en 64 bits. Numbers fonctionne comme un tableau et supporte for .. in et les opérateurs [], mais les méthodes get() et set() sont bien plus efficaces.
|
 |
 |
 |
 |
 |
  | length: Integer Nombre dʼéléments dans la liste.
|
 |
 |
 |
 |
 |
  | Numbers( values String) Crée un nouveau tableau, initialisé par la conversion des valeurs (values) en numbers. Lʼespace, la virgule, la tabulation sont acceptés comme séparateurs ; dʼautres caractères sont utilisables (avec une perte de performances toutefois).
|
 |
 |
 |
 |
 |
  | Numbers( length Integer) Crée un nouveau tableau dont les valeurs sont initialisées à 0.
|
 |
 |
 |
 |
 |
  | Numbers( source Numbers) Crée un nouveau tableau réplique exacte de lʼobjet Numbers indiqué.
|
 |
 |
 |
 |
 |
  | add( value ) Incrémente les valeurs du tableau avec celle indiquée (value)
|
 |
 |
 |
 |
 |
  | at( index Integer) => Number Voir get()
|
 |
 |
 |
 |
 |
  | close( ) Libère immédiatement la mémoire allouée à cet objet.
|
 |
 |
 |
 |
 |
  | exec( ) Méthode spéciale permettant de faire rapidement des opérations sur vecteurs avec un évaluateur RPN. Chaque paramètre passé à cette méthode doit être un objet Numbers (tous de la même taille !) ou une chaîne désignant une opération mathématique. Exemple : a = new Numbers(5) b = new Numbers("1 2 3 4 5") c = new Numbers("10 20 30 40 50") a.exec(b,c,'+') writeln(a) Le résultat est : 11,22,33,44,55 La pile de la calculatrice débute par (b, c, '+') et le résultat est stocké dans a (lʼobjet dont la méthode exec() est invoquée). Les arguments sont évalués de la gauche vers la droite de telle sorte que a est toujours le résultat de chaque opération et le nombre en fin de pile pour la prochaine opération. Vous pouvez ainsi faire : a = new Numbers("1 2 3 4 5") b = new Numbers("10 20 30 40 50") a.exec(b,'+') writeln(a) avec le même résultat. Lorsquʼil manque une opérande, lʼobjet dont la méthode est appelée est ajouté en fin de pile. Cette méthode peut avoir autant dʼarguments que souhaité (dès lors que chaque tableau soit de la même taille). Les opérateurs supportés et le nombre dʼarguments requis sont spécifiés ci-après : • +2 • *2 • - 2 (or 1 for négation) • / 2 (or 1 for inversion) • cos 1 • sin 1 • tan 1 • atan2 2 • atan 1 • pow 2 • exp 1 • log 1 Remarque : la négation et la division (inversion) unaires sont autorisées comme raccourcis
|
 |
 |
 |
 |
 |
  | get( index Integer) => Number Renvoie le nombre à la position index. Lève une exception si lʼindex est hors limites.
|
 |
 |
 |
 |
 |
  | log( ) Remplace chaque élément du tableau par son logarithme (de base e)
|
 |
 |
 |
 |
 |
  | max( start Integer, length Integer) Remplace chaque élément du tableau par son logarithme (de base e) Renvoie lʼ index de la valeur maximale dans lʼintervalle du tableau délimité par une position de départ (start) et un nombre dʼéléments (length).
|
 |
 |
 |
 |
 |
  | min( start Integer, length Integer) Renvoie lʼ index de la valeur minimale dans lʼintervalle du tableau délimité par une position de départ (start) et un nombre dʼéléments (length).
|
 |
 |
 |
 |
 |
  | pow( p ) Eléve chaque élément du tableau à la puissance p
|
 |
 |
 |
 |
 |
  | put( index Integer, value Number) => Number Voir set()
|
 |
 |
 |
 |
 |
  | resize( length Integer) Modifie la taille du tableau. Lors dʼune augmentation de taille, la mémoire requise est allouée et les valeurs ajoutées prennent 0 pour valeur. Lors dʼune diminution de la taille, la mémoire résiduelle nʼest pas libérée (elle sera réemployée en cas dʼaugmentation).
|
 |
 |
 |
 |
 |
  | scale( value ) Multiplie chaque élément du tableau par la valeur indiquée (value)
|
 |
 |
 |
 |
 |
  | set( index Integer, value Number) => Number Actualise la valeur à la position (index ) avec la valeur indiquée. Lève une exception si lʼindex est hors limites.
|
 |
 |
 |
 |
 |
  | sum( start Integer, length Integer) Renvoie la somme de tous les nombres de lʼintervalle du tableau défini par la position de départ start et comprenant length éléments.
|
 |
 |
 |
 |
 |
  | sum2( start Integer, length Integer) Renvoie la somme des carrés de tous les nombres de lʼintervalle du tableau défini par la position de départ start et comprenant length éléments.. Pourquoi voudriez-vous faire cela ? Pour calculer lʼécart type rapidement. var n = new Numbers("1 495 52 2 34 5 6 1 12 35 6 2 34") writeln("Average: ",n.sum()/n.length) writeln("Average of the square: ", n.sum2()/n.length)
|
 |
 |
 |
 |
 |
  | toString( delimiter string, start Integer, length Integer) => String La classe Numbers fonctionne comme la classe JavaScript Array. Vous pouvez modifier le formatage des données renvoyées en choisissant votre séparateur (la virgule par défaut). Spécifiez la position de départ (start ) et le nombre dʼéléments (length) pour limiter lʼopération à un intervalle choisi.
|
 |
 |
|


 |
 |
 |