From: Rouben R. <ros...@um...> - 2002-10-31 02:53:40
|
Brian, re your message: > In src/mmath.h, try replacing > > #define IS_INF_OR_NAN(x) (!finite(x)) > > with: > > #define IS_INF_OR_NAN(x) (!isfinite(x)) > > > The later function is stancard in C99. Could you or anyone else using > HPUX look at the system headers (and math.h in particular) to see if > _ISOC99_SOURCE is used? Looking at RH Linux headers, I think that might > be the symbol to test to do this: > > #ifdef _ISOC99_SOURCE > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #else > #define IS_INF_OR_NAN(x) (!finite(x)) > #endif I don't know about HPUX, but Section 6.10.8 of the C99 standard has an explicit list of predefined macros: 6.10.8 Predefined macro names The following names shall be defined by the implementation: __LINE__ [description snipped] __FILE__ [description snipped] ... __STDC_VERSION__ The decimal constant 199901L (footnote) (footnote) This macro was not specified in ISO/IEC 9899-1990 and was specified as 199409L in ISO/IEC 9899/AMD1:1995. Therefore it appears that a portable test would be something like the following: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define IS_INF_OR_NAN(x) (!isfinite(x)) #else #define IS_INF_OR_NAN(x) (!finite(x)) #endif -- Rouben Rostamian <ros...@um...> |
From: Rouben R. <ros...@um...> - 2002-10-31 15:45:53
|
Brian, re your message: > In light of these two replies, maybe this would do it: > > > #if defined(isfinite) > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #elif defined(finite) > #define IS_INF_OR_NAN(x) (!finite(x)) > #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #else > #define IS_INF_OR_NAN(x) (!finite(x)) > #endif This may do it, but it comes across as a Band-Aid fix -- we don't know if it will work on all platforms or where it will break. A more robust solution would be to do away with preprocessor tests altogether and let autoconf test directly for the presence of finite() or isfinite() at compile time. I don't know enough about autoconf to provide the required invocation for it. Come to think of it, I can use such invocation in some of my own projects. Perhaps someone else on this list can help in this regard. -- Rouben Rostamian <ros...@um...> |
From: Brian P. <br...@tu...> - 2002-10-31 16:20:38
|
Rouben Rostamian wrote: > Brian, re your message: > > >>In light of these two replies, maybe this would do it: >> >> >>#if defined(isfinite) >>#define IS_INF_OR_NAN(x) (!isfinite(x)) >>#elif defined(finite) >>#define IS_INF_OR_NAN(x) (!finite(x)) >>#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L >>#define IS_INF_OR_NAN(x) (!isfinite(x)) >>#else >>#define IS_INF_OR_NAN(x) (!finite(x)) >>#endif > > > This may do it, but it comes across as a Band-Aid fix -- we don't know > if it will work on all platforms or where it will break. A more robust > solution would be to do away with preprocessor tests altogether and > let autoconf test directly for the presence of finite() or isfinite() > at compile time. > > I don't know enough about autoconf to provide the required invocation > for it. Come to think of it, I can use such invocation in some of my > own projects. Perhaps someone else on this list can help in this regard. Don't get me started on autoconf. It sounds good in principle, but in practice I find that it seldom works on IRIX, AIX, SunOS, etc. (even after installing gcc, gmake, etc). The Mesa bug database has many such reports. The libtool stuff is especially ugly. Personally, I never use the autoconf/automake stuff in Mesa. I use the old-style Makefiles and will continue to maintain them. -Brian |
From: shankar g. <sha...@ya...> - 2002-10-31 21:11:05
|
Which version of mesa will support the ARB / NV fragment program extensions? When will it be released? thanks. shankar __________________________________________________ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ |
From: Lars I. I. <la...@st...> - 2002-10-31 22:11:00
|
----- Original Message ----- From: "shankar ghosh" <sha...@ya...> > Which version of mesa will support the ARB / NV > fragment program extensions? When will it be released? > I cannot answer the question directly, but I am working on the ARB_vertex_program for Mesa (there might be others, but if so I haven't heard of them) which have several functions in common with ARB_fragment_program. Which means that I might (at least I want to) move on to implementing the fragment part when I'm done with the vertex part. Things are somewhat slowgoing though, since I have to use most of my time on a university project which have final deadline in 3 weeks. I hope to have something working by the end of November, but no guarantees. If all goes well I might have some working fragment code in February (wild guess), if not; .... Lars Ivar |
From: Brian P. <br...@tu...> - 2002-10-31 15:12:56
|
Rouben Rostamian wrote: > Brian, re your message: > > >>In src/mmath.h, try replacing >> >>#define IS_INF_OR_NAN(x) (!finite(x)) >> >>with: >> >>#define IS_INF_OR_NAN(x) (!isfinite(x)) >> >> >>The later function is stancard in C99. Could you or anyone else using >>HPUX look at the system headers (and math.h in particular) to see if >>_ISOC99_SOURCE is used? Looking at RH Linux headers, I think that might >>be the symbol to test to do this: >> >>#ifdef _ISOC99_SOURCE >>#define IS_INF_OR_NAN(x) (!isfinite(x)) >>#else >>#define IS_INF_OR_NAN(x) (!finite(x)) >>#endif > > > I don't know about HPUX, but Section 6.10.8 of the C99 standard has > an explicit list of predefined macros: > > 6.10.8 Predefined macro names > > The following names shall be defined by the implementation: > > __LINE__ [description snipped] > __FILE__ [description snipped] > ... > __STDC_VERSION__ The decimal constant 199901L (footnote) > > (footnote) This macro was not specified in ISO/IEC 9899-1990 > and was specified as 199409L in ISO/IEC 9899/AMD1:1995. > > Therefore it appears that a portable test would be > something like the following: > > #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #else > #define IS_INF_OR_NAN(x) (!finite(x)) > #endif > Aurelio wrote: > I could find no _ISOC99_SOURCE nor __STDC_VERSION__ > any where under /usr/include. > > /usr/include/math.h contains: > > /******** HPUX EXTENSIONS *************************************/ > > #ifdef _INCLUDE_HPUX_SOURCE > . > . > # define isfinite(x) _ISFINITE(x) > . > . > #endif /* _INCLUDE_HPUX_SOURCE */ In light of these two replies, maybe this would do it: #if defined(isfinite) #define IS_INF_OR_NAN(x) (!isfinite(x)) #elif defined(finite) #define IS_INF_OR_NAN(x) (!finite(x)) #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define IS_INF_OR_NAN(x) (!isfinite(x)) #else #define IS_INF_OR_NAN(x) (!finite(x)) #endif -Brian |
From: M. L. <meh...@co...> - 2002-10-31 16:03:17
|
Hi Brain I am glade at last someone got your attention!!!!! When it comes to HPUX platforms finite(x) and isfinite(x) is been a bug for long long time. I 've send you email with patch every time the new vesion of Mesa was out!!. I 've been porting Mesa for the HPUX Archive for long time now. I hope to see some change in future release of Mesa. Thanks __Mehdi > > Rouben Rostamian wrote: > > Brian, re your message: > > > > > >>In src/mmath.h, try replacing > >> > >>#define IS_INF_OR_NAN(x) (!finite(x)) > >> > >>with: > >> > >>#define IS_INF_OR_NAN(x) (!isfinite(x)) > >> > >> > >>The later function is stancard in C99. Could you or anyone else using > >>HPUX look at the system headers (and math.h in particular) to see if > >>_ISOC99_SOURCE is used? Looking at RH Linux headers, I think that might > >>be the symbol to test to do this: > >> > >>#ifdef _ISOC99_SOURCE > >>#define IS_INF_OR_NAN(x) (!isfinite(x)) > >>#else > >>#define IS_INF_OR_NAN(x) (!finite(x)) > >>#endif > > > > > > I don't know about HPUX, but Section 6.10.8 of the C99 standard has > > an explicit list of predefined macros: > > > > 6.10.8 Predefined macro names > > > > The following names shall be defined by the implementation: > > > > __LINE__ [description snipped] > > __FILE__ [description snipped] > > ... > > __STDC_VERSION__ The decimal constant 199901L (footnote) > > > > (footnote) This macro was not specified in ISO/IEC 9899-1990 > > and was specified as 199409L in ISO/IEC 9899/AMD1:1995. > > > > Therefore it appears that a portable test would be > > something like the following: > > > > #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L > > #define IS_INF_OR_NAN(x) (!isfinite(x)) > > #else > > #define IS_INF_OR_NAN(x) (!finite(x)) > > #endif > > > > Aurelio wrote: > > > I could find no _ISOC99_SOURCE nor __STDC_VERSION__ > > any where under /usr/include. > > > > /usr/include/math.h contains: > > > > /******** HPUX EXTENSIONS *************************************/ > > > > #ifdef _INCLUDE_HPUX_SOURCE > > . > > . > > # define isfinite(x) _ISFINITE(x) > > . > > . > > #endif /* _INCLUDE_HPUX_SOURCE */ > > > In light of these two replies, maybe this would do it: > > > #if defined(isfinite) > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #elif defined(finite) > #define IS_INF_OR_NAN(x) (!finite(x)) > #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L > #define IS_INF_OR_NAN(x) (!isfinite(x)) > #else > #define IS_INF_OR_NAN(x) (!finite(x)) > #endif > > > -Brian > > > > ------------------------------------------------------- > This sf.net email is sponsored by: Influence the future > of Java(TM) technology. Join the Java Community > Process(SM) (JCP(SM)) program now. > http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0004en > _______________________________________________ > Mesa3d-users mailing list > Mes...@li... > https://lists.sourceforge.net/lists/listinfo/mesa3d-users > |
From: Brian P. <br...@tu...> - 2002-10-31 16:17:04
|
M. Lavasani wrote: > Hi > > Brain I am glade at last someone got your attention!!!!! > > When it comes to HPUX platforms finite(x) and isfinite(x) is been a bug > for long long time. I 've send you email with patch every time the new > vesion of Mesa was out!!. I don't recall ever getting an email from you. What address were you sending it to? I generally don't ignore email sent to me. -Brian |