π
<-

NumWorks Python 13.2 : matplotlib.pyplot + tas/heap 32K !

NumWorks Python 13.2 : matplotlib.pyplot + tas/heap 32K !

Unread postby Admin » 31 Mar 2020, 22:02

12384NumWorks continue à se démener pour t'apporter à domicile le meilleur outil possible en ces temps difficiles. La nouvelle version NumWorks 13.2 est déjà disponible, et malgré la numérotation les avancées en sont majeures ! :D





1) Python et mémoires

Go to top

Parlons maintenant mémoire. En Python il y a plus précisément 3 mémoires :
  • la mémoire de stockage qui accueille et conserve tes scripts
  • le stack (pile) qui, à l'exécution, accueille les références vers les objets créés
  • le heap (tas) qui, à l'exécution, accueille les valeurs de ces objets

En gros le stack / pile limite donc le nombre d'objets différents pouvant exister simultanément en mémoire, alors que le heap / tas limite la taille globale occupé par ces objets.

Dans la dernière version NumWorks avait déjà fortement amélioré la mémoire Python :
  • en doublant la mémoire de stockage :)
  • en quadruplant le stack / pile :D
Il restait donc encore à s'occuper du heap / tas. ;)
En pratique, le heap / tas était selon nous de taille insuffisante sur NumWorks quand on considère les tailles énormes occupées en mémoire par les objets Python les plus simples.

Si les algorithmes de calculs mathématiques passaient certes nickel, il n'en allait pas de même pour ceux qui sortaient des sentiers battus.

Utilisation de chaînes ou fonctions graphiques pour créer des interfaces, utilisation de listes ou pire listes de listes, projets de SNT ou NSI, ... l'utilisateur un peu plus intéressé que la moyenne par la programmation en Python de sa NumWorks était condamné à rencontrer très rapidement des erreurs de mémoire et des problèmes d'optimisation de l'utilisation du tas / heap de plus en plus insolubles... :'(

L'appel mem() avec le script mem.py suivant permet d'estimer la capacité du heap / tas, et retournait jusqu'à présent autour de 16K sur NumWorks.

Code: Select all
def sizeenv():
  s=0
  import __main__
  for o in dir(__main__):
    try:s+=size(eval(o))
    except:pass
  return s
def size(o):
  s,t=0,type(o)
  if t==str:s=49+len(o)
  if str(t)=="<class 'function'>":s=136
  if t==int:
    s=24
    while o:
      s+=4
      o>>=30
  if t==list:
    s+=64
    for so in o:s+=8+size(so)
  return s
def mem(v=1,r=1):
  try:
    l=[]
    try:
      l+=[r and 793+sizeenv()]
      if v*r:print(" ",l[0])
      l+=[0]
      l+=[""]
      l[2]+="x"
      while 1:
        try:l[2]+=l[2][l[1]:]
        except:
          if l[1]<len(l[2])-1:l[1]=len(l[2])-1
          else:raise(Exception)
    except:
      if v:print("+",size(l))
      try:l[0]+=size(l)
      except:pass
      try:l[0]+=mem(v,0)
      except:pass
      return l[0]
  except:return 0

12385Et bien NumWorks n'a pas manqué le rendez-vous et s'est bien occupé du heap / tas pour cette version. :)

La capacité en est doublée, passant de 16K à 32K, enfin ! :bj:

Une véritable bouffée d'oxygène qui devrait booster ta créativité, te permettant de poursuivre tes projets bien plus loin avant de ressentir le moindre besoin d'optimisation ! :D

D'où le classement :
Aux examens :
  1. 1,032942 Mo :
    Casio Graph 90+E
  2. 1,022145 Mo :
    HP Prime (version alpha)
  3. 100,560 Ko :
    Casio Graph 35+E II
  4. 32,339 Ko
    NumWorks (firmware Omega)
  5. 31,624 Ko
    NumWorks
  6. 20,200 Ko
    TI-83 Premium CE Edition Python
  7. 16,259 Ko
    NumWorks
    (ancienne version)
