Prev | Next | whats_new_18 |
cppad
was moved to include/cppad
.
The make install
step of the
install
instructions did not work after that.
This has been fixed.
multi_atomic_two
was missing.
This has been fixed.
bin/check_tab.sh
and remove some remaining tab characters
that it found in the CppAD source code.
cmake
required by
msys2
,
mingw-w64-x86_64-cmake
.
inline
specifiers was removed from template functions
and class member functions in both the source code and examples; see
the inline
entry in the
wish_list
.
VectorType
to
TypeVector
for
Type
denoting various types; e.g.,
Bool
, Size
, Double
, ...
EPL-2.0
with a GPL-2.0
or later alternative
(so one version of the source code can be used for both EPL
and GPL licenses).
cppad
sub-directory to include/cppad
.
microsoft_timer
could be an undefined external.
This has been fixed.
# define NOMINMAX
command was placed before
# include <windows.h>
so that std::min
and std::max
work properly.
(This only matters when using the Visual Studio compiler.)
small
.
This has been changed to eps
in interface2c.cpp
.
test_more/cppad_for_tmb/multi_atomic_two.cpp
when using boost vectors for testing.
test_more/cppad_for_tmb/multi_chkpoint_one.cpp
when using boost vectors for testing.
base2ad
feature.
get_record_compare
(not in use API)
was returning size_t
when
it should have returned a bool
.
It also gave a warning in test_more/general/erf.cpp
about conversion from double
to size_t
.
These have been fixed.
f
has dynamic parameters
.
This has been fixed.
gcc
compilers, that
-Wfloat-conversion
and -Wfloat-conversion
are not valid options.
-Wconversion
in its compilation.
This results in warnings in more of the optional packages and so
their include files are compiled like system files (without warnings);
see package_prefix
.
af
,
created by af = f.base2ad
,
could not use af.Jacobian
.
This has been fixed.
AD<Base>
objects from one that computes using
Base
objects.
This enables one to record any derivatives computations as part of another
function and thereby removes the need for
multiple levels of AD
.
For example, compare base2ad.cpp
with mul_level_ode.cpp
.
taylor_ode.cpp
example was moved to taylor_ode.cpp
and changed to use the same notation as taylor_ode
.
clang++
compiler.
eigen_vector
is a true
SimpleVector
; i.e., it using size_t
instead of Eigen::Index
for its sizes and indices.
size_t
.
CppAD::local::pod_vector
template class
(not part of the user API) that wasted memory.
This bug was part of the 06-04
change this year.
valgrind
warnings about use of values that have
not be initialized or set.
Base
type.
The function IdenticalPar
was changed to
IdenticalCon
and IdenticalEqualPar
was change to
IdenticalEqualCon
.
This was done because the value of
dynamic
parameters can change.
cppad.pc
and cppad-uninstalled.pc
were
corrected.
f.size_dynamic()
has been replaced by
size_dyn_ind
,
size_dyn_par
, and
size_dyn_arg
.
ADFun<Base>
objects.
AD<Base>
operations.
This has been fixed and should result in a speed up when multiple
threads are recording at the same time.
unsigned short
,
unsigned int
,
size_t
, in that order.
g++ -std=c++98
.
unsigned char
; i.e.,
one byte.
This changed CppAD::local::OpCode
to
CPPAD_VEC_ENUM_TYPE
in the expression used to compute
size_op_arg
.
Note CPPAD_VEC_ENUM_TYPE
is not in CppAD API and may change.
optimize
for the CppAD
speed_cppad
tests.
To be specific no_print_for
was corrected to
no_prior_for_op
.
NDEBUG
was defined.
The record_compare
option has been
added so that one can obtain this better performance
(when one does not need the compare_change
function
or the abort_op_index
feature).
reduce_tape
branch:
A change was made in the way CppAD iterated over the operation sequence
when subgraph operations were first added; see the heading
11-20
in whats new for 2017.
This caused CppAD to always use more memory for storing tapes.
This has been fixed so this extra memory is only allocated when it is needed.
In addition it can be freed; see
size_random
and
clear_subgraph
.
In addition, this changed the amount of memory returned by
size_op_seq
so that it
no longer includes the part returned by size_random
.
example/abs_normal
directory was missing from the
example
sub-directory list.
This has been fixed.
sparse_rcv
template class.
work
structure for
sparse_jac
( sparse_hes
)
can be used a different
f
and a different
subset
provided that Jacobian (Hessian) sparsity pattern for
f
and the sparsity pattern in
subset
are the same.
# include
command (or just the #
in the include command);
e.g., see the
syntax
for the set_union
utility.