Prev | Next | whats_new_15 |
# include <cppad/utility/to_string.hpp>
cppad/utility
; see
11-30
.
<cppad/utility/vector.hpp>
.
--with-implicit_ctor
option to autotools
.
This was removed on
2017-02-10
.
library
section has been moved to the
utilities
section.
In addition, the corresponding source code files in cppad
have been moved to cppad/utility
.
# include <cppad/runge_45.hpp>
You should us the utility include instead; i.e.,
# include <cppad/utility.hpp>
library
the a separate documentation section.
cmake_install_prefix
to
cppad_prefix
and
Change cmake_install_postfix
to
cppad_postfix
.
cppad_implicit_ctor_from_any_type
to
the cmake cppad_deprecated
option and
change its specifications to refer to all deprecated features.
-lcppad_lib
to be included when linking.
Currently, it is only required when
colpack_prefix
is specified on the
cmake command
.
cppad_colpack.cpp
when colpack_prefix
is specified during the install process; see
cmake command
.
(It is included in cppad_lib
).
check_for_nan
output now includes the first dependent
variable
index
that is nan
in its error message.
pow_int.h
to pow_int.hpp
in pow_int
.
r
is the identity.)
bool_sparsity.cpp
examples which show how
to conserve memory when computing sparsity patterns.
(This has since been replaced by rc_sparsity.cpp
.)
vectorBool
class.
(This aids the memory conservation mentioned above.)
nan
result
during an operation with an ADFun
object.
The new feature
get_check_for_nan
was
added to make this easier.
const
.
CPPAD_USE_CPLUSPLUS_2011
,
CPPAD_NUMERIC_LIMITS
, and
CPPAD_STANDARD_MATH_UNARY
, to
the preprocessor
section.
In addition, remove checking that all user API preprocessor symbols
are in this section form the wish_list
.
Base
class.
numeric_limits
.
Note the reason for not using
std::numeric_limits
.
nan
by
dividing zero by zero which results in a warning when using some compilers.
This function has been deprecated and the corresponding
wish_list
item has been removed.
CppAD::epsilon<Base>()
for each
Base
type.
test_more/azmul.cpp
whereby the vector
z
had the wrong dimension (in two places). This has been fixed.
zdouble
class has been deprecated.
Use the azmul
function for absolute zero (when it is needed).
double
.
In other words, not all multiplications will need to have an
absolute zero (as is the case with the zdouble
base class.
/W4
warnings
(previous warnings were are level 3).
In addition, disable warning
4100
unreferenced formal parameter,
and warning
4127
conditional expression is constant.
cmake
command arguments.
asctime
and gmtime
not being
thread safe.
< CppAD::AD<adouble> >
where adouble
is the ADOL-C AD type.
This has been fixed by adding a call to
CPPAD_COND_EXP_REL
in
base_adolc.hpp
.
chkpoint_one_get_started.cpp
example was changed to demonstrate this
problem and the bug was fixed.
example/atomic/sparsity.cpp
example.
atomic_base
constructor and the
chkpoint_one
constructor.
atomic_two_norm_sq.cpp
an example with no set sparsity
and atomic_two_reciprocal.cpp
an example with no bool sparsity.
Independent
and
parallel mode
.
CppAD::vector
data
function was being shadowed by
a local variable.
compile
,
instead of real file.
This sometimes caused problems with the
deprecated autotools
install procedure and has been fixed.
atom_fun
.
In addition, include the fact that
atom_fun
must not
be destructed for as along as the corresponding atomic operations are used.
CppAD::vector
during a resize
when the
capacity of the vector does not change.
In addition, added and example of this to cppad_vector.cpp
.
p
in
sparse_jacobian
and
sparse_hessian
was not properly dimensioned.
These have been changed to
known
asserts to give better
error reporting.
a1z
was not
properly dimensioned.
This has been fixed and the dimensions of all the variables have been
clarified.
Error detected by false result for
IdenticalCon(side)
at line number in the file
.../include/cppad/local/cskip_op.hpp
where
side
was left
or right
and
number
was the line number of an assert in cskip_op.hpp
.
This has been fixed.
bug/cond_exp_2.sh
.
zdouble
, see
CppAD motivation
for this new type.
(It is no longer necessary to use zdouble
to get an absolute zero
because CppAD now uses azmul
where an absolute zero is required.)
log1p
function
was added to the base type requirements.
CPPAD_USE_CPLUSPLUS_2011
to signal that the functions
asinh, acosh, atanh, erf, erfc, expm1, log1p
are part of the base type requirements.
size()
function returns an int
instead of a
size_t
.)
acosh
multiple direction forward mode forward_dir
.
work
is present, and has already been computed,
the sparsity pattern
p
is not used.
This has been added to the documentation; see
sparse jacobian
and
sparse hessian
documentation
for
work
and
p
.
AD<Base> y = x
for the AD constructor
documentation because it does not
work when the constructor is explicit
.
Also document the restriction that the constructor in the
assignment
must be implicit.
Independent(ax);
AD<double> aeps = 1e-10;
ay[0] = CondExpGt( ax[0], aeps, 1.0/ax[0], 1.0/aeps );
ADFun<double> f(ax, ay);
The corresponding reverse mode calculation,
at x[0] = 0.0
, would result in
Error detected by false result for
! ( hasnan(value) && check_for_nan_ )
This has been fixed so that only the conditional expression case that is used
affects the reverse mode results.
The example cond_exp.cpp
was changed to reflect this
(a check for nan
was changed to a check for zero).
Note that this fix only works when
IdenticalCon
is true for the
base type of the result in the conditional expression; e.g.,
one can still get a nan
effect from the case that is not selected
when using AD< AD<double> >
conditional expressions.
std::chrono:high_resolution_clock
then use it for
the elapsed_seconds
function.
Error detected by false result for
var_index_ >= NumRes(op_)
test_more/optimize.cpp
was failing on some systems
because an exactly equality check should have been a near equal check.
This has been fixed.
speed/src
could not be found.
This library is only used for testing and so has been changed to always be
static (hence does not need to be found at run time).
work.color_method
was not being set
to "cppad.symmetric"
after
work.color_method.clear()
.
This has been fixed.
g++ --std=c++11
and with
g++ --std=c++98
. Previously if the
cppad_cxx_flags
specified C++11,
then it could only be used in that way.
cmake
to be greater than or equal 2.8
(due a bug in cmake
version 2.6).
cmake_install_dir
for
dir
equal to
prefix
, postfix
, includedirs
, libdirs
,
datadir
, and docdir
.
g++ 4.9.2
.
cppad/local/op_code.hpp
on 2014-50-14
created a bug in parallel_ad
(some local statics needed to
be initialized). This has been fixed.
gettimeofday
function, the cmake install would sometimes report
cppad_has_gettimeofday = 0
This has been fixed.
unsigned int
was the same as the size of a size_t
. This has been fixed.
CompareChange
used to always return zero after
f.optimize()
and was not even defined when NDEBUG
was defined.
There was a resulting speed effect for this; see
no_compare_op
.
color_hes
branch:
"cppad"
and "colpack"
,
the choices are "cppad.symmetric"
, "cppad.general"
,
and "colpack.star"
.
This is not compatible with the change on
01-02
, which was so recent
that this should not be a problem.
n_sweep
(now
n_color
) to
link_sparse_hessian
and
speed_main
.
cppad
sparse Hessian
color_method
to take advantage of the symmetry of the Hessian
(in a similar fashion to the colpack
coloring method).