Anmelden

View Full Version : Logarithmus-Funktion ln aus RPG-Programm



chschubas
05-07-04, 17:46
Ich suche eine Möglichkeit aus einem ILE-RPG-Programm heraus den natürlichen Logarithmus ln(x) für das Argument x berechnen zu lassen. Kennt jemand eine elegante Möglichkeit, evtl. per CALL auf ein API oder C-Programm?

Für Hinweise wäre ich SUPER-DANKBAR !!!

Viele Grüße, chschubas

Fuerchau
05-07-04, 18:52
Du kannst C-Funktionen direkt über RPGLE einbinden, die Prototypen musst du allerdings selber definieren. Als Binderverzeichnis ist dann QC2LE zu verwenden.

Die C-Funktion heißt:

double log(double x);

B.Hauser
05-07-04, 18:57
Hallo chschubas

die einfachste Variante ist die SQL-Funktion LN() in embedded SQL (Quellen-Art SQLRPGLE) zu verwenden.

Beispiel:


C/Exec SQL
C+ Set :MyVar = ln(:NatLog)
C/End-Exec


MyVar und NatLog sind numerische Felder, die in den D-Bestimmungen definiert wurden.

Schau Dir auch mal die Funktion EXP() an.

SQL Reference (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/info/db2/rbafzmst.pdf)

Birgitta

BenderD
05-07-04, 19:54
Hallo,

zusätzlich zu den vorschlägen von Baldur und Birgitta, kann man natürlich noch eine der gängigen Näherungsrechnungen (Taylorreihen Entwicklung z.B.) machen, das habe ich mal zu vor ILE Zeilten für eine Effektivzins Berechnung gemacht.

mfg

Dieter Bender


Ich suche eine Möglichkeit aus einem ILE-RPG-Programm heraus den natürlichen Logarithmus ln(x) für das Argument x berechnen zu lassen. Kennt jemand eine elegante Möglichkeit, evtl. per CALL auf ein API oder C-Programm?

Für Hinweise wäre ich SUPER-DANKBAR !!!

Viele Grüße, chschubas

chschubas
05-07-04, 21:55
Vielen Dank Euch allen für die schnelle Reaktion und die qualifizierten Hinweise, werde sie morgen gleich ausprobieren.

Danke und Ciao! Christian