Hallo,
hat schon ein von euch Erfahrung mit fmadds gemacht?
Der Befehl fmadds addiert Gleitkommazahlen.
Es geht um ein Demo-Projekt auf einem DSP-L Prozessor. Ich bin auf der
Stelle Anfänger, was um DSP-L Prozessoren angeht.
Was passiert, bzw. wie reagiert der Befehl, wenn er mit rein Integer
Variablen gefüttert wird? Theoretisch müsste es egal sein, ich weiß aber
nicht, was der Compiler macht, wenn ich die Variablen als integer
definiere.
Meine erste Vermutung ist, dass es etwas mit der Compiler -
Konfiguration nicht passt. In dem Datenblatt steht, dass der Prozessor
keine Gleitkommazahlen (weder float noch double) unterstützt.
Der Compiler greift aber auf Assembler Ebene auf fmadds.
Im C - Code ist der verwendete Typ (genauer gesagt Typdefinition in C++)
wie folgt:
1 | class frac_t; // property( 16 bit signed saturating 15 frac );
|
2 |
|
3 | class frac_t property(16 bit signed frac=15 saturating);
|
4 |
|
5 | class frac_t {
|
6 | public:
|
7 | frac_t(double);
|
8 | explicit frac_t(longfrac_t);
|
9 | };
|
Zweite Vermutung wäre, dass der Datenblatt nicht stimmt. Kann es sein,
dass es DSP-L Prozessor, der für Signalverarbeitung ausgelegt ist, keine
Gleitkommazahlen kennt?