Frage zu einem Makro in der math.h



  • Hallo liebes Forum

    Mal wieder hab ich ein Problem mit einem Makro von welchem ich die definition nirgends finde.

    In meiner math.h habe ich folgenden Abschnitt:

    #if _FEVAL == 1
    typedef double float_t;
    typedef double double_t;
    
    #elif _FEVAL == 2
    typedef long double float_t;
    typedef long double double_t;
    
    #else /* _FEVAL */
    typedef float float_t;
    typedef double double_t;
    #endif /* _FEVAL */
    

    An sich nichts großes, allerdings sagt mir mein compiler ständig dass _FEVAL undefiniert ist.
    Wieso?
    Wird es vom compiler definiert(das denke ich wegen dem _ am Anfang) und wenn ja, gibt es eine Möglichkeit herauszufinden wie es gesetzt wird?

    Habe schon mit dem gcc und dem ghs compiliert und beide definieren das Makro scheinbar nicht.
    Was der Name bedeuten soll ist mir leider auch ein Rästel, vllt. FloatingEnvironmentValues?

    Über jede Art von Hilfe bin ich sehr dankbar, falls ihr noch genaueres Wissen müsst lasst es mich wissen.

    Vielen Dank im voraus 🙄



  • das heißt das das makro nie definiert wurde, also nie irgendwo ein

    #define _FEVAL
    

    im code steht. und was nicht definiert ist, kann man auch
    nicht in einer präprozessordirektive mit einer zahl vergleichen.

    mfg Gaste



  • erstmal danke Gaste
    das was du sagst ist mir klar, erscheint ja auch logisch.
    aber die bibliothek soll laut hersteller einwandfrei funktionieren und das makro _FEVAL wird angeblich vom compiler definiert.

    nur scheinbar ist eine option notwendig auf der command line um dieses makro zu definieren, oder nicht?

    besten gruß


Anmelden zum Antworten