Hors examens :
  1. 2,049276 Mo :
    TI-Nspire (application MicroPython)
  2. 1,032942 Mo :
    Casio Graph 90+E
  3. 1,022145 Mo :
    HP Prime (version alpha)
  4. 257,636 Ko :
    Casio Graph 35/75+E (application CasioPython)
  5. 100,560 Ko :
    Casio Graph 35+E II
  6. 31,899 Ko :
    Casio Graph 35+E II (application CasioPython)
  7. 32,339 Ko
    NumWorks (firmware Omega)
  8. 31,624 Ko
    NumWorks
  9. 22,605 Ko
    TI-83 Premium CE + TI-Python (firmware tiers)
  10. 20,200 Ko
    TI-83 Premium CE Edition Python
  11. 19,924 Ko
    TI-83 Premium CE + TI-Python
  12. 16,238 Ko
    NumWorks
    (ancienne version)




2) Python et module matplotlib

Go to top

Accroche-toi bien à ta chaise, le module Python de tracé dans un repère tant teasé par la concurrence depuis des mois sort enfin là où on ne l'attendait pas, c'est-à-dire sur ta NumWorks et même en exclusivité à ce jour ! :D

Il prend le nom de matplotlib.pyplot, avec les fonctions listées et documentées ci-dessous :


Réalisons en une fouille un peu plus approfondie à l'aide du script explmod.py, à la recherche d'éventuels éléments cachés :
Code: Select all
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform.startswith('TI-Python') or sys.platform=='Atmel SAMD21':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id

platform=getplatform()
#lines shown on screen
plines=[29,16,  7, 9,11,0,0]
#max chars per line
#(error or CR if exceeded)
pcols =[53,99,509,32,32,0,0]

nlines=plines[platform]
ncols=pcols[platform]
curline=0

def mprint(*ls):
  global curline
  st=""
  for s in ls:
    if not(isinstance(s,str)):
      s=str(s)
    st=st+s
  stlines=1+int(len(st)/ncols)
  if curline+stlines>=nlines:
    input("Input to continue:")
    curline=0
  print(st)
  curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  s=str(obj)
  return s.startswith("<") and s.find(" ")>=0

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c,c2=0,0
  spitm=str(pitm)
  for itms in sorted(dir(pitm)):
    c,c2=c+1,c2+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm) and itm!=pitm:
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c2=c2+explmod(itm,pitmsl2,False)[1]
    except:
      mprint(hd+itms)
  if c>0 and reset:
    mprint(hd+"Total: "+str(c)+" 1st level item(s)")
    if c2>0 and c2!=c:
      mprint(hd+"       "+str(c2)+" item(s)")
  return [c,c2]

1238612387

Rien de bien extraordinaire ici, mais on découvre quand même que matplotlib.pyplot est lui-même un sous-module de matplotlib, ce que le nommage suggérait déjà.

Suite à cet ajout majeur, profitons-en pour voir où nous en sommes niveau richesse du Python sur calculatrices:

autorisés aux
examens français
inutilisables aux
examens français
NumWorks
Casio Graph
35+E II
90+E
TI-83PCE
Ed. Python
MicroPython
TI-Nspire
CasioPython
Casio Graph
35+E II
35+E/USB
75/85/95
TI-Python
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
88-188
.
.
12
.
41
3
11
6
.
9
.
3
38
.
84-175
.
.
.
.
25
.
.
.
.
8
.
.
.
.
92-189
2-4
2
.
7
28
.
.
.
.
8
15-42
4
.
.
97-440
3-13
.
13-17
9-13
42-46
.
.
10-14
.
.
17-63
.
.
25-29
93-218
2-4
.
12
7
41
.
.
3
.
.
15-45
.
.
.
91-204
2-4
.
12
7
41
.
.
6
.
8
12
.
.
24
92-189
2-4
2
.
7
28
.
.
.
.
8
15-42
4
.
.
93-191
2-4
2
12
7
41
.
.
6
15
8
15-45
8-10
.
.
spécifiqueion:48
kandinsky:6
ti_graphics:?
ti_hub:?
ti_plotlib:?
ti_system:12
ti_rover:?
prime:3-7nsp:3-10board:22
storage:7-21
Modules11313989913
Eléments265-365117-208170-296219-642176-340203-318158-284238-384

En terme de diversité des modules, la NumWorks se fixe donc au 2ème rang, un excellent choix ! :bj:
Aux examens :
  1. 13 modules :
    TI-83 Premium CE Edition Python
  2. 11 modules :
    NumWorks
  3. 9 modules :
    HP Prime (version alpha)
  4. 3 modules :
    Casio Graph 35+E II
    Casio Graph 90+E
