/***************************************************************/
Type Decimal Implemente Public : ICorpsCommutatif, IEspaceMetre Defaut Final TailleSegment 32 ConserverObjets
/* Objet : Encapsulation du type Decimal. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes de IAlgebreCommutative. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) +(D : Nul Ou Decimal) Retourner Decimal;
Operateur Optimiser(Invariant) -() Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) -(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) *(D : Nul Ou Decimal) Retourner Nul Ou Decimal;
Operateur ++(P : Nul Ou Booleen) Retourner Nul Ou Decimal;
Operateur --(P : Nul Ou Booleen) Retourner Nul Ou Decimal;
/*-------------------------------------------------------------*/
/* Heritage des methodes de ICorpsCommutatif. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) /(D : Nul Ou Decimal) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) ^(D : Nul Ou Decimal) Retourner Nul Ou Decimal;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IEspaceMetre. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) <=(D : Nul Ou Decimal) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) >=(D : Nul Ou Decimal) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) <(D : Nul Ou Decimal) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) >(D : Nul Ou Decimal) Retourner Nul Ou Booleen;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Constructeur();
Constructeur Optimiser(Invariant, NulAbsorbant) (E: Nul Ou Entier);
Constructeur Optimiser(Invariant, NulAbsorbant) (R: Nul Ou Reel);
Constructeur Optimiser(Invariant, NulAbsorbant) (C: Nul Ou Caractere, Base : Nul Ou Entier=Nul);
Constructeur Optimiser(Invariant, NulAbsorbant) (B : Nul Ou Binaire, BigEndian : Booleen=Vrai);
Operateur Optimiser(Invariant, NulAbsorbant) ==(D : Nul Ou Decimal) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(D : Nul Ou Decimal) Retourner Nul Ou Booleen;
Operateur =(E : Nul Ou Entier);
Operateur =(R : Nul Ou Reel);
Operateur Optimiser(Invariant, NulAbsorbant) +(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) +(R : Nul Ou Reel) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) -(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) -(R : Nul Ou Reel) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) *(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) *(R : Nul Ou Reel) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) /(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) /(R : Nul Ou Reel) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) ^(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) ^(R : Nul Ou Reel) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) \(D : Nul Ou Decimal) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) \(E : Nul Ou Entier) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) \(R : Nul Ou Reel) Retourner Nul Ou Decimal;
Operateur Optimiser(Invariant, NulAbsorbant) ==(E : Nul Ou Entier) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) ==(R : Nul Ou Reel) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(E : Nul Ou Entier) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(R : Nul Ou Reel) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) <=(E : Nul Ou Entier) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) <=(R : Nul Ou Reel) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) >=(E : Nul Ou Entier) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) >=(R : Nul Ou Reel) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) <(E : Nul Ou Entier) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) <(R : Nul Ou Reel) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) >(E : Nul Ou Entier) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) >(R : Nul Ou Reel) Retourner Nul Ou Booleen;
Fonction Optimiser(Invariant, NulAbsorbant) Arrondir(N : Nul Ou Entier) Retourner Nul Ou Decimal;
Fonction Optimiser(Invariant) VersEntier() Retourner Nul Ou Entier;
Fonction Optimiser(Invariant) VersReel() Retourner Nul Ou Reel;
Fonction Optimiser(Invariant) VersCaractere(Filtre : Nul Ou Caractere=Nul, PointVirgule : Nul Ou Caractere=Nul) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) VersCaractere(Base : Nul Ou Entier) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) VersBinaire(BigEndian : Booleen=Vrai) Retourner Nul Ou Binaire;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type Decimal modélise un nombre réel en virgule fixe de précision arbitraire définie par les paramètres UpsMat.TaillePartieEntiere et UpsMat.TaillePartieDecimale.
Le type Decimal possède quatre constructeurs :
Principal
/*******/
Variable
/******/
D : Decimal;
/* 'D' est une variable de type décimal. */
Debut
D=D+Decimal(10.5);
/* Addition de deux décimaux. */
D=D+10;
/* Addition d'un décimal et d'un entier. */
D=D-Decimal(10.5);
/* Soustraction de deux décimaux. */
D=D-10;
/* Soustraction d'un décimal et d'un entier. */
D=D*Decimal(2.5);
/* Multiplication de deux décimaux. */
D=D*2;
/* Multiplication d'un décimal et d'un entier. */
D=D/Decimal(2.5);
/* Division de deux décimaux. */
D=D/10;
/* Division d'un décimal et d'un entier. */
D=D^Decimal(1.5);
/* Puissance de deux décimaux. */
D=D^2;
/* Puissance d'un décimal par un entier. */
Si D==Decimal(10.5) Alors
/* Egalité entre deux décimaux. */
...
Fin Si
Si D==10 Alors
/* Egalité entre un décimal et un entier. */
...
Fin Si
Si D!=Decimal(10.5) Alors
/* Inégalité entre deux décimaux. */
...
Fin Si
Si D!=10 Alors
/* Inégalité entre un décimal et un entier. */
...
Fin Si
Si D<=Decimal(10.5) Alors
/* Infériorité large entre deux décimaux. */
...
Fin Si
Si D<=10 Alors
/* Infériorité large entre un décimal et un entier. */
...
Fin Si
Si D<Decimal(10.5) Alors
/* Infériorité stricte entre deux décimaux. */
...
Fin Si
Si D<10 Alors
/* Infériorité stricte entre un décimal et un entier. */
...
Fin Si
D=Decimal("12345678901234567890123456789012345678901234567890.12345678901234567890123456789012345678901234567890");
/* Conversion d'une chaîne de caractères en un décimal. */
Fin Principal
- | - | - | - | - | - | - | - | - |