![]() |
Prev | Next | whats_new_07 |
AD<
Base>
and the other is double
(as do the binary operators).
nan
(not a number),
it was possible for OdeErrControl
to drop into an infinite loop.
This has been fixed.
nan
(see Runge45
, Rosen34
, and OdeErrControl
).
Use the ||
operation instead of |
operator in the nan
function
(The Ginac library seems to use an alias for the type bool
and
does not have |
defined for this alias).
The file test_more/ode_err_control.cpp
was using the
wrong include file name since the change on 08/07.
This has been fixed.
Fix an Sequence Constructor
referenced to Dependent
in documentation
(was using the FunDeprecated
one argument syntax).
Add comment about mixing debug and non-debug versions of
CppAD in TrackDelVec
error message.
CppADCreateBinaryBool
and CppADCreateUnaryBool
have been replaced by CPPAD_BOOL_BINARY
and
CPPAD_BOOL_UNARY
respectively.
In addition, the WishList
item for conversion
of all preprocessor macros to upper case been completed and removed.
CppADUsageError
and CppADUnknownError
have been replaced by CPPAD_ASSERT_KNOWN
and
CPPAD_ASSERT_UNKNOWN
respectively.
The meaning for these macros
has been included in the cppad_assert
section.
In addition, the known argument to ErrorHandler
was wrong for the unknown case.
The WishList
item
for conversion of all preprocessor macros to upper case
has been changes (to an item that was previous missing).
CPPAD_DISCRETE_FUNCTIOIN
was defined
as a replacement for CppADCreateDiscrete
which has been deprecated.
branches/test_vector
.
CppADvector
,
in the files test_more/
*.cpp
and speed/
*/
*.cpp
,
where changed to CPPAD_TEST_VECTOR
.
All occurrences of the CppADvector
in the documentation
were edited to reflect that fact that it has been deprecated.
The documentation index and search for
deprecated items has been improved.
CppADvector
and start changing it to
CPPAD_TEST_VECTOR
.
Change all occurrences of CppADvector
,
in the example/
*.cpp
files,
to CPPAD_TEST_VECTOR
.
CppADTrackNewVec
,
CppADTrackDelVec
, and
CppADTrackExtend
have been deprecated.
The new macros names to use are
CPPAD_TRACK_NEW_VEC
,
CPPAD_TRACK_DEL_VEC
, and
CPPAD_TRACK_EXTEND
respectively.
This item has been removed from the
software guidelines
section of the wish list.
The
member variables
wish list item has be brought up to date.
example_a11c.cpp
,
multi_newton.cpp
, and
sum_i_inv.cpp
have been changed so that they run on more systems
(are C++ standard compliant).
The IdenticalEqual
function,
in the base_require
specification,
was changed to IdenticalEqualPar
(note the warning
in the
Base requirement specifications).
Implementation of the base requirements
for complex types
were moved into the base_complex.hpp
example.
ode_taylor_adolc.cpp
was added because the
example/example
program was failing.
This has been fixed.
adouble
and for the Base
type.
The get_started
example did not build when
the -with-Introduction
and
BOOST_DIR
options were included on the
configure
command line.
In fact, some of the speed
tests also had compilation errors
when BOOST_DIR
was include in the configure command.
This has been fixed.
There was a namespace reference missing in the files
that could have caused compilation errors in the files
speed/cppad/det_minor.cpp
and
speed/cppad/det_lu.cpp
.
This has been fixed.
test_more/test_more.vcproj
would not build because
the file test_more/fun_check.cpp
was missing;
this has been fixed.
In addition,
fix warnings generated by the MS compiler when compiling the
test_more/test_more.cpp
file.
Add a section defining the Base type requirements
.
Remove the Base type restrictions from the Faq
.
Make all the prototype for the default Base types agree with
the specifications in the Base type requirements.
Fix the description of the tan
function in
StdMathUnary
.
size_t
( int
) by a Scalar,
where Scalar was any NumericType
.
Such an operation may not be valid for a particular numeric type.
This has been fixed by explicitly converting the
size_t
to an int
,
then converting the int
to a Scalar,
and then preforming the division.
(The conversion of an int
to any numeric type must be valid.)
double
,
the computed assignment
operators did not
always allow for double
operands. For example,
if x had type AD< AD<double> >
x += .5;
would slice the value .5
to an int
and then convert it to an AD< AD<double> >
.
This has been fixed.
This slicing has also been fixed in the
assignment
operation.
In addition, the assignment and copy operations
have been grouped together in the documentation; see ad_copy
.
double
with
binary arithmetic operators,
and combine all those operators into one section (ad_binary
).
The documentation for all the computed assignment
operators has been grouped together.
In addition, a
computed assignment wish list item has been added
(it was completed and removed with the
05-26
update.)
left
op
right
where one of the operands was AD< AD<double> >
and
the other operand was double
.
There was a bug in this case that caused the double
operand to be converted to int
before
being converted to AD< AD<double> >
.
This has been fixed.
example/example.vcproj
was missing a reference to the
source code file example/reverse_two.cpp
.
This has been fixed.
int
).
test_more/sqrt.cpp
that tests square roots.
The return value descriptions were improved for the introduction
examples:
exp_2_for1
,
exp_2_for2
,
exp_eps_for1
, and
exp_eps_for2
.
The summation index in SqrtReverse
was changed from
k
to
\ell
to make partial differentiation
with respect to
z^{(k)}
easier to understand.
In addition, a sign error was corrected near the end of
SqrtReverse
.
The dimension for the notation
X
in
reverse_identity
was corrected.
The word mega was added to the spelling exception list for
openmp_run.sh
.
Improve the openmp_run.sh
script.
It now runs all the test cases at once in addition
to including multiple number of thread cases for each test.
Add the sum_i_inv.cpp
OpenMP example case.
There was a typo in the
second order
discussion
(found by Kipp Martin).
It has been fixed.
Improve the reverse_identity
proof.
branches/intro
.
introduction/exp_apx/exp_apx.vcproj
(it did not track the file name changes of the form
exp_apx/exp_2_for
to exp_apx/exp_2_for1
on 04-05).
Added exp_2_for2
to introduction.
branches/intro
and remove the corresponding Introduction item from the wish list:
Simplify the exp_eps
approximation using the
v_1 , \ldots , v_7
notation so that variables directly
correspond to index in operation sequence (as with the exp_2
example).
introduction/exp_apx/exp_apx.vcproj
was referencing exp_apx_ad.cpp
which no longer exists.
It has been changed to reference exp_apx_cppad.cpp
which is the new name for that file.
07-
dd was changed to 03-
dd
for some of the entries directly below.
Corrected some places where CppAD
was used in stead of Adolc
in the adolc_poly.cpp
documentation.
Added an Introduction and
Tracing
entry to the wish list.
(The Introduction item was completed on 03-31
.)
threadprivate
command
(some systems do not support this command).
size_t
to int
.
In the Microsoft compiler case, the cppad/config.h
file had
the wrong setting of GETTIMEOFDAY
.
The setting is now overridden (and always false) when the
_MSC_VER
preprocessor symbol is defined.
Some minor changes were made in an effort to speed up the multi-threading case.
threadprivate
command
(not supported on some systems).
# ifndef CPPAD_BENDER_QUAD_INCLUDED
# define CPPAD_BENDER_QUAD_INCLUDED
was missing at the beginning of the BenderQuad
include file.
This has been fixed.
The speed_test
routines timing
was
changed to use gettimeofday
if it is available.
(gettimeofday
measures wall clock time
which is better in a multi-threading environment).
Added the user multi-threading interface
omp_max_thread
along with its examples
which are distributed in the directory openmp
.
The speed/
*.hpp
files have been moved to
cppad/speed/
*.hpp
and the corresponding wish list
item has been removed.
The multiple tapes with the same base type wish list item
have been removed (it's purpose was multi-threading which
has been implemented).
cppad
include directory.
A fix this wish list item has been added.
Multiple active tapes required a lot of multi-threading access
management for the tapes. This was made simpler (and faster)
by having at most one tape per thread.
# include <speed/speed_test.hpp>
but it should have been
# include <cppad/speed_test.hpp>
This has been fixed.
Change the argument syntax for Dependent
and deprecate the
old Dependent syntax
.
VecAD<
Base>
as a valid argument type for the
Parameter and Variable
functions.
In addition, size_t indexing
is was extended to be allowed during taping so long as the
VecAD object is a parameter.
example/test_one.sh
script
(it was using its old name one_test
).
f
.dy
member function are equal to the x and y arguments
to BenderQuad
. Hence values depending on them can be stored
as private objects in f and need not be recalculated.
makefile.am
in order to
be compatible with automake version 1.10.
The change to the pow
function on
06-12-10
did not include the
necessary changes to the Sparsity
calculations.
This has been fixed.