![]() |
Blitz Support : |
From: Theodore Papadopoulo (Theodore.Papadopoulo_at_[hidden])
Date: 2003-04-10 13:45:44
post_at_[hidden] said:
> It seems that the new release of visual studio .net 2003 c++ compiler
> finally does support these special template features. I tested the
> compiler-test-suite, and it only failes on: Ieeemath.cpp Sysvmath.cpp
> Restrict.cpp Restrict2.cpp Getruse.cpp
> So my question: can blitz++ be configured that way so it won't need
> these special math functions and the restrict keyword ?
That is an intersting piece of news...
As far as I remember, blitz certainly has workarounds the restrict
stuff (it is just not used), and I believe that's also true for the
math stuff. Remains the Getruse.cpp which I do not know. You need to
generate a config.h file with the proper symbols that define/undefine
the symbols corresponding to the present/missing features.
Here is one obtained with gcc under linux:
The flags that you should #undef are BZ_NCEG_RESTRICT,
BZ_NCEG_RESTRICT_EGCS, BZ_HAVE_IEEE_MATH,
BZ_HAVE_SYSTEM_V_MATH,BZ_HAVE_RUSAGE.
I do not think you should touch anything else except the first few
defines describing the platform....
Then put this file in the blitz directory and cross your fingers...
Good luck and let us know how it goes...
Regards,
Theo.
/******************************************************************************
* 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.
*
*/
#ifndef BZ_CONFIG_H
#define BZ_CONFIG_H
#define BZ_COMPILER_NAME "g++"
#define BZ_COMPILER_OPTIONS "-g -O2"
#define BZ_OS_NAME "Linux 2.4.17"
#define BZ_BZCONFIG_DATE "Thu Mar 27 20:38:00 MET 2003"
#define BZ_PLATFORM "i686-pc-linux-gnu"
#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
#define 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
#define 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
#define BZ_HAVE_RUSAGE
#endif // BZ_CONFIG_H
--------------------------------------------------------------------
Theodore Papadopoulo
Email: Theodore.Papadopoulo_at_[hidden] Tel: (33) 04 92 38 76 01
--------------------------------------------------------------------