Hors examens :
  1. 13 modules :
    TI-Python (firmware tiers)
    TI-83 Premium CE Edition Python
  2. 11 modules :
    NumWorks
  3. 9 modules :
    HP Prime (version alpha)
    Casio Graph 35+E II
    Casio Graph 35+E/USB
    Casio Graph 75/85/95
    Casio fx-9750GII
    Casio fx-9860GII
    Casio fx-9860G

    (appli CasioPython)
  4. 8 modules :
    TI-Nspire
    (appli MicroPython)
    TI-Python
  5. 3 éléments :
    Casio Graph 35+E II
    Casio Graph 90+E

En terme de richesse des modules, la NumWorks varie également entre les 2ème et 3ème rangs, toujours de loin un des meilleurs choix ! :bj:
Aux examens :
  1. 219-642 éléments :
    HP Prime (version alpha)
  2. 265-365 éléments :
    NumWorks
  3. 170-296 éléments :
    TI-83 Premium CE Edition Python
  4. 117-208 éléments :
    Casio Graph 35+E II
    Casio Graph 90+E
Hors examens :
  1. 219-642 éléments :
    HP Prime (version alpha)
  2. 238-384 éléments :
    TI-Python (firmware tiers)
  3. 265-365 éléments :
    NumWorks
  4. 176-340 éléments :
    TI-Nspire
    (appli MicroPython)
  5. 203-318 éléments :
    Casio Graph 35+E II
    Casio Graph 35+E/USB
    Casio Graph 75/85/95
    Casio fx-9750GII
    Casio fx-9860GII
    Casio fx-9860G

    (appli CasioPython)
  6. 170-296 éléments :
    TI-83 Premium CE Edition Python
  7. 158-284 éléments :
    TI-Python
  8. 117-208 éléments :
    Casio Graph 35+E II
    Casio Graph 90+E




3) Mon premier script matplotlib

Go to top

L'utilisation de matplotlib.pyplot est extrêmement simple.

Avant de faire appel à matplotlib.pyplot, tes scripts doivent commencer par importer ce module d'une façon ou d'une autre, par exemple avec from matplotlib.pyplot import *.

Les tracés que tu demandes sont donc effectués dans un repère, sur un calque distinct de celui de la console Python. Sans instruction en ce sens, c'est le seul calque de la console qui restera affiché.
A chaque fois que tu souhaites rendre visible le calque du repère avec tes derniers tracés (par exemple avant la fin de ton script, ou avant que l'utilisateur ait à saisir quelque chose), il te faut faire appel à la fonction show().
Cette dernière affiche non seulement le calque du repère avec tes derniers tracés, mais te permet de le faire défiler avec les touches fléchées, et attend l'appui sur la touche d'annulation
pour rendre la main au script.

Tu peux si tu le souhaites activer/désactiver l'affichage d'une grille permettant de mieux lire les coordonnées du repère avec grid().

12392Tu peux également configurer toi-même les bornes de la fenêtre à l'aide de axis([xmin, xmax, ymin, ymax]).
Note toutefois que ce n'est absolument pas obligatoire. Par défaut la fenêtre s'adapte automatiquement pour que soient visibles l'ensemble de tes tracés comme illustré ci-contre par le code ci-dessous ! :bj:
Une petite marge t'est même ménagée. Toutefois, on peut noter ici que l'on n'obtient pas forcément un repère orthonormal (même unité en abscisse et en ordonnée).
Code: Select all
from matplotlib.pyplot import *

def sumvec(u, v):
  return [u[0] + v[0], u[1] + v[1]]

def arrowvec(p0, v, s=''):
  arrow(p0[0], p0[1], v[0], v[1])
  text(p0[0] + v[0]/2, p0[1] + v[1]/2, s)

u = [1, 5]
v = [5, 1]
w = sumvec(u, v)
grid()
lp = [[-5, 0], [5, 0]]
arrowvec(lp[0], u, 'u')
print(sumvec(lp[0], u))
arrowvec(sumvec(lp[0], u), v, 'v')
arrowvec(lp[0], w, 'w')
arrowvec(lp[1], u, 'u')
arrowvec(lp[1], v, 'v')
arrowvec(sumvec(lp[1], u), v, 'v')
arrowvec(sumvec(lp[1], v), u, 'u')
arrowvec(lp[1], w, 'w')
text(0, 0, 'w=u+v')

show()




4) matplotlib et possibilités

