• [^] # Re: suckless !! More is less !

    Posté par (site web personnel, Mastodon) . En réponse au journal Pourquoi un PC ralentit-il ?. Évalué à 3.

    Bon, j'ai refait un test mais bon, c'est pas facile, le compilo laisse rien passer :D

    procedure Representation is
     type Color is range 0 .. 255;
     type CoordX is range 0 .. 800;
     type CoordY is range 0 .. 600;
     type Pixel is record
     X : CoordX := 0;
     Y : CoordY := 0;
     R : Color := 0;
     G : Color := 0;
     B : Color := 0;
     end record;
     for Pixel use
     record
    -- R at 0 range 0 .. 1;
    -- G at 0 range 0 .. 1;
     B at 0 range 1 .. 9;
     X at 1 range 0 .. 16;
     Y at 2 range 0 .. 16;
     end record;
     for Pixel'Size use 32;
    begin
     null;
    end Representation;

    Si on compile tel quel, on obtient :

    representation.adb:18:10: component "B" overlaps "X" at line 19
    representation.adb:20:10: component "Y" overlaps "X" at line 19
    representation.adb:20:28: bit number out of range of specified size

    Si on décommente les clauses de représentation pour R et G, on obtient le message d'erreur :

    representation.adb:19:10: size for "CoordX" too small, minimum allowed is 10
    representation.adb:20:10: size for "CoordY" too small, minimum allowed is 10

    Donc c'est pas facile de faire n'importe quoi :D