Files
Fish (David B. Trout) 593830c0c7 Support for improved external package design:
1. Each package's extra install files are now unique. This allows all external libraries to be built and installed into the same directory.

2. The EXT_PKGS.msvc makefile fragment has been tweaked to support easily overriding the Hercules default of linking with its own distributed static link libraries to linking instead with your own custom external package static link libraries instead, by simply pointing your "LIB" environment variable to where they are. That is to say, Hercules will now link with YOUR external package static link libraries instead and not its own, as long as your "LIB" environment variable points to where they are.

This makes it easier to override Hercules's distributed default libraries with your own instead, without modifying Hercules's defaults. Hercules's default libraries will now remain untouched if you install your overrides into a separate directory somewhere and simply point Hercules to that directory via the "LIB" environment variable. Doing so now causes Hercules to link with your libraries instead of its own, thereby allowing its distributed default libraries to remain untouched (and Hercules will now report a "clean" version number too (just xxxx), instead of "xxxx-modified" as before).
2018-06-28 11:59:46 -07:00

85 lines
2.2 KiB
Plaintext

basic fixes
relevant urls
for the general decimal arithmetic
http://speleotrove.com/decimal/
decNumber package documentation
http://speleotrove.com/decimal/decnumber.html
for the errata
http://speleotrove.com/decimal/decnumerr.html
quoting verbatim from the above
A decNumber user has reported that Visual Studio 2010 (32 bit) has difficulty with compiling the decNumber source files.
Here are his workarounds.
http://speleotrove.com/decimal/decnumVS.html
the workaround has been implemented using
quoting verbatim from the above
Method 2:
In file: "decBasic.c"
1. Change extension from .c to .h
2. Add the following at the beginning of the code:
#if !defined(DECBASIC)
#define DECBASIC
3. Add the following at the end of the code:
#endif
4. Replace the following line 2 lines
#error decBasic.c must be included after decCommon.c
#error Routines in decBasic.c are for decDouble and decQuad only
with
#error decBasic.h must be included after decCommon.h
#error Routines in decBasic.h are for decDouble and decQuad only
respectively.
In file "decCommon.c"
1. Change extension from .c to .h
2. Add the following at the beginning of the code:
#if !defined(DECCOMMON)
#define DECCOMMON
3. Add the following at the end of the code:
#endif
In the following files:
decQuad.c
decDouble.c
decSingle.c
replace lines:
#include "decCommon.c"
#include "decBasic.c"
with
#include "decCommon.h"
#include "decBasic.h"
as applicable.
References to decCommon.c and decBasic.c in commentary should also be modified to refer to the corresponding .h.
additional fixes
http://speleotrove.com/decimal/decnumerr.html
quoting verbatim from the above
In addition, an earlier fix (thought to have been applied in 3.67) is still missing in 3.68:
decDoubleIsSigned and decQuadIsSigned return incorrect result.
The documentation indicates that these functions return 1 if the number being tested is signed; however they return DECFLOAT_Sign in this case.
To fix, change the lines in decBasic.c:
uInt decFloatIsSigned(const decFloat *df) {
return DFISSIGNED(df);
}
to
uInt decFloatIsSigned(const decFloat *df) {
return DFISSIGNED(df)!=0;
}
Many thanks to Matthew Hagerty for finding this one, and to Rahul Ruikar for re-reporting it.