Go to top

Comme la bibliothèque Python standard matplotlib, le matplotlib de NumWorks dispose d'une fonction bar(x, height) pour le tracé de diagrammes en barres.
La fonction hist(x, bins) sera quant à elle à privilégier pour les histogrammes au sens large (barres de largeurs différentes).

Toujours comme avec matplotlib, la fonction scatter(x, y) permet d'afficher une représentation en nuage de points.
plot(x, y) pour sa part reliera en prime les points, mais attention dans l'ordre avec lequel tu les fournis.

C'est déjà une réponse claire aux besoins du programme de Physique-Chimie de Seconde, même si un usage en Mathématiques n'est pas à exclure, dans la partie Statistiques ou encore pour étudier le fonctionnement d'un grapheur de fonctions et éviter les pièges des lectures graphiques. :bj:

Et puis ce n'est pas tout, arrow(x, y, dx, dy) permettra de tracer des flèches pour représenter des vecteurs, aussi bien en Physique-Chimie (vecteurs force, vecteur vitesse, ...) qu'en Mathématiques ! :bj:
Un petit lancer parabolique avec ça ? ;)
Code: Select all
from matplotlib.pyplot import *
from math import *

g=9.81

def x(t,v_0,alpha):
  return v_0*cos(alpha)*t
def y(t,v_0,alpha,h_0):
  return -0.5*g*t**2+v_0*sin(alpha)*t+h_0

def vx(v_0,alpha):
  return v_0*cos(alpha)
def vy(t,v_0,alpha):
  return -g*t+v_0*sin(alpha)

def t_max(v_0,alpha,h_0):
  return (v_0*sin(alpha)+sqrt((v_0**2)*(sin(alpha)**2)+2*g*h_0))/g

def simulation(v_0=15,alpha=pi/4,h_0=2):
  tMax=t_max(v_0,alpha,h_0)
  accuracy=1/10**(floor(log10(tMax))-1)
  T_MAX=floor(tMax*accuracy)+1
  X=[x(t/accuracy,v_0,alpha) for t in range(T_MAX)]
  Y=[y(t/accuracy,v_0,alpha,h_0) for t in range(T_MAX)]
  VX=[vx(v_0,alpha) for t in range(T_MAX)]
  VY=[vy(t/accuracy,v_0,alpha) for t in range(T_MAX)]
  for i in range(T_MAX):
    arrow(X[i],Y[i],VX[i]/accuracy,VY[i]/accuracy)
  grid()
  show()




5) matplotlib et compatibilités

Go to top

Mais ce qu'il y a de fantastique avec la bibliothèque matplotlib.pyplot de NumWorks , c'est que les scripts créés sont compatibles aussi bien avec le Python des calculatrices Casio qu'avec les implémentations Python complètes pour ordinateur ! :bj:
Si si, pour la rentrée 2020 les mêmes scripts graphiques Python seront exécutables à la fois sur NumWorks et sur Casio ! :D

En réalité chez Casio, si nous avons bien compris/deviné il y a :
  • une bibliothèque graphique spécifique du constructeur, casioplot
  • un script préchargé matplotl.py (d'où la limitation historique à 8 caractères en passant), qui joue le rôle d'interface pour cette bibliothèque, une interface fournissant des fonctions d'appel aux spécifications compatibles avec matplotlib.pyplot
  • et de même un script préchargé turtle.py fournissant pour sa part des fonctions d'appel compatibles avec les spécifications de la bibliothèque turtle standard
Les scripts Casio seront donc compatibles à un détail près, la ligne import matplotl.pyplot étant à remplacer par import matplotl ou inversement.

On peut d'ailleurs même avoir du code compatible absolument identique avec la petite astuce d'importation suivante :
Code: Select all
try:
  from matplotlib.pyplot import *
except:
  from matplotl import *


Traitons quelques exemples à la fois sur NumWorks, Casio et ordinateur pour voir jusqu'où va cette compatibilité.
Ne disposant pas encore de la prochaine mise à jour de Casio rajoutant ces fonctionnalités, nous reprendrons des exemples déjà fournis et illustrés par ce constructeur.

Un petit diagramme en barres avec fenêtre automatique :
NumWorksCasioordi
12389
Code: Select all
try:
  from matplotlib.pyplot import *
except:
  from matplotl import *

x = [119.1, 119.3, 119.5, 119.6, 119.9, 120.0, 120.1, 120.3, 120.4]
y = [1, 3, 4, 3, 1, 3, 1, 3, 1]

bar(x, y, 0.08)
show()

Des couleurs différentes, des barres qui sont parfois remplies parfois non, mais cela n'en est pas moins parfaitement fonctionnel sans le moindre changement autre que l'importation, c'est fantastique ! :bj:

Un petit nuage de points en précisant la fenêtre et avec un titre :
NumWorksCasioordi
12390
Code: Select all
try:
  from matplotlib.pyplot import *
except:
  from matplotl import *

x = [100, 110, 120, 130, 140, 150, 160]
y = [105, 95, 75, 68, 53, 46, 31]

scatter(x, y)
axis([80, 170, 10, 130])
text(110, 125, "Nombre d'acheteurs vs prix de vente")
show()

Casio utilisant ici pour le titre des coordonnées absolues prévues pour son écran, forcément ça passe moins bien sur l'écran NumWorks de géométrie différente et il faut ici faire défiler avec les flèches.

Un diagramme en ligne brisée pour approcher une fonction :

NumWorksCasioordi
12395
Code: Select all
try:
  from matplotlib.pyplot import *
except:
  from matplotl import *

def fonction():
    def f(x):
        return x**3-6*x**2+9*x+1
    start = -0.5
    end = 4.5
    steps = 0.1
    x = [start+i*steps for i in range(int((end-start)/steps)+1)]
    y = [f(j) for j in x]
    plot(x, y)
    show()

On remarque mieux ici que NumWorks utilise une graduation sur les axes, alors que les autres utilisent une graduation en bordure de fenêtre.

Et enfin quelques flèches/vecteurs :
NumWorksCasioordi
12391
Code: Select all
try:
  from matplotlib.pyplot import *
except:
  from matplotl import *

arrow(0.20, 0.54, 0, -0.15)
arrow(0.30, 0.46, 0, -0.15)
arrow(0.40, 0.59, 0, -0.15)
show()

Personne ne semble tracer les pointes de flèches de la même façon, mais au moins ça marche.




Conclusion

Go to top

Grosse surprise donc de la part de NumWorks que ce soit pour le tas / heap Python de 32K ou pour la bibliothèque de tracés dans un repère matplotlib, nous ne nous y attendions pas.

Bravo pour avoir su écouter les retours et fournir un tas / heap qui devrait permettre d'aborder sereinement certains des projets de SNT / NSI, plus ambitieux que les petits algos de calcul traités en Mathématiques. :bj:
C'est en tous cas un très bon signal envoyé aux enseignants-prescripteurs concernés par ces matières pour la rentrée 2020. ;)

Félicitations pour avoir réussi à incorporer une bibliothèque de tracés dans un repère fonctionnelle, et ce dans un temps apparemment plus court que la concurrence. :bj:
Et surtout, merci d'avoir opté dans ce cadre pour un standard déjà existant, matplotlib.pyplot, en conformité avec ce qui est mis en avant auprès des futurs enseignants de NSI à l'oral de leur concours, et donc pour la compatibilité aussi bien avec Casio qu'avec les implémentations Python complètes ! :D
L'enseignant pourra ainsi gérer des classes disposant de modèles de marques différentes, et librement faire des aller-retours entre calculatrices et ordinateurs ! :D

Et puis petite surprise, visiblement NumWorks tient compte en un temps record de toutes les critiques, même des plus insignifiantes. :p

Malgré les ajouts importants le nouveau firmware 13.2.0 est sensiblement moins gros que le 13.1.0.

Il semble y avoir donc eu quelques optimisations dans ce court laps de temps, et l'ancien modèle NumWorks N0100 malgré sa Flash de seulement 1 Mio devrait donc pouvoir continuer à bénéficier de l'ensemble des nouveautés pendant quelques mises à jour encore. :)

Liens :
 
Ce compte ne reçoit pas de MP / This account does not receive PMs.
User avatar
AdminAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 1%
 
Posts: 460
Images: 28
Joined: 30 Aug 2011, 11:00
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby cent20 » 31 Mar 2020, 22:05

critor wrote:Et bien NumWorks n'a pas manqué le rendez-vous et s'est bien occupé du heap / tas pour cette version.

La capacité en est doublée, passant de 16K à 32K, enfin ! :bj:

Une véritable bouffée d'air frais qui devrait booster ta créativité, te permettant de poursuivre tes projets bien plus loin avant de rencontrer le moindre besoin d'optimisation !


Non Critor, désolé mais cette fois tu ne nous aura pas !

Image

Même si tu as publié avant la date, on ne te croit pas !
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.3%
 
Posts: 1047
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby critor » 31 Mar 2020, 22:08

Mais si, mais si, tu en rêves depuis des mois, regarde : :D
12385
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby cent20 » 01 Apr 2020, 08:15

Je peine à y croire.

Est-il possible qu'ils aient installé un timer dans l'OS et que dès le 2 avril le heap redescende à 16 ko ? :troll:

Pour matplotlib, les exemples proposés dans la documentation sont très intéressants, reste à savoir quels fonctions ont été implémentés et lesquelles ne l'ont pas été.

La Gallerie rassemble de vraies oeuvres d'art, on oublie souvent que les mathématiques c'est un art, c'est d'ailleurs pour cela qu'il n'y a plus de cours d'art plastique au lycée et que l'horaire de maths en seconde lui augmente un petit peu.
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.3%
 
Posts: 1047
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby Dogm » 01 Apr 2020, 08:59

cent20 wrote:La Gallerie rassemble de vraies oeuvres d'art, on oublie souvent que les mathématiques c'est un art, c'est d'ailleurs pour cela qu'il n'y a plus de cours d'art plastique au lycée et que l'horaire de maths en seconde lui augmente un petit peu.


Et que les maths disparaissent du tronc commun en 1ère :troll:
User avatar
DogmEcrivain
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 44.3%
 
Posts: 117
Images: 7
Joined: 14 Nov 2019, 18:53
Location: Lyon, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale Math NSI
GitHub: Tim-ats-d

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby critor » 01 Apr 2020, 09:03

Dogm wrote:
cent20 wrote:La Gallerie rassemble de vraies oeuvres d'art, on oublie souvent que les mathématiques c'est un art, c'est d'ailleurs pour cela qu'il n'y a plus de cours d'art plastique au lycée et que l'horaire de maths en seconde lui augmente un petit peu.


Et que les maths disparaissent du tronc commun en 1ère :troll:


La presse a tendance à l'oublier dans sa communication, mais pour être précis les Maths n'étaient déjà pas un tronc commun avant la réforme.
Il n'y en avait pas de façon obligatoire en série L.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby redgl0w » 01 Apr 2020, 09:07

cent20 wrote:
critor wrote:Et bien NumWorks n'a pas manqué le rendez-vous et s'est bien occupé du heap / tas pour cette version.

La capacité en est doublée, passant de 16K à 32K, enfin ! :bj:

Une véritable bouffée d'air frais qui devrait booster ta créativité, te permettant de poursuivre tes projets bien plus loin avant de rencontrer le moindre besoin d'optimisation !


Non Critor, désolé mais cette fois tu ne nous aura pas !

Image

Même si tu as publié avant la date, on ne te croit pas !


On ne notera pas le poisson d'avril de numworks x3
https://github.com/numworks/epsilon/pull/1428
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby Ti64CLi++ » 01 Apr 2020, 09:11

Petite coquille dans le classement pour la taille du heap hors examen, la Numworks avec Omega devrait être avant la Casio Graph 35+E II avec Casio Python.
Ou alors une erreur dans la valeur ;)
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby redgl0w » 01 Apr 2020, 09:16

Ti64CLi++ wrote:Petite coquille dans le classement pour la taille du heap hors examen, la Numworks avec Omega devrait être avant la Casio Graph 35+E II avec Casio Python.
Ou alors une erreur dans la valeur ;)


Ca doit être un problème dans le classement et pas dans les valeurs
Du moins pour omega, la valeur semble bonne (https://github.com/Omega-Numworks/Omega ... /app.h#L75)
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: NumWorks Python 13.2 : mathplotlib.pyplot + tas/heap 32K

Unread postby Ti64CLi++ » 01 Apr 2020, 09:21

Je pensais plus à la valeur pour la Casio Graph 35+E II mais tu as sûrement raison. Faut juste attendre que critor confirme et corrige, parce que j'ai peur de faire une bêtise si je le fais moi même ^^
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi


Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
959 utilisateurs:
>899 invités
>52 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)