![]() |
Blitz Devel : |
From: Todd Veldhuizen (tveldhui_at_[hidden])
Date: 2002-10-15 08:41:34
Radek Pecher wrote:
From: "Radek Pecher" <radek.pecher_at_[hidden]>
To: <tveldhui_at_[hidden]>
Subject: Blitz Installed with Borland C++ Builder
Date: Tue, 15 Oct 2002 13:24:27 +0100
Organization: University of Oxford
[...]
Following your "Testing a compiler" instructions, I easily managed to
install Blitz for my Borland C++ Builder 5.0 (my updated BCC32.EXE
reports version 5.5.1) under Windows 2000 and Cygwin 1.3, so I am
attaching the resulting CONFIG.H to this email, as you suggested.
I also had to make slight changes in a couple of files, the two most
important being the following:
1. BCB doesn't like lines like
using T_base::data_;
using T_base::base_;
etc., inside the class declarations; the compilation actually results in
a "fatal internal error". Simple commenting out of these lines prevents
the error (only six header files seem to be affected by this).
2. All math.functions with complex arguments in MATHFUNC.H require a
reference to the data rather than just a copy; here is an example error
message:
[C++ Error] mathfunc.h(2394): E2357 Reference initialized with
'complex<float>', needs lvalue of type 'complex<float>'
and the solution is simply
{ return BZ_CMATHFN_SCOPE(abs)((complex<float>&)x); }
instead of the original
{ return BZ_CMATHFN_SCOPE(abs)((complex<float> )x); }
Similar problem occurs in class _bz_update:
{ x = (X)y; }
but changing it to
{ x = (X&)y; }
causes another problem with the floating-point types, so I had to
introduce a trait there (the default is the reference-cast which works
for any user-defined types as well as for all integer types).
The last comment I'd like to make here (to keep it brief) is a possible
mini-bug (next time I will report bugs directly to the bug-report email
address):
ostream& operator<<(ostream& os, const Array<T_numtype,N_rank>& x) fails
inside the iterator-loop when outputing tensors like 1x0x0, 1x1x0, etc.
(not 0x0x0); a simple check on size() after outputing the tensor
dimensions helps to possibly skip that loop (I am aware that
0-dim.tensors don't make too much sense and that's perhaps why you
didn't even consider them there - but you can create them:
Array<float,3> tnsr(1, 0, 0); ).
Thanks for Blitz and good luck with its future extensions and
improvements!
Radek
PS: I don't expect any reply to this email - I can imagine you get lots
of these...
__________________________________
Dr. Radek Pecher
Research Assistant
Department of Engineering Science
University of Oxford
Parks Road, Oxford, OX1 3PJ, UK
tel: (+44 or 0) 1865 273001
fax: (+44 or 0) 1865 273010
radek.pecher_at_[hidden]
/************************************************************************=
******
* config.h Compiler language support flags
*
* This file was generated automatically by the script bzconfig.
* You should rerun bzconfig each time you switch compilers, install new
* standard libraries, or change compiler versions.
*
*/
=20
#ifndef BZ_CONFIG_H
#define BZ_CONFIG_H
=20
#define BZ_COMPILER_NAME "bcc32"
#define BZ_COMPILER_OPTIONS ""
#define BZ_OS_NAME "CYGWIN_NT-5.0 1.3.12(0.54/3/2)"
#define BZ_BZCONFIG_DATE "Thu Oct 10 09:27:59 2002"
#define BZ_PLATFORM "i686-pc-cygwin"
=20
#define BZ_NAMESPACES
#define BZ_EXCEPTIONS
#define BZ_RTTI
#define BZ_MEMBER_CONSTANTS
#undef BZ_OLD_FOR_SCOPING
#define BZ_EXPLICIT
#define BZ_MUTABLE
#define BZ_TYPENAME
#undef BZ_NCEG_RESTRICT
#undef BZ_NCEG_RESTRICT_EGCS
#define BZ_BOOL
#define BZ_CONST_CAST
#define BZ_STATIC_CAST
#define BZ_REINTERPRET_CAST
#define BZ_DYNAMIC_CAST
#define BZ_TEMPLATES
#define BZ_PARTIAL_SPECIALIZATION
#define BZ_PARTIAL_ORDERING
#define BZ_DEFAULT_TEMPLATE_PARAMETERS
#define BZ_MEMBER_TEMPLATES
#define BZ_MEMBER_TEMPLATES_OUTSIDE_CLASS
#define BZ_FULL_SPECIALIZATION_SYNTAX
#define BZ_FUNCTION_NONTYPE_PARAMETERS
#define BZ_TEMPLATE_QUALIFIED_BASE_CLASS
#define BZ_TEMPLATE_QUALIFIED_RETURN_TYPE
#define BZ_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION
#define BZ_TEMPLATES_AS_TEMPLATE_ARGUMENTS
#define BZ_TEMPLATE_KEYWORD_QUALIFIER
#define BZ_TEMPLATE_SCOPED_ARGUMENT_MATCHING
#define BZ_TYPE_PROMOTION
#define BZ_USE_NUMTRAIT
#define BZ_ENUM_COMPUTATIONS
#define BZ_ENUM_COMPUTATIONS_WITH_CAST
#define BZ_HAVE_COMPLEX
#define BZ_HAVE_NUMERIC_LIMITS
#define BZ_HAVE_CLIMITS
#define BZ_HAVE_VALARRAY
#define BZ_HAVE_COMPLEX_MATH
#undef BZ_HAVE_IEEE_MATH
#undef BZ_HAVE_SYSTEM_V_MATH
#define BZ_MATH_FN_IN_NAMESPACE_STD
#define BZ_COMPLEX_MATH_IN_NAMESPACE_STD
#define BZ_HAVE_STD
#define BZ_HAVE_STL
#undef BZ_HAVE_RUSAGE
=20
#endif // BZ_CONFIG_H
-- Todd Veldhuizen / tveldhui_at_[hidden] / Indiana University Computer Science _______________________________________________ Blitz-dev mailing list Blitz-dev_at_[hidden] http://www.oonumerics.org/mailman/listinfo.cgi/blitz-dev