Customising

next - skip - up - start

The file include.h sets a variety of options including several compiler dependent options. You may need to edit include.h to get the options you require. If you are using a compiler different from one I have worked with you may have to set up a new section in include.h appropriate for your compiler.

Borland, Turbo, Gnu, Microsoft and Watcom are recognised automatically. If none of these are recognised a default set of options is used. These are fine for AT&T, HPUX and Sun C++. If you using a compiler I don't know about you may have to write a new set of options.

There is an option in include.h for selecting whether you use compiler supported exceptions, simulated exceptions, or disable exceptions. Use the option for compiler supported exceptions if and only if you have set the option on your compiler to recognise exceptions. Disabling exceptions sometimes helps with compilers that are incompatible with my exception simulation scheme.

If your compiler recognises bool as required by the standard activate the statement #define bool_LIB. This will deactivate my Boolean class. If you are using my make file with the Gnu compiler, then this #define is automatically activated.

Activate the appropriate statement to make the element type float or double.

I suggest you leave the option TEMPS_DESTROYED_QUICKLY activated, even though the Gnu compiler (<2.6) is the only one I know about that requires it (C-Set also requires it?). This stores the trees describing matrix expressions on the heap rather than the stack and, surprisingly, seems to give better performance. See the discussion on destruction of temporaries for more explanation.

Leave the option TEMPS_DESTROYED_QUICKLY_R not activated unless you are using the Gnu G++ compiler earlier than version 2.6. This option controls whether the ReturnMatrix construct uses the stack or the heap. The heap version is rather kludgy and probably should be avoided where possible.

The option DO_FREE_CHECK is used for tracking memory leaks and normally should not be activated.

Activate SETUP_C_SUBSCRIPTS if you want to use traditional C style element access.

Activate #define use_namespace if you want to use namespaces. Do this only if you are sure your compiler supports namespaces. If you do turn this option on, be prepared to turn it off again if the linker reports missing links.

Activate #define _STANDARD_ to use the standard names for the included files and to find the floating point precision data using the floating point standard. Assume that this doesn't work at present.

If you are using a compiler that include.h does not recognise and you want to pick up the floating point precision data from float.h then activate #define use_float_h. Otherwise the floating point precision data will be accessd from values.h. You will may need to do this with computers from Digital, in particular.

next - skip - up - start