📄 changelog
字号:
local copy of the iterator before it was incremented. Some compilers such as the MS VS.NET 2003 C++ compiler would crash if you tried to use the const reference that was returned previously.2005-05-18 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * blitz/mathfunc.h: Replaced broken test "#ifdef isnan" with a test for the preprocessor symbol defined by the new AC_CXX_ISNAN_IN_NAMESPACE_STD autoconf macro. If the isnan function is provided in namespace std, we invoke it as std::isnan in order to avoid problems with using the C99 isnan macro from within the blitz namespace. * blitz/funcs.h: Replaced broken test "#ifdef isnan" with a test for the preprocessor symbol defined by the new AC_CXX_ISNAN_IN_NAMESPACE_STD autoconf macro. If the isnan function is provided in namespace std, we invoke it as std::isnan in order to avoid problems with using the C99 isnan macro from within the blitz namespace. * blitz/blitz.h: Only include <math.h> header explicitly if the test for standard math functions in the std namespace failed. Otherwise, it will normally be included implicitly by the <cmath> header. * m4/ac_cxx_math_fn_in_namespace_std.m4: Added an AC_REQUIRE of AC_CXX_NAMESPACES here, since C++ namespaces are a prerequisite for this test. * m4/ac_cxx_standard_library.m4: Added invocation of new macro AC_CXX_ISNAN_IN_NAMESPACE_STD that checks if the isnan function is provided in the std namespace when you include the <cmath> header. If it is, we will use std::isnan when calling this function from within the blitz namespace to avoid problems with the C99 isnan macro.2005-05-13 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * testsuite/promote.cpp: Used cpp directives to skip some code that will not work under the old type promotion system. * m4/ac_cxx_flags_preset.m4: Just discovered that the Intel C++ compiler is unhappy with the change from unnamed enums to static const bool. It gives an error on one particular initialization in <blitz/promote.h>. I have reported this to Intel as a bug in the compiler, since other compilers seem to accept it. As a temporary solution, I am adding -DBZ_DISABLE_NEW_PROMOTE to the preset flags for icpc. This will force the usage of the older code in promote-old.h. This is just to allow the library and testsuite codes to compile under icpc again. I will undo this change as soon as we determine what's going wrong here. * blitz/promote.h: Some additional cleanup after migrating from anonymous enum types to static const types. Changed promoteToT1 from int to bool and simplified expression for promoteToT1.2005-05-06 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * blitz/array-impl.h: Converted most unnamed enums into static const int or bool types where appropriate, in order to resolve compilation problems under gcc-4.0.0. This new compiler complains whenever it sees an unnamed enum being used in an expression where there has been a templated version of the operator in the expression already declared. It tries to instantiate the templated operator with the unnamed enum, which is illegal and results in a compile error. Very annoying! In any case, I also removed the usages of BZ_ENUM_CAST that were no longer necessary, since we are now using real types. This is probably a safer way to write the code anyway...2005-04-20 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * m4/ac_fortran_flags_preset.m4: Added the proper flag for Fortran external symbol translation when using the Intel Fortran compiler. Moved the AM_CONDITIONAL for F90_COMPILER into configure.ac so that it is always defined. * m4/ac_cxx_flags_preset.m4: Use -ansi flag with Intel compiler for now. The -strict_ansi flag does not work with the newer gcc header files, but -ansi is better than nothing. Also fixed the profiling flag for the Intel compiler. * configure.ac: Added option --disable-fortran that allows user to skip the Fortran compiler configuration. With this option, the banchmarks directory will not be configured. The default is --enable-fortran. I also moved the C++ compiler configuration ahead of the Fortran configuration, in case Fortran is skipped.2005-04-14 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * m4/ac_cxx_flags_preset.m4: A few modidfications to the GNU and IBM XL C++ compiler optimization flags. * m4/ac_fortran_flags_preset.m4: Added cases to specifically handle the darwin build target. Added cases for F77=g95, which can be useful on Darwin platform. Generalized all Fortran compiler names. A few modifications to the GNU and IBM XL Fortran compiler optimization options. * configure.ac: Added g95 compiler to the Fortran 77 compiler search list. This is primarily for the benefit of users running on the Darwin (Mac OS X) platform. These systems often do not come with the g77 compiler installed, and it can be difficult to install g77 and g++ at the same version level. Mixing different versions of g77 and g++ can lead to link-time errors in the blitz benchmark codes. Using g95 as both the Fortran 77 and Fortran 90 compiler offers another solution. Note that use of the g95 compiler under Mac OS X requires cctools-528. Info on how to install this is at www.g95.org.2005-04-06 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * m4/ac_cxx_flags_preset.m4: Added case for solaris target with CC compiler (SunPRO). The preset flags have been verified to work with Sun Studio 10, C++ version 5.7. Also added handling of c++ compiler name as pseudonym for g++ and reordered the cases somewhat. I am also removing the -strict_ansi flag with the Intel C++ compiler for now, since this has been reported to cause trouble with newer versions of icc and gcc. * m4/ac_compiler_specific_header.m4: Added case for SunPRO CC compiler (CC on solaris target) and handling of c++ compiler name. Generalized all compiler names. * configure.ac: Inserted c++ into C++ compiler search list, so that Darwin systems (which are case-insensitive) will pick up c++ (a symbolic link to g++) rather than CC (which is really cc, a symbolic link to gcc). We need c++ in front of CC in the search list. * blitz/bzconfig.h: Added case to check for SunPRO CC compiler and defer to sun/bzconfig.h.2005-04-01 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * testsuite/reduce.cpp: Added test of count() function. * blitz/array/expr.h: Use typedef T_expr consistently inside ArrayExpr class definition.2005-02-23 Patrick Guio <patrick.guio@bccs.uib.no> * blitz/numinquire.h: Added config header file <blitz/blitz.h> so that numerical inquiries stuff can be used by just including <blitz/numinquire.h>.2005-02-08 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * configure.ac: Added g95 to the list of FC compilers that are tried and reordered the list to prefer g95 over gfortran. Also, reordered the compiler macros to do our compiler flag presets first, before any other macros that may add more flags. * m4/ac_fortran_flags_preset.m4: On many Linux systems, f77 points to the g77 compiler. So I've added a test for this possibility, instead of just assuming that f77 on Linux systems is the Absoft compiler. If $G77 equals yes, use the g77 flag presets. Added flag presets for the PGI F77 and F90 compilers, and for the g95 compiler. Reverted to the practice of overwriting the default values of FFLAGS and FCFLAGS because the default values are not appropriate for benchmark codes. * doc/stencils/Makefile.am: Removed explicit -lm flag from LDADD. This is now inserted into the LIBS variable automatically if needed for standard math functions like sin(). * benchmarks/Makefile.am: Simplified settings for F90 compilation, taking advantage of the improved F90 support in automake 1.9 using the FC variables. * m4/ac_lib_blas.m4: Replaced FORTLIBS with standard autoconf variable FLIBS. * m4/ac_env.m4: Print out settings of FLIBS and FCLIBS rather than FORTLIBS, which is now obsolete. * m4/ac_fortran_flags_preset.m4: Removed settings for FORTLIBS variable. Fortran library loader flags are now handled using standard autoconf macros. Separated settings for F77 and FC variables and only set FC variables if FC has been set. Ensure that we add to FFLAGS and FCFLAGS rather than overwriting them. Added gfortran case for F77 and FC on Linux platform. Added g77 case for all Unix platforms. * configure.ac: Advanced required automake version number to 1.9, which has improved support for F90 compilers via the FC variables. Added gfortran to the list of supported F77 and F90 compilers. Use standard autoconf macros to determine the Fortran library flags to pass to the loader, rather than our ad-hoc variable FORTLIBS. Simplified test for whether FC has been set. Improved test for standard math functions like sin() so that -lm is only explicitly included on the link line if necessary. Removed test for existence of lib directory, since this is now guaranteed.2005-02-07 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * m4/ac_compilers_64bits.m4: Generalized names of a few other compilers, notably the SGI and IBM compilers. * m4/ac_compiler_specific_header.m4: Generalized names of some C++ compilers. * m4/ac_compilers_64bits.m4: Generalized name of g++ compiler in case statements. * m4/ac_cxx_flags_preset.m4: Generalized name of g++ compiler in case statements.2005-01-28 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * doc/stencils/Makefile.am: Modified compilation rules to provide separate -D flag for defining stencilargs symbol. Breaking this into two separate preprocessor symbols eliminates confusion that some compilers were having with parentheses embedded in a -D flag. Should fix problems with pgCC and xlC. * doc/stencils/dump-stencil.cpp: Introduce stencilargs symbol to represent argument(s) of stenciltoapply. * blitz/mathfunc.h: Regenerated using genmathfunc.cpp program to include PGI compiler hacks. * blitz/generate/genmathfunc.cpp: Added some lines to skip pow(float,float) and all transcendental functions acting on complex<long double> if we are using PGI compiler. PGI does not support complex<long double> math functions because of issues with how some Linux systems define the long double type. The pow(float,float) function fails because of the presence of overloaded versions of pow() taking the combination of a float and a complex<float>. PGI does not provide an explicit pow(float,float) overload to call powf().2005-01-06 Julian Cummings <cummings@valhalla.cacr.caltech.edu> * benchmarks/stencilf2.f: Added explicit declaration for local loop counter variable. * benchmarks/stencilf.f: Added explicit declaration for local loop counter variables. * Makefile.am: Removed unneeded compile rules for suffix ".f90.f" which is not used.2005-01-07 Patrick Guio <patrick.guio@bccs.uib.no> * blitz/array/ops.h: Completed ET(array,scalar) for scalar of all integral types.2004-11-17 Patrick Guio <patrick.guio@bccs.uib.no> * doc/doxygen/Makefile.am: Fixed install related targets to take into account a possible DESTDIR.2004-11-04 Julian Cummings <cummings@artemis.cacr.caltech.edu> Tagging repository contents with Blitz_0_8 tag.2004-11-04 Patrick Guio <patrick.guio@bccs.uib.no> * m4/ac_prog_doxygen.m4: Added test on doxygen version. In order to be used doxygen must be at least 1.3.x.2004-11-03 Patrick Guio <patrick.guio@bccs.uib.no> * m4/ac_prog_doxygen.m4 doc/doxygen/Makefile.am: Renamed automake conditional tag 'DOC' into more explicit 'DOXYGEN_DOC' as well as references. * doc/doxygen/Doxyfile.in: Upgraded config file to doxygen 1.3.6. Replaced ../.. by autoconf variables in INPUT tag. Removed *.cc from the FILE_PATTERNS tag since they are just implementation. Limited the class to document by explicitly exclude concerned files using the EXCLUDE tag. Fine tuned some doxygen and dot behaviour tags. * doc/doxygen/Makefile.am: Set docdir to be $(datadir)/doc/$(PACKAGE)-$(VERSION)/doxygen, indeed a subdirectory of the blitz root document directory. Use more systematically available variables. Cosmetic Changes. * TODO: new item: make available RPM as a dist medium.2004-10-29 Julian Cummings <cummings@artemis.cacr.caltech.edu> * doc/doxygen/Makefile.am: Set docdir to $(datadir)/doc/$(PACKAGE)-doc-$(VERSION) for the doxygen generated documentation, to distinguish from the texinfo generated docs. Removed $(VERSION) from names of PS and PDF manuals. There is still something wrong with the ps and pdf targets. How do you get doxygen to generate the manuals? Patrick, please fix! * doc/Makefile.am: Changed docdir to standard value $(datadir)/doc/$(PACKAGE)-$(VERSION). * doc/doxygen/Doxyfile.in: Changed FILE_PATTERNS from *.cpp to *.cc, since that is the extension used for blitz template implementation header files.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -