Mercurial > hg > octave-lyh
diff configure.in @ 8185:69c5cce38c29
implement 64-bit arithmetics
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 06 Oct 2008 21:38:49 +0200 |
parents | 66bc6f9b4f72 |
children | cf59d542f33e |
line wrap: on
line diff
--- a/configure.in +++ b/configure.in @@ -1378,6 +1378,10 @@ OCTAVE_FAST_INT_OPS +### Check for long double type (for 64-bit integers) + +AC_CHECK_SIZEOF(long double) + ### Checks for header files. AC_HEADER_STDC @@ -1452,7 +1456,7 @@ getppid getpwent getpwuid gettimeofday getuid getwd _kbhit kill \ lgamma lgammaf lgamma_r lgammaf_r link localtime_r log1p log1pf lstat \ memmove mkdir mkfifo mkstemp on_exit pipe poll putenv raise readlink \ - realpath rename resolvepath rindex rmdir round select setgrent setlocale \ + realpath rename resolvepath rindex rmdir round roundl select setgrent setlocale \ setpwent setvbuf sigaction siglongjmp sigpending sigprocmask sigsuspend \ snprintf stat strcasecmp strdup strerror stricmp strncasecmp \ strnicmp strptime strsignal symlink tempnam tgamma tgammaf trunc umask \ @@ -1967,6 +1971,13 @@ #define SIZEOF_OCTAVE_IDX_TYPE SIZEOF_INT #endif +// To be able to use long doubles for 64-bit mixed arithmetics, we need them at +// least 80 bits wide and we need roundl declared in math.h +// TODO: Maybe substitute this by a more precise check in the future. +#if (SIZEOF_LONG_DOUBLE >= 10) && defined (HAVE_ROUNDL) +#define OCTAVE_INT_USE_LONG_DOUBLE +#endif + #define OCTAVE_EMPTY_CPP_ARG #include "oct-dlldefs.h"