📄 changelog
字号:
* blitz/array/asexpr.h: Renamed class _bz_ArrayExprOp to _bz_ArrayExprBinaryOp for imporoved clarity. Added static method getExpr() to asExpr class to convert the given type into the T_expr type needed for expression evaluation. This allows us to reduce the number of specializations of binary operators by treating all ETBase<T> objects in a uniform fashion. * blitz/array/expr.h: Renamed class _bz_ArrayExprOp to _bz_ArrayExprBinaryOp for imporoved clarity. Some other cosmetic changes as well. * blitz/array/bops.cc: Regenerated blitz/array/bops.cc header file. * blitz/array/uops.cc: Regenerated blitz/array/uops.cc header file. * blitz/generate/genarruops.cpp: Renamed _bz_ArrayExprOp class to _bz_ArrayExprBinaryOp for improved clarity. * blitz/generate/genarrbops.cpp: Renamed _bz_ArrayExprOp class to _bz_ArrayExprBinaryOp for improved clarity. * blitz/array/where.h: Removed some previously commented out code. Added Emacs C++ tag. * blitz/array/ops.cc: Replaced static_cast of ETBase objects with call to unwrap() member function. Also removed external include guards. * blitz/array/newet-macros.h: Replaced static_cast of ETBase objects with call to unwrap() member function. Also added Emacs C++ tag at top of file. * blitz/array/functorExpr.h: Replaced static_cast of ETBase objects with call to unwrap() member function. Also added Emacs C++ tag and Blitz file header at top of file. * blitz/array/funcs.h: Replaced static_cast of ETBase objects with call to unwrap() member function. Also added Emacs C++ tag at top of file and removed external include guards. * blitz/etbase.h: Added unwrap() member function to ETBase class that performs the static cast to produce the wrapped type. Also added Emacs C++ tag at top of file.2003-12-17 Julian Cummings <cummings@artemis.cacr.caltech.edu> * doc/blitz.texi: Patch from Peter Bienstman to add directory info to this file, so it can be incorporated in a global texinfo index.2003-12-17 Patrick Guio <patrick.guio@fys.uio.no> * doc/stencils/Makefile.am: Updated to make full use of libtool to compile stencil generator.2003-12-16 Julian Cummings <cummings@artemis.cacr.caltech.edu> * testsuite/newet.cpp: Added some testing of support for user-defined ternary functions. * blitz/array/Makefile.am: Removed newet-macros-old.h from array_HEADERS list. * blitz/array/newet-macros.h: Added macros BZ_DECLARE_ARRAY_ET_TERNARY, BZ_DECLARE_FUNCTION3, and BZ_DECLARE_FUNCTION3_RET to provide support for creating user-defined ternary functions that act on Arrays. This code was originally provided by Navneet Dalal. Also folded in to this file the macros from the file newet-macros-old.h, using the old versions only if template template arguments are not supported. I will be eliminating newet-macros-old.h, since it contained many macros that were identical to the ones given here. * blitz/array/asexpr.h: Added definition of struct template BzTernaryExprResult, which provides the type of the result of a ternary operator or function acting on three Arrays. * blitz/array/expr.h: Added definition of class template _bz_ArrayExprTernaryOp to handle ternary operators and functions acting on blitz Arrays. It is modeled after the where operator, which is a very special kind of ternary operator.2003-12-15 Julian Cummings <cummings@artemis.cacr.caltech.edu> * blitz/array/functorExpr.h: Added missing typename keyword (using _bz_typename macro) in a few places where derived types were being passed to the BZ_PROMOTE macro.2003-12-12 Julian Cummings <cummings@artemis.cacr.caltech.edu> * configure.in: Patch from Theodore Papadopoulo to test for flags needed to set the runtime library search path and to use dynamic linking. * acinclude.m4: Patch from Theodore Papadopoulo to provide functions that test for flags needed to set the runtime library search path and to use dynamic linking. * doc/Makefile.am: Patch from Theodore Papadopoulo to fix problem with building docs from a different directory than the source directory.2003-12-10 Julian Cummings <cummings@artemis.cacr.caltech.edu> * blitz/applics.h blitz/array-impl.h blitz/bench.cc blitz/bench.h blitz/benchext.cc blitz/benchext.h blitz/blitz.h blitz/bzdebug.h blitz/compiler.h blitz/etbase.h blitz/extremum.h blitz/funcs.h blitz/indexexpr.h blitz/limits-hack.h blitz/listinit.h blitz/matbops.h blitz/matdiag.h blitz/matexpr.h blitz/matgen.h blitz/mathf2.h blitz/mathfunc.h blitz/matltri.h blitz/matref.h blitz/matrix.cc blitz/matrix.h blitz/matsymm.h blitz/mattoep.h blitz/matuops.h blitz/matutri.h blitz/memblock.cc blitz/memblock.h blitz/minmax.h blitz/mstruct.h blitz/numinquire.h blitz/numtrait.h blitz/ops.h blitz/prettyprint.h blitz/promote-old.h blitz/promote.h blitz/rand-dunif.h blitz/rand-normal.h blitz/random.h blitz/randref.h blitz/range.h blitz/reduce.h blitz/shapecheck.h blitz/tinymat.h blitz/tinymatexpr.h blitz/tinyvec.cc blitz/tinyvec.h blitz/tinyvecio.cc blitz/tinyveciter.h blitz/tvcross.h blitz/tvecglobs.h blitz/update.h blitz/vecaccum.cc blitz/vecall.cc blitz/vecany.cc blitz/vecbfn.cc blitz/vecbops.cc blitz/veccount.cc blitz/vecdelta.cc blitz/vecdot.cc blitz/vecexpr.h blitz/vecexprwrap.h blitz/vecio.cc blitz/veciter.h blitz/vecmax.cc blitz/vecmin.cc blitz/vecnorm.cc blitz/vecnorm1.cc blitz/vecpick.cc blitz/vecpick.h blitz/vecpickio.cc blitz/vecpickiter.h blitz/vecsum.cc blitz/vector.cc blitz/vector.h blitz/vecuops.cc blitz/vecwhere.cc blitz/vecwhere.h blitz/zero.cc blitz/zero.h blitz/array/bops.cc blitz/array/cartesian.h blitz/array/cgsolve.h blitz/array/complex.cc blitz/array/convolve.cc blitz/array/convolve.h blitz/array/cycle.cc blitz/array/eval.cc blitz/array/expr.h blitz/array/fastiter.h blitz/array/funcs.h blitz/array/functorExpr.h blitz/array/geometry.h blitz/array/indirect.h blitz/array/interlace.cc blitz/array/io.cc blitz/array/iter.h blitz/array/map.h blitz/array/methods.cc blitz/array/misc.cc blitz/array/multi.h blitz/array/newet-macros-old.h blitz/array/ops.cc blitz/array/reduce.cc blitz/array/reduce.h blitz/array/resize.cc blitz/array/slice.h blitz/array/slicing.cc blitz/array/stencil-et.h blitz/array/stencilops.h blitz/array/stencils.cc blitz/array/stencils.h blitz/array/storage.h blitz/array/uops.cc blitz/array/where.h blitz/array/zip.h blitz/generate/genmathfunc.cpp blitz/generate/genpromote.cpp blitz/meta/dot.h blitz/meta/matassign.h blitz/meta/matmat.h blitz/meta/matvec.h blitz/meta/metaprog.h blitz/meta/product.h blitz/meta/sum.h blitz/meta/vecassign.h testsuite/extract.cpp testsuite/loop1.cpp testsuite/peter-nordlund-2.cpp testsuite/promote.cpp examples/diff.cpp examples/pauli.cpp examples/random.cpp examples/tiny2.cpp examples/tiny3.cpp: Patch from Theodore Papadopoulo that removes the use of some outdated macros such as _bz_bool, _bz_true, _bz_false, and _bz_explicit, and replaces them directly with the standard C++ keywords. These keywords should now be implemented in virtually all C++ compilers, and this change makes the code much more standardized and readable. This patch also replaces class with typename when specifying a template argument that is a type. I have extended the patch to the codes in the testsuite and examples subdirectories. 2003-11-25 Julian Cummings <cummings@artemis.cacr.caltech.edu> * blitz/array/eval.cc: Fixed stack traversal evaluation routines to properly handle the case of negative strides. Simply change comparison "i < ubound" to "i != ubound". This fixes a bug reported quite a while ago regarding the failure of the copy() method when applied to a reversed Array.2003-11-11 Julian Cummings <cummings@artemis.cacr.caltech.edu> * blitz/array/newet-macros-old.h: Removed the superfluous combination of ETBase<T1> and T2. If the first operand in a binary function or operator is not an Array, ArrayExpr or IndexPlaceholder, it is assumed to be a POD type. The combination of T1 and ETBase<T2> handles all combinations of a POD type with a Blitz Array or Array-like type. * blitz/array/newet-macros.h: Removed the superfluous combination of ETBase<T1> and T2. If the first operand in a binary function or operator is not an Array, ArrayExpr or IndexPlaceholder, it is assumed to be a POD type. The combination of T1 and ETBase<T2> handles all combinations of a POD type with a Blitz Array or Array-like type. Also cleaned up the file formatting. * blitz/array/Makefile.am: Removed newbops.cc from list of array header files for distribution. * blitz/Makefile.am: Added config-g++3.h to list of extra files to include in distribution.2003-09-26 Patrick Guio <patrick.guio@fys.uio.no> * blitz/applics.h: Added TwoOperandApplicativeTemplatesBase's _bz_Min and _bz_Max. * blitz/generate/genvecbfn.cpp: New file. Generate file blitz/vecbfn.cc with support for C=min(A,B) and C=max(A,B) for TinyVectors. min(A,B) and max(A,B) return an elementwise min/max of two TinyVectors of same length. Comparable to STL min() and max() but rquires Blitz to be STL-compliant. * blitz/generate/genarrbops.cpp blitz/generate/genmatbops.cpp: Generate support for min() and max() applics. The min() and max() are elementwise as for TinyVectors. Now available for Array, Matrix and Vector. * blitz/generate/Makefile.am: Added necessary stuff for the generation of blitz/vecbfn.cc from blitz/generate/genvecbfn. * blitz/array/ops.h blitz/array/newbops.cc: Added elementwise min() and max() functions for the new ET for Arrays. * blitz/vecbfn.cc blitz/array/bops.cc blitz/matbops.h: Regenerated with support for elementwise min() and max().2003-09-17 Julian Cummings <cummings@artemis.cacr.caltech.edu> * compiler/Makefile.am: Separate targets for local config.h file and the BZ_CONFIG_H file in blitz/config.h. The distribution contains a default blitz/config.h file, but this should be rebuilt when the distribution is first unpacked. * doc/stencils/Makefile.am: Removed texinfo files from EXTRA_DIST list, since these files are included in the distribution by the parent directory already. * doc/examples/Makefile.am: Removed source code files for examples from EXTRA_DIST, since SOURCES get included in distribution automatically. Added a few missing files to the EXTRA_DIST list. * doc/Makefile.am: Added files containing figures for the documentation to the distribution. * doc/version.texi: Updated date in version.texi file. * Makefile.am: Added manual to list of SUBDIRS to be processed by automake. This is needed to include source files for the Blitz html manual in the distribution. * random/Makefile.am: Removed Makefile.am from list of header files for subdirectory random. This file is part of the distribution but not part of the installation. * benchmarks/Makefile.am: Comment out the compile target, so that it is not included in distdir target. We don't need to compile benchmark codes in order to create a distribution. * blitz/Makefile.am: Added file config-VS.NET2003.h to EXTRA_DIST for inclusion in distribution. * Makefile.am: Deleted old file config.h.in from EXTRA_DIST list and added new files README-VS.NET and Blitz-VS.NET.zip for inclusion in distribution. * configure.in: Switched the optimization flag for the SGI CC compiler back to -Ofast instead of -O3. This setting includes the -IPA option, which seems to make a large difference in code performance. Also, using the -IPA option does not seem to cause problems when using a static libblitz.a, which is now once again the default behavior of the configure script. Also, bumped the version number to 0.7 in anticipation of a new tarball distribution.2003-09-09 Julian Cummings <cummings@artemis.cacr.caltech.edu> * configure.in: Activated automake macro that disables building of shared libraries by default. Shared libraries support can be turned on with the --enable-shared option. Changed SGI compiler default optimization flag from -Ofast to -O3 to avoid issues with the use of interprocedural analysis (-IPA) during compilation and linking. Removed some defunct compiler options such as KCCdev and the old API-specific SGI32 and SGI64 options (use --enable-64bit instead). Removed linking with SGI libCio.a, which should now be obsolete. Deleted a few unused autoconf/automake macros. Corrected instruction message at end of script. * blitz/vecexpr.h: Corrected a dependency problem noted by Matthias Schillinger that was causing some test codes to fail to compile. This is an example of the problem with having ET support for the Vector and TinyVector types convolved together.2003-09-08 Julian Cummings <cummings@artemis.cacr.caltech.edu> * blitz/rand-mt.h: Replaced use of &S[0] syntax with call to S.begin() to avoid issues with the return type of std::vector<>::operator[]. Added call to reload() at the end of the seed() function. * blitz/tinyveciter.h: Changed from use of unsigned to int type to avoid gcc compiler warnings about comparisons between unsigned and signed integer types. Extended BZPRECONDITION checks to test that int argument value is non-negative.2003-09-02 Julian Cummings <cummings@artemis.cacr.caltech.edu> * blitz/array/methods.cc: Fixed bug in code that constructs an Array from an array expression. The default value for the ordering and ascending variables when there is no Array with a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -