View Full Version : Logarithmus-Funktion ln aus RPG-Programm
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
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);
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
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
Vielen Dank Euch allen für die schnelle Reaktion und die qualifizierten Hinweise, werde sie morgen gleich ausprobieren.
Danke und Ciao! Christian