Forum tama's team
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum tama's team

cp: ne peut évaluer `brain': Aucun fichier ou dossier de ce type
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Connexion
Nom d'utilisateur:
Mot de passe:
Connexion automatique: 
:: Récupérer mon mot de passe
Derniers sujets
» Numbers
compilo (suite) Icon_minitimepar Ver2guerre Dim 02 Avr 2023, 00:47

» Mort ?
compilo (suite) Icon_minitimepar godbod Dim 22 Aoû 2021, 12:23

» Network, essai 1
compilo (suite) Icon_minitimepar godbod Dim 09 Juil 2017, 02:18

» GODBOD
compilo (suite) Icon_minitimepar godbod Sam 08 Juil 2017, 14:05

» mon humeur
compilo (suite) Icon_minitimepar Ver2guerre Sam 30 Juil 2016, 19:44

» [A voir] Programme de traduction original : WikiTranslate
compilo (suite) Icon_minitimepar AdRiWeB Lun 01 Fév 2016, 04:50

» Reprise ?
compilo (suite) Icon_minitimepar Emyl Jeu 14 Juin 2012, 21:17

» Euh, ah ?
compilo (suite) Icon_minitimepar Ver2guerre Dim 27 Mai 2012, 12:11

» Problème TI 89 Titanium non visible après mise à jour
compilo (suite) Icon_minitimepar abdoukid Mer 23 Mai 2012, 13:37

» Y'a quelqu'un ?
compilo (suite) Icon_minitimepar Ver2guerre Sam 21 Avr 2012, 23:10

Quick message
Qui est en ligne ?
Il y a en tout 14 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 14 Invités :: 1 Moteur de recherche

Aucun

Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

Partagez | 
 

 compilo (suite)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
M@D_Doc
amis
amis
M@D_Doc

Nombre de messages : 437
Age : 34
Localisation : entre deux chaussettes sales
Loisirs : Etudiant... /
Humeur : :p
items : o
Personalized field :
Réputation : 0
Points : 6694
Date d'inscription : 20/08/2007

Profil
TI: 84+,92
TO: 200
Spécialité: aucune

compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitimeDim 16 Sep 2007, 19:11

Ben... pour l'instant, c'est sur PC.... Et pour le mettre sur TI, ce sera une autre paire de manches... déjà arriver à réduire la taille du compilateur... qui prend actuellement 8Mo Sad
Oui, c'est un peu un rêve, mais sur PC... ça marche!
Revenir en haut Aller en bas
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitimeDim 16 Sep 2007, 19:16

aïe ! 8 Mo c'est énorme tu te serais pas trompé ? (c'est plus de 3 fois la taille de la mémoire de la 89 tita)
Revenir en haut Aller en bas
M@D_Doc
amis
amis
M@D_Doc

Nombre de messages : 437
Age : 34
Localisation : entre deux chaussettes sales
Loisirs : Etudiant... /
Humeur : :p
items : o
Personalized field :
Réputation : 0
Points : 6694
Date d'inscription : 20/08/2007

Profil
TI: 84+,92
TO: 200
Spécialité: aucune

compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitimeDim 16 Sep 2007, 19:26

justement... Sur PC c'est rien.... mais ça rentre pas sur une TI... c'est le problème que mathieu essaye de régler en ce moment.... Mais bon, c'est pas gagné...
Revenir en haut Aller en bas
AdRiWeB
amis
amis
AdRiWeB

Nombre de messages : 3655
Age : 31
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 6275
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitimeDim 16 Sep 2007, 19:40

a transférer dans le bon topic ... ^^
Revenir en haut Aller en bas
http://www.adriweb.net
ProgVal
modérateur
modérateur
ProgVal

Nombre de messages : 4107
Age : 173
Localisation : In da cloud
items : o
Personalized field :
Réputation : -4
Points : 6715
Date d'inscription : 09/08/2007

Profil
TI: V200 - NSpire
TO: 120 [2352 - 2%]
Spécialité: Programmation web

compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitimeDim 16 Sep 2007, 19:41

Euh, tu peux utiliser des algos de compressions comme ZipLib ou Komp.
Code:
            struct hArbre  *arbre, *debut, *lecture;
            unsigned char  *tampon, *n2, *limite, *limite2;
            short          chemin[512];
            short          nbre1 = 0, nbre2 = 0, mode;
            unsigned short  val, longueur;
            unsigned long  bit = 0;

            arbre = HeapDeref(handle = HeapAllocHigh(512 * sizeof(struct hArbre)));
            str += 5;
            nam = get_ptr(entry = get_entry(str));
            if (nam != NULL && handle != H_NULL)
            {
                longueur = var_len(nam);
                limite = nam + longueur - 1;
                if (memcmp(limite - 5, "KOMP", 5) != 0)
                {
                    if ((tampon = malloc(longueur + 250)) == NULL)
                    {
                        int_add(3);
                        goto Fini;
                    }
                    if (longueur < 17)
                    {
                        int_add(2);
                        goto Fini;
                    }

//                  HeapLock(*(unsigned short*)(tampon-2)) ;
                    *(unsigned short *)tampon = *(unsigned short *)nam;
                    tampon[2] = *limite;

                    memset(chemin, 0, 1024);
                    for (n = nam + 2; n < limite; n++)
                        chemin[*n]++;
                    for (i = 0; i < 256; i++)
                    {
                        val = chemin[i];
                        nbre1 += (val && val < 256);
                        nbre2 += (val >= 256);
                    }
                    mode = nbre2 != 0 ? 2 : 1;
                    if (nbre1 + 2 * nbre2 < 255 * mode)
                        mode = 0;

                    tampon[3] = mode;
                    n2 = tampon + 4;
                    if (mode)
                    {
                        for (i = 0; i < 256; i++)
                        {
                            val = chemin[i];
                            *n2++ = val;
                            if (mode == 2)
                                *n2++ = val >> 8;
                        }
                    }
                    else
                    {
                        *n2++ = nbre2;
                        *n2++ = nbre1;
                        for (i = 0; i < 256; i++)
                        {
                            if ((val = chemin[i]) > 255)
                            {
                                *n2++ = i;
                                *n2++ = chemin[i] >> 8;
                                *n2++ = val;
                            }
                        }
                        for (i = 0; i < 256; i++)
                        {
                            val = chemin[i];
                            if (val && val < 256)
                            {
                                *n2++ = i;
                                *n2++ = val;
                            }
                        }
                    }

                    arbre_to_tab(mk_arbre(arbre, tampon + 3), 0, 0, (unsigned long *)chemin);

                    j = 0;
                    limite2 = tampon + longueur - 10;
                    for (n = nam + 2; n < limite; n++)
                    {
                        bit += (unsigned long)(chemin[2 ** n + 1]) << j;
                        j += chemin[2 ** n];
                        while (j >= 8)
                        {
                            if (n2 >= limite2)
                            {
                                int_add(2);
                                goto Fini;
                            }
                            *n2++ = bit;
                            bit >>= 8;
                            j -= 8;
                        }
                    }
                    if (j > 0)
                        *n2++ = bit;

                    longueur = n2 - tampon;
                    nam = mk_perso_ptr(str, "KOMP", longueur + 9);
                }
                else
                {
                    longueur = var_len(nam + 2) - 2;
                    if ((tampon = malloc(longueur)) == NULL)
                    {
                        int_add(3);
                        goto Fini;
                    }
//                  HeapLock(*(unsigned short*)(tampon-2)) ;
                    debut = mk_arbre(arbre, nam + 5);
                    n = nam + 6 + 256 * (nam[5] == 1) + 512 * (nam[5] == 2) + (3 * nam[6] + 2 * nam[7] + 2) * (nam[5] == 0);
                    n2 = tampon;
                    j = 0;
                    while (n2 - tampon < longueur - 1)
                    {
                        lecture = debut;
                        do
                        {
                            if (j == 0)
                            {
                                nbre1 = *n++;
                                j += 8;
                            }
                            val = nbre1 % 2;
                            nbre1 >>= 1;
                            j--;
                            if (val == 0)
                                lecture = lecture->gauche;
                            else
                                lecture = lecture->droite;
                        }
                        while (lecture->gauche != NULL || lecture->droite != NULL);
                        *n2++ = lecture->valeur;
                    }
                    *n2 = nam[4];
                    nam = mk_ptr(str, longueur + 2);
                }

                if (nam != NULL)
                {
                    memcpy(nam, tampon, longueur);
                    int_add(0);
                }
                else
                    int_add(3);
              Fini:
                if (tampon != NULL)
                    free(tampon);
            }
            else
                int_add(1);
            HeapFree(handle);
        }

        else if (strncmp(str, "kinfo:", 6) == 0)
        {
            nam = get_ptr(get_entry(str + 6));
            if (nam != NULL)
            {
                if (memcmp(nam + var_len(nam) - 6, "KOMP", 5) == 0)
                {
                    int_add(nam[4]);
                    int_add(var_len(nam + 2));
                }
                else
                    int_add(0);
            }
        }
        if (GetArgType(arg) == LIST_TAG)
            SkipArg((ESQ *) arg);
    }

    nam = mk_ptr("fl", 5003 - Num);

    *nam = 0xE5;
    memcpy(nam + 1, Retour + Num + 1, 4999 - Num);
    nam[5000 - Num] = 0xD9;

PS: Je rassure tout le monde, ça vient pas de moi, c'est FLib2...
Revenir en haut Aller en bas
https://progval.net
tama
Admin
Admin
tama

Nombre de messages : 12376
Age : 32
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 9434
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitimeDim 16 Sep 2007, 19:43

héhé je l'avais deviné avant la fin du code :p
mais c'est HS là donc je vais déplacer les messages HS
Revenir en haut Aller en bas
Contenu sponsorisé




compilo (suite) Vide
MessageSujet: Re: compilo (suite)   compilo (suite) Icon_minitime

Revenir en haut Aller en bas
 

compilo (suite)

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum tama's team :: Dead corner :: Archives :: Archives 2008 :: M@D_Doc-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forumactif.com