PDA

View Full Version : Berechnung SINUS/COSINUS



RolandScherieble
05-05-03, 18:04
Hallo,

ich habe das Problem auf der AS400 Formeln für Berechnung von Seitenlängen von Vielecken zu definieren. Ist es unter RPG, ILE-RPG möglich SINUS oder COSINUS zu berechnen. Gibt es eventuell Tool's mit denen es möglich ist diese Funktionen zu ermitteln. Für Lösungsansätze wäre ich sehr
dankbar.

Danke für Eure Tipps, hat super funktioniert.

[Dieser Beitrag wurde von RolandScherieble am 10. Mai 2003 editiert.]

Sven Schneider
05-05-03, 18:49
Siehe :
http://as400bks.rochester.ibm.com/iseries/v5r2/ic2929/index.htm?info/apis/ile5a1TOC.htm

Sven

B.Hauser
05-05-03, 19:10
Hallo,

bevor Du Dir die Finger mit irgendwelchen APIs brichst, schau Dir mal die SQL-Funktionen an.
SQL bietet alle Funktionen zur Winkel-Berechnung:
ACOS, ASIN, ATAN, ATANH, ATAN2, COS, COSH, COT, DECREES, RADIANS, SIN, SINH, TAN, TANH.

Zu finden unter: http://as400bks.rochester.ibm.com/iseries/v5r2/ic2929/info/db2/rbafzmst.pdf

Beispiel:
C/Exec-SQL
C+ Set :Erg = COS(:Cosinus)
C/End-exec

Birgitta

BenderD
05-05-03, 19:32
Hallo,

am einfachsten ist sicherlich SQL, wie Brigitta empfiehlt, es müssten aber auch C Funktionen referenzierbar sein - das ist immer noch einfacher als der CEExxx Kram.

Dieter

<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von RolandScherieble:
Hallo,

ich habe das Problem auf der AS400 Formeln für Berechnung von Seitenlängen von Vielecken zu definieren. Ist es unter RPG, ILE-RPG möglich SINUS oder COSINUS zu berechnen. Gibt es eventuell Tool's mit denen es möglich ist diese Funktionen zu ermitteln. Für Lösungsansätze wäre ich sehr
dankbar.

[Dieser Beitrag wurde von RolandScherieble am 05. Mai 2003 editiert.][/quote]

Sven Schneider
05-05-03, 20:00
In http://www.redbooks.ibm.com/pubs/pdfs/redbooks/sg245402.pdf
findest du auch ein Bsp. mir C-API's




H BndDir('QC2LE') DftActGrp(*NO)

* Prototype for cos function
D Cosine PR 8F ExtProc('cos')
D double 8F Value


D Radians S 8F Inz
D Result S 8F Inz


C Eval Result = Cosine(Radians)



Ist aber auch nicht einfacher als :




D Cosine PR ExtProc('CEESDCOS')
D Radians 8F
D Result 8F
D fc OPTIONS(*OMIT)


C CALLP Cosine(Radians : Result : *omit)



Der einzige Unterschied ist die Parameterrückgabe und das das C-API über das Binderverzeichnis Q2CLE explizit eingebunden werden muß. (Bei ILE-RPG sind die CEE-Api's über das Standardbinderverzeichnis QRNXLE bzw. das *SRVPGM QRNXUTIL automatisch verfügbar)
Die C-Prototypes weiterer math. Funktionen findest du in QSYSINC/H(MATH).

Sven



[Dieser Beitrag wurde von Sven Schneider am 05. Mai 2003 editiert.]