Prev | Next | whats_new_07 |
makefile.am
, makefile.in
, and
omh/appendix/license.omh
.
configure
command line caused an error on some
systems because it attempted to copy to many files.
This has been fixed by copying the directory instead of the individual files.
cppad-yyyymmdd.spec
to cppad.spec
.
cppad.spec
.
DESTDIR=directory
option on the
make install
command line.
sqrt
did not link properly
when
Base
was AD<double>
.
This has been fixed.
nan
and isnan
were failing
for some systems because they use nan
and or isnan
as preprocessor symbols.
This has been fixed; see macros
.
In addition, the example and test nan.cpp
has been added.
tape_values
branch were not better than trunk,
so the good parts of that branch (but not all) were merged into the trunk.
The interface specifications for
base type requirements
have been changed so that
CppAD would compile with gcc 4.1.1
(which requires more definitions before use in template functions).
This changed of requirements is demonstrated by the
base_complex.hpp
and base_adolc.hpp
examples.
The problem with newer C++ compilers requiring more definitions before use
also required the user to know about float
and double
definitions for the standard math
functions in the CppAD namespace;
see base_std_math
.
The example/test_one.sh
and test_more/test_one.sh
scripts were modified so that one only need specify the test file name
(does not also need the test routine name). Some of the test routine
declarations were changed from
name()
to
name(void)
to make this possible.
The program test_more/test_more
was changed to always
report the memory leak test results (same as example/example
).
The PrintFor
function was putting an unused variable in the tape.
This has been fixed.
-DRAD_EQ_ALIAS
compiler flag to the
Sacado speed tests
.
In addition, compiler flag documentation was included for
Sacado and all the other speed tests.
cppad/config.h
file was not compatible with the
Windows install procedure and
the Windows project's could not find a certain include file.
This has been fixed.
The unix install
procedure has been modified
so that the one configure flag
--with-Speed
builds all the possible executables related to the speed testing.
The subversion copy of the configure
script
was not executable.
This has been fixed.
subversion
have changed.
The user should now directly edit the file
trunk/configure
in order to set the correct date for the installation
and to build the corresponding documentation.
The speed
section has been slightly reorganized
(the main program and utilities have been separated).
Add speed_double
for testing the speed of evaluating
functions in double
as apposed to gradients using AD types.
./build.sh version
in order to set the correct version number for her (or his) installation.
Add the return status for all the correctness tests
to the documentation; see make test
.
The documentation for det_by_minor
and det_by_lu
has been improved.
The order of the elements in det_of_minor
has been
corrected (they were transposed but this did not really matter
because determinants of transposes are equal).
The makefiles in the distribution have been changed so that
one can run configure from a directory other than the distribution directory.
subversion
method
for downloading CppAD has been added.
The installation was broken on some systems because the
configure
command tried to run
the autoconf
and automake
programs.
This has been fixed by adding
AM_MAINTAINER_MODE
to the autoconf
input file.
Extend the
subversion
methods to include a full installation and old versions.
CPP_ERROR_WARN
to CXX_FLAGS
.
The command configure --help
now prints a description
of the environment variables
ADOLC_DIR
,
FADBAD_DIR
,
SACADO_DIR
,
BOOST_DIR
,
and
CXX_FLAGS
.
In addition, if the environment variables
POSTFIX_DIR
or CPP_ERROR_WARN
are used,
an message is printed saying that are not longer valid.
compute_test_name
to be the same for all packages.
The Sacado
package was added to the list of speed
tests.
In addition, the discussion about how to run each of the
speed tests was corrected to include the
seed
argument.
The
postfix_dir
option
was removed on 2006-12-05
but
it was not removed from the
configure
documentation.
This has been fixed.
The routine CheckSimpleVector
was changed.
It used to require conversion of the form
Scalar(i)
where
i
was 0
or 1
.
This does not work with when
Scalar
is
Sacado::Tay::Taylor<double>
.
This requirement has been changed
(see restrictions
)
to support of
x = i
where
x
has type
Scalar
and
i
has type int
.
Fix include directives in speed_fadbad
programs
det_lu
, det_minor
, and poly
,
to use FADBAD++
instead of Fadbad++
directory.
Add ADOLC_DIR
, FADBAD_DIR
, SACADO_DIR
,
and BOOST_DIR
to the configure
help string.
seed
argument and
improve speed_main
documentation.
not_complex_ad.cpp
.
(This example has been removed; see complex FAQ
.)
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.
xi
contains not a number 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 wish_list
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 wish_list
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 variable entry in the software guideline
wish list item has be brought up to date.
openmp/run.sh
example programs
example_a11c.cpp
,
openmp_newton_example.cpp
, and
sum_i_inv.cpp
have been changed so that they run on more systems
(are C++ standard compliant).
IdenticalEqual
function,
in the base_require
specification,
was changed to IdenticalEqualCon
(note the API warning
in the
Base
requirement specifications).
mul_level_adolc_ode.cpp
was added because the
example/example
program was failing.
This has been fixed.
adouble
and for the Base
type.
The get_started.cpp
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
unary_standard_math
.
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.)
Base
type is not double
,
the compound 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_ctor
and ad_assign
.
double
with
binary arithmetic operators,
and combine all those operators into one section (ad_binary
).
The documentation for all the compound assignment
operators has been grouped together.
In addition, a
compound assignment wish list item has been added
(it was completed and removed with the
05-26
update.)
op
is a binary operation and we have
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 sqrt_reverse
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
sqrt_reverse
.
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_time.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
.)
example_a11c.cpp
,
from the OpenMP 2.5 standards document,
was added to the tests that can be run using openmp/run.sh
.
threadprivate
command
(some systems do not support this command).
openmp_newton_example.cpp
, and
modified openmp/run.sh
to allow for more flexible testing.
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_HPP
# define CPPAD_BENDER_QUAD_HPP
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
include/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, base 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
).
x
and
y
arguments to the
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.
*.tgz
and
*.zip
not existing for a period of time.
The automated tests have been extended so that this should not happen again.