2011-12-06 5 views
27

Esistono operazioni matematiche che producono numeri reali da +/- infinito. Ad esempio exp(-infinity) = 0. Esiste uno standard per le funzioni matematiche nella libreria standard C che accetta gli infiniti IEEE-754 (senza generare o restituire NaN). Sono su un sistema Linux e sarei interessato a questo elenco per glibc. Non sono riuscito a trovare una tale lista nel loro manuale online. Ad esempio la loro documentazione su exp non menziona come gestisce il caso -infinity. Qualsiasi aiuto sarà molto apprezzato.All'infinito e indietro

+1

Hai provato 'exp (-infinity)'? Ha buttato? Ha preso NaN o 0? –

+9

+1 anche solo per il titolo :-) –

+3

Lo standard di lingua non dice nulla se l'infinito è un valore rappresentabile, quindi sicuramente questo dipende dall'implementazione. –

risposta

13

Vedere anche la sezione dei collegamenti POSIX' math.h definition alle definizioni POSIX di domini accettabili.

E.g. fabs():

If x is ±0, +0 shall be returned. 
If x is ±Inf, +Inf shall be returned. 

ho convertito detto Vedere anche -sezione di StackOverflow-Markdown:

acos(), acosh(), asin(), atan(), atan2(), cbrt(), ceil(), cos(), cosh(), erf(), exp(), expm1(), fabs(), floor(), fmod(), frexp(), hypot(), ilogb(), isnan(), j0(), ldexp(), lgamma(), 0.123.233,925 mila, log10(), log1p(), logb(), modf(), nextafter(), pow(), remainder(), rint(), scalb(), sin(), sinh(), sqrt(), tan(), tanh(), y0(),

Ho contribuito a cercare/sostituire/regex-fu. Ora abbiamo solo bisogno di qualcuno con cURL-fu.

+0

Oh uomo! Credo che avrei dovuto dire "ora che ho l'url non ho bisogno della lista, posso cercare le funzioni che uso". Ma grazie molte, sentendomi male che ti ho fatto guardare tutte quelle cose. – srean

+0

@srean: Va bene, è utile per me :) –

+3

Se si desidera tutto in un posto ordinato, i casi di bordo posix sono (quasi) tutti ereditati dall'allegato F dello standard C. –

9

In C99 è in Appendice F:

F.9.3.1 The exp functions 
-- exp(±0) returns 1. 
-- exp(-∞) returns +0. 
-- exp(+∞) returns +∞. 

Appendice F è normativa e:

Un'implementazione che definisce __STDC_IEC_559__ deve essere conforme alle specifiche del presente allegato.

+0

Grazie per il puntatore. (no pun intended) – srean

+0

Buona scoperta :) --- –