Thema: Delphi Doku zu DECMath?

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Doku zu DECMath?

  Alt 16. Nov 2005, 15:42
Mist, ich erzähle da mal wieder Schwachsinn über meine eigenen Source.

Also NSgn() ist so deklariert

Delphi-Quellcode:

function NSgn(const A: IInteger; Extended: Boolean = False): Integer; overload;
// Sign of A
// returns if Extended = False
// 0 if A = 0
// 1 if A > 0
// -1 if A < 0
// retruns if Extended = True
// 0 if A = 0
// A if 0 < A < $80000000
// -A if -$80000000 < A < 0
// MaxInt if A >= $80000000
// -MaxInt if A <= -$80000000

procedure NSgn(var A: IInteger; Sign: Integer); overload;
// set sign of A
// Signum(A) = Signum(Sign)
Die eine Funktion fragt das Vorzeichen ab die andere setzt es.

Bei der Abfrage mit NSgn(A, False); oder eben NSgn(A) liefert die Funktion immer -1,0,+1 als mögliche Werte zurück.
Bei der Abfrage NSgn(A, True); liefert die Funktion -A wenn A > -2^31-1, -MaxInt wenn A < -MaxInt und umgekerht zurück. Liefert NSgn(A, True) = -1 so ist A == -1 etc.pp.

Ich hatte noch im Hinterkopf meine TBigNum Klasse, der Vorgänger von IInteger, bei dem war es wie oben beschrieben. Bei IInteger habe ich also diese Designschwäche schon beseitigt gehabt. Also alles bestens.

Oh mann ich werde wohl alt

Gruß Hagen
  Mit Zitat antworten Zitat