In release 1.1.5, I've tied up some loose ends. I wanted to do this before starting on the input routine.
const real step argument to the version of
Ellipse::intersection_points() that takes an Ellipse
argument.
See Ellipse Reference; Intersections.
real to either float
or double. This means that real can now be made a synonym
for either float or double by using a typedef
declaration. real is typedeffed to float by default.
const bool ldf_real_float and
extern const bool ldf_real_double
for use in non-conditionally compiled code.
They are set according to the values
of LDF_REAL_FLOAT and LDF_REAL_DOUBLE.
Transform::epsilon() and Point::epsilon() now return
different values, depending on the values of the preprocessor macros
LDF_REAL_FLOAT and LDF_REAL_DOUBLE. I have not yet tested
whether good values are returned when real is double.
MAX_REAL and MAX_REAL_SQRT are no longer constants.
Their values are set at the beginning of main(). However,
users should not change their values. MAX_REAL is the
second-largest float or double on a given machine. This
now works for all common architectures.
namespace System containing the following functions:
get_endianness(), is_big_endian(),
is_little_endian(), get_register_width(),
is_32_bit(), is_64_bit(), and the template function
get_second_largest().
namespace System and its functions are documented in
system.texi, which is new in edition 1.1.5.1.
create_new_<type>() functions with the
template function create_new(). The latter is documented in
creatnew.texi, which is new in edition 1.1.5.1.