30

ba tu rajoutes .x (x est la précision) entre % et f smile
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

31

double, c'est %lf. long long, c'est %lld en C99, %qd en vieux *nix et %I64d sous Win32.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

32

On peut utiliser printf pour afficher les long long sur TI ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

33

OK merci. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

34

Sasume
: On peut utiliser printf pour afficher les long long sur TI ?

Non. sad AMS n'implémente aucune des 3 conventions dans son vcbprintf.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

35

Et surtout, The Right Thing est d'utiliser "std::cout<<machin;", pas ces hacks de printf.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

36

Oué mais il sait pas programmer en C++... (D'ailleurs, la stl n'utilise-t-elle pas les fonctions de la lib c en interne ?)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

37

Pollux
: Et surtout, The Right Thing est d'utiliser "std::cout<<machin;", pas ces hacks de printf.

J'appellerais plutôt ça "The Wrong Thing". C'est la manière la plus efficace de faire un "Hello, World!" de plusieurs KO et qui prend 10 secondes. roll
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

38

Tu racontes vraiment n'importe quoi Kevin roll Si il fallait 10 s pour un simple cout, ça se saurait roll
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

39

GoldenCrystal
: Oué mais il sait pas programmer en C++... (D'ailleurs, la stl n'utilise-t-elle pas les fonctions de la lib c en interne ?)

Oui, et c'est pour ça que c'est lent. Et c'est gros parce que du code orienté objet ne peut pas être linké fonction par fonction, mais seulement classe par classe, donc tu dois linker toute la classe ostream et toutes les classes dont elle dépend en entier.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

40

GoldenCrystal :
Tu racontes vraiment n'importe quoi Kevin roll Si il fallait 10 s pour un simple cout, ça se saurait roll

J'exagère (enfin, pas pour la taille!), mais à coup de wrappers, on a vite du code leeeeent.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

41

Par hazard, est-ce que vous connaissez un bon tuto pour réaliser une compression arithmétique? Car après un temps de recherche sur google je trouve rien du tout, juste des exemples théoriques sans utilités. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

42

Kevin Kofler
:
Pollux
: Et surtout, The Right Thing est d'utiliser "std::cout<<machin;", pas ces hacks de printf.

J'appellerais plutôt ça "The Wrong Thing". C'est la manière la plus efficace de faire un "Hello, World!" de plusieurs KO et qui prend 10 secondes. roll

N'importe quoi.

class ostream {
// données internes
  char *data;
  int length;
  ...
public:
  ...
  operator<<(const char *s) {
    while (*s)
      this<<(*s++);
    return this;
  }
};


Ce n'est pas parce que c'est marqué dans l'aide de chapo TIGCCLib chapo par Zeljko Juric que c'est vrai... Cela dit il y a d'autres trucs plus délicats qui, si on ne fait pas gaffe, peuvent être très bloatwaresque. En l'occurence, ça n'est pas le cas, et c'est même bien plus efficace que printf("%s",string) -- printf a en plus comme "features" de :
- nécessiter un parsing supplémentaire de la chaîne de formatage
- avoir un moins bon comportement en terme de localité de cache
- être 100x moins flexible (impossible d'ajouter des types autres que les types de base standard => extensions incompatibles pour les types tels que "long long", ou encore impossibilités de le faire pour ses propres types [et donc, appels multiples de printf] )

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

43

Je viens de réaliser le compresseur arithmetique et j'obtient les même taux que Huffman c'est normal? sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

44

A quelques bits près, oui tongue Et de toute façon LZ77+Arith ne devrait pas donner des résultats significativement meilleurs que LZ77+Huff, parce que la différence entre LZ77 et LZ77+Huff est déjà relativement minime (enfin, plus ou moins grande selon la façon dont tu codes ton LZ77).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

45

Autant utiliser LZSS+Huff et LZSS+ARI. smile

Pourquoi le codage arithmétique donne les même résultats que Huffman? Le peu de site que j'ai vu parler de la compression arithmétique souligné ça puissance de coder dans le meilleur des cas un symbole sur 0.15 bits alors que Huffman fait 1 bit?

De plus j'ai les même taux en faisant BWT+Huff et BWT+ARI. sad

Dans le livre The data compression book j'ai réalisé celui du chapitre 5 en quelque sorte, celui du chapitre 6 vaut le coups d'être réalisé?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

46

Rien ne vaut le LZMA. smile Excellente compression, nécessite très peu de mémoire pour décompresser (marche même sur TI, je viens de faire l'intégration à un ttstart expérimental). Seul problème: il y n'a pratiquement pas de documentation, la seule référence est la source sans aucun commentaire. sad Donc j'ai peur que ce soit inutilisable pour toi. sad
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

47

On sait jamais tu pourrais me donner la source, j'ai pas eux beaucoups d'infos sur le codage arithmétique et j'ai réussie.

Le LZMA c'est quoi au juste? Déjà LZ77+? ou LZSS+? Tu peux m'expliquer brièvement?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

48

La compression de 7-Zip. C'est du LZ à la sauce Igor Pavlov. Je n'ai pas encore réussi à déchiffrer son code soi-disant libre (LGPL), mais en C++ Win32 et sans commentaires. sad
http://www.7-zip.org
Il y a aussi une source de décompression en C portable (LZMA SDK), mais elle aussi sans commentaires, et avec un readme très spartiate. On ne peut même pas utiliser sa routine sans déchiffrer son programme LzmaTest.c. Il n'a pas l'air d'être doué en documentation... Ou peut-être il fait exprès pour qu'on lui paye le support, je n'en sais rien.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

49

Ah ok j'ai horreur de voir un code illisible et sans commentaires. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

50

Tu n'es pas le seul. grin sad
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

51

Lol j'ai regardé je pige rien du tout c'est vraiment n'importe quoi. sad
J'en ai mal à la tête.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

52

Pourquoi le codage arithmétique donne les même résultats que Huffman? Le peu de site que j'ai vu parler de la compression arithmétique souligné ça puissance de coder dans le meilleur des cas un symbole sur 0.15 bits alors que Huffman fait 1 bit

Le codage arithmétique peut aussi faire sur 0.1 bits, 0.01 bits, 0.001 bits et même moins que ça happy

Le pb c'est que dans le cas d'un truc déjà compressé par LZ tes fréquences seront déjà distribuées relativement uniformément, donc tous tes symboles seront codés sur plus ou moins 8 bits...
De plus j'ai les même taux en faisant BWT+Huff et BWT+ARI. sad

Oui, enfin le codage arithmétique doit au moins être quelques fractions de pourcent plus efficace, non? Enfin tout dépend de la façon dont est réglé ton codage adaptif, évidemment (et si t'as pas les mêmes réglages en Huff et en ARI, c normal que ARI soit moins efficace que ce qu'il devrait être [ou le contraire] )

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

53

OK il donne 1% de mieux que Huffman mais c'est vraiment minable, j'attend à ce qu'il fasse mieux.
Le codage arithmétique peut aussi faire sur 0.1 bits, 0.01 bits, 0.001 bits et même moins que ça


Je fais de plus en plus gaffe aux sites car j'ai eu beaucoups d'exemples d'arbres de Huffman faux ou encore de dictionnaires LZW horriblement faux.
Oui, enfin le codage arithmétique doit au moins être quelques fractions de pourcent plus efficace, non? Enfin tout dépend de la façon dont est réglé ton codage adaptif, évidemment (et si t'as pas les mêmes réglages en Huff et en ARI, c normal que ARI soit moins efficace que ce qu'il devrait être [ou le contraire] )


En tout cas c'est très très proche.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

54

OK il donne 1% de mieux que Huffman mais c'est vraiment minable, j'attend à ce qu'il fasse mieux.

Oui, c'est raisonnable comme ordre de grandeur happy Enfin il y a une légère différence, donc y a pas de pb niveau implémentation...
Ah ok j'ai horreur de voir un code illisible et sans commentaires.

Arrête, c'est plutôt lisible, et les noms sont très explicites cheeky Mais c'est vrai que ça passe mieux avec le syntax highlighting et des tabs de 4 caractères smile (au lieu de 2)
J'ai regardé vite fait, et c'est loin d'être du LZ77 tout simple avec qqs trucs en plus. Le décompresseur bouffe clairement du CPU (extraction bit par bit avec une probabilité estimée avec plein de paramètres différents, et puis ça ressemble pas mal au LZW apparemment), donc c pas forcément top pour les TI... Et niveau conso RAM, ça dépend des fichiers sad (la limite théorique est apparemment de 12 Go, même si l'implémentation utilise des int ^^ d'ailleurs j'ai l'impression que y a un exploit utilisable à ce niveau-là grin faudrait que je télécharge et installe 7zip pour vérifier, mais je pense bien qu'on peut le faire crasher avec un .lzma invalide happy)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

55

"Pas adapté aux TIs"? Il donne juste des fichiers 11% plus petits que les 2 ex-meilleurs (PepZip et ttpack) dans mes tests (je n'ai pas encore testé XPak, mais je crois qu'il est lui aussi battu facilement), tout cela avec une routine de décompression assez petite (dans les options qu'il donne, j'ai privilégié la taille par rapport à la vitesse comme d'habitude smile), une consommation de RAM très faible et une vitesse de décompression raisonnable (à peu près 2 fois le temps de décompression de ttpack - mais il faudra que je fasse des benchs plus précis que de l'à-vue-d'œil sous VTI).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

56

Kevin Kofler :
"Pas adapté aux TIs"? Il donne juste des fichiers 11% plus petits que les 2 ex-meilleurs (PepZip et ttpack) dans mes tests

Ah ouais, pas mal happy
(je n'ai pas encore testé XPak, mais je crois qu'il est lui aussi battu facilement)

Comme je l'ai déjà dit N fois (avec N grand smile), XPak n'a pas la prétention d'être meilleur que ttpack...
tout cela avec une routine de décompression assez petite (dans les options qu'il donne, j'ai privilégié la taille par rapport à la vitesse comme d'habitude smile)

sacré Kevin...
une consommation de RAM très faible et une vitesse de décompression raisonnable (à peu près 2 fois le temps de décompression de ttpack - mais il faudra que je fasse des benchs plus précis que de l'à-vue-d'œil sous VTI).

eek Euh, il fait qd même des manipulations bit à bit en faisant un packet de décalages et de lectures mémoire à chaque bit, j'ai l'impression, donc bon... Tu peux donner un chiffre en ko/s ? (je trouve ça plus parlant)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

57

Grâce à Kevin plus personne n'utuilisera le format d'exécutables compressés de TIGCC grin
Entre le format de Pollux qui décompresse en 0,5 secondes et celui de Kevin qui mettra 8 secondes, y'a pas photo...
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

58

Kevin> Ah ouai quand même.

Le LZW est très puissant si il est couplé avec d'autres choses, mais seul il donne des résultats très en dessous du LZSS. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

59

C pas une question de le coupler avec qqch... La compression, c pas une question de mélanger des milliers d'algo tous plus puissants les uns que les autres, c une fois qu'on a trouvé un truc de base qui marche, essayer de trouver une façon de le coder. Donc, dans le cas de LZMA, c extrêmement fine-tuné et chaque type d'apparition (bit de longueur, bit qui dit si on fait du littéral ou non, etc...) est pondéré par une probabilité relativement unique et qui est fonction de la position, de ce qu'il y a eu avant, etc... (mais évidemment, il faut pas que ça soit trop unique non plus, sinon on a pas assez d'échantillons pour faire des statistiques -- bref tout ça c une histoire de réglages, il faut surtout faire pleins de tests pour arriver à un bon résultat sad)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

60

Thibaut B :
Grâce à Kevin plus personne n'utuilisera le format d'exécutables compressés de TIGCC grin

De toute façon, on pourra difficilement mettre le LZMA en compression par défaut avec son compresseur non-portable (les features Win32-only, j'en ai marre).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité