Changeset 3627


Ignore:
Timestamp:
Jan 30, 2015 10:49:51 AM (5 years ago)
Author:
bradbell
Message:

merge to branch: trunk
from repository: https://github.com/coin-or/CppAD
start hash code: dcce793a61e2cc6e1e6e8def4da195608bf34232
end hash code: 2659f428ed7c6eb97bc276fff29312cbb4d73878

commit 2659f428ed7c6eb97bc276fff29312cbb4d73878
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 08:47:07 2015 -0700

whats_new_15.omh: Correction to previous commit.

commit ce96c735c2a39682288831345071cda8ee81ae63
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 08:40:37 2015 -0700

Revert "whats_new_15.omh: Correction to previous commit."


This reverts commit 920b55a47d026bd18f62c084a72f47c7f7605356.

commit 920b55a47d026bd18f62c084a72f47c7f7605356
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 08:34:38 2015 -0700

whats_new_15.omh: Correction to previous commit.

commit 1a0eaa1944648c9d1ec091d7f9c8871a92d61622
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 08:12:14 2015 -0700

whats_new_15.omh: User's view of the previous commit.

commit b001d26d22e22837a264feaef513266ada971018
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 07:37:02 2015 -0700

Fix bug in sparse hessian speed test.
sparse_hessian.sh: This simple example found the bug.
time_test.hpp: No longer need extra run option.
link_sparse_hessian.cpp: The bug was here.

commit 1afcff7735662e10f3ecd62a3a2323091aeb1fa8
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 07:16:56 2015 -0700

sparse_hessian.sh: remove more code no longer being used.

commit dc1c55e47c3970fe6153133d228b46e05e9ae472
Author: Brad Bell <bradbell@…>
Date: Fri Jan 30 04:55:02 2015 -0700

sparse_hessian.sh: further simplify plus add profiling

commit 7a89d3da38fe9e0dcabfc33889c0dcad0f9ad538
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 22:31:43 2015 -0700

sparse_hessian.sh: further simplify.

commit c72d231a53cc43c5fc56c354ae941b41b89729e0
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 22:19:39 2015 -0700

sparse_hessian.sh: further simplify the example case.

commit 193494e6191b56e8f9c1b4d44d059ac71010407d
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 21:31:02 2015 -0700

sparse_hessian.sh: simplify example.

commit 282ede659fd6e4e18bfe68964e44ac9acc110b1a
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 20:26:04 2015 -0700

sparse_hessian.sh: Simpler demonstration of problem.

commit 9f845e4d545c67fb2fb8ec566b4281e3fa65ec37
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 19:50:43 2015 -0700

Change name of InstallUnix? seciton to auto_tools section.

commit 0b4b40f4986839b93f31bb16500689497497d195
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 18:21:01 2015 -0700

ndebug_abort.sh: abort_recording was not being executed.
tape_link.hpp: make clearer by adding more comments.
compare_change.cpp: add missing call to abort recording.

commit f294734105286b0d2398336b3c1e1892a58b8a94
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 16:59:50 2015 -0700

Remove old bug report section.


check_for_nan.cpp: handle case where NDEBUG is defined.
compare_change.cpp: handle case where NDEBUG is defined.
faq.omh: change to new bug reporting process.

commit 55ded94b643749b5314daa380e6af9a0589e5a6b
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 06:11:16 2015 -0700

pkgconfig.omh: Change a referece to cmake (instead of deprecated) install.

commit 797da899f79e7769b13a7f68390e893437c511a3
Author: Brad Bell <bradbell@…>
Date: Thu Jan 29 05:57:14 2015 -0700

testvector.omh: improve and make cross reference easier.

Location:
trunk
Files:
1 added
2 deleted
27 edited

Legend:

Unmodified
Added
Removed
  • trunk/bin/version.sh

    r3550 r3627  
    9191        -i.old configure
    9292list='
    93         omh/install/unix.omh
     93        omh/install/auto_tools.omh
    9494        omh/install/download.omh
    9595        doc.omh
  • trunk/bug/sparse_hessian.sh

    r3616 r3627  
    11#! /bin/bash -e
    2 # $Id:$
     2# $Id$
    33# -----------------------------------------------------------------------------
    44# CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-15 Bradley M. Bell
     
    1717}
    1818# -----------------------------------------------------------------------------
    19 cat << EOF
    20 There seems to be some problem with the sparse hessian, or its speed test.
    21 Running the command
    22         ./sparse_hessian.sh
    23 demonstrates the problem by running the speed test with
    24         # define CPPAD_EXTRA_RUN_BEFORE_TIMING X
    25 where X is 0 and 1 (see cppad/time_test.hpp where this defintion is used).
    26 This has little effect on the rate of execution for the 100, 400, and 1600
    27 varable cases. For the 2500 variable case, the rate execution with
    28         # define CPPAD_EXTRA_RUN_BEFORE_TIMING 1
    29 is about 3000 executions per second and with
    30         # define CPPAD_EXTRA_RUN_BEFORE_TIMING 0
    31 is about 1 execution per second.
     19cat << EOF
     20Changing CPPAD_EXTRA_RUN_BEFORE_TIMING dramatically changes timing results.
    3221EOF
     22cat << EOF > bug.$$
     23# include <cppad/cppad.hpp>
     24# include <cppad/speed/sparse_hes_fun.hpp>
     25namespace {
     26        using CppAD::vector;
     27        typedef vector< std::set<size_t> >  SetVector;
     28
     29        void choose_row_col(
     30                size_t          n   ,
     31                vector<size_t>& row ,
     32                vector<size_t>& col )
     33        {       size_t i, j, k, ell;
     34                size_t max_per_row = 5;
     35
     36                // generate the row and column indices
     37                row.resize(0);
     38                col.resize(0);
     39                for(i = 0; i < n; i++)
     40                {       // generate max_per_row random column indices between 0 and i
     41                        for(j = i; j < i + max_per_row; j++)
     42                        {       if( j < n )
     43                                {       row.push_back(i);
     44                                        col.push_back(j);
     45                                }
     46                        }
     47                }
     48        }
     49        bool link_sparse_hessian(
     50                size_t                           size     ,
     51                size_t                           repeat   ,
     52                const CppAD::vector<size_t>&     row      ,
     53                const CppAD::vector<size_t>&     col      ,
     54                CppAD::vector<double>&           x        )
     55        {
     56                // -----------------------------------------------------
     57                // setup
     58                typedef CppAD::AD<double>           ADScalar;
     59                typedef vector<ADScalar>            ADVector;
     60
     61                size_t j;
     62                size_t order = 0;         // derivative order corresponding to function
     63                size_t m = 1;             // number of dependent variables
     64                size_t n = size;          // number of independent variables
     65                ADVector   a_x(n);        // AD domain space vector
     66                ADVector   a_y(m);        // AD range space vector
     67
     68                // ------------------------------------------------------
     69                while(repeat--)
     70                {       // choose a value for x
     71                        for(j = 0; j < n; j++)
     72                                a_x[j] = 0.0;
     73
     74                        // declare independent variables
     75                        Independent(a_x);
     76
     77                        // AD computation of f(x)
     78                        CppAD::sparse_hes_fun<ADScalar>(n, a_x, row, col, order, a_y);
     79
     80                        // create function object f : X -> Y
     81                        CppAD::ADFun<double> f;
     82                        f.Dependent(a_x, a_y);
     83
     84                }
     85                return true;
     86        }
     87        void speed_sparse_hessian(size_t size, size_t repeat)
     88        {       CPPAD_ASSERT_UNKNOWN( size > 0 );
     89                static size_t previous_size = 0;
     90
     91                // The bug is here,  row and col should be static !!!
     92                vector<size_t> row, col;
     93
     94                size_t n = size;
     95                vector<double> x(n);
     96                if( size != previous_size )
     97                {       choose_row_col(n, row, col);
     98                        previous_size = size;
     99                }
     100
     101                // note that cppad/sparse_hessian.cpp assumes that x.size() == size
     102                link_sparse_hessian(n, repeat, row, col, x);
     103                return;
     104        }
     105
     106}
     107int main(void)
     108{
     109        size_t size  = 3000;
     110        double time_min = 1.0;
     111        double time = CppAD::time_test(speed_sparse_hessian, time_min, size);
     112        std::cout << "time = " << time << std::endl;
     113        return 0;
     114}
     115EOF
     116# -----------------------------------------------------------------------------
    33117if [ ! -e build ]
    34118then
    35119        mkdir build
    36120fi
    37 echo_eval cd build
    38 echo_eval cmake ../..
    39 #
    40 echo_eval sed -e "'s|\\(CPPAD_EXTRA_RUN_BEFORE_TIMING\\) *[01]|\\1 0|'" \
    41         -i ../../cppad/time_test.hpp
    42 echo_eval make check_speed_cppad
    43 echo 'speed/cppad/speed_cppad sparse_hessian 123  > no_extra.out'
    44 speed/cppad/speed_cppad sparse_hessian 123  > no_extra.out
    45 #
    46 echo_eval sed -e "'s|\\(CPPAD_EXTRA_RUN_BEFORE_TIMING\\) *[01]|\\1 1|'" \
    47         -i ../../cppad/time_test.hpp
    48 echo_eval make check_speed_cppad
    49 echo 'speed/cppad/speed_cppad sparse_hessian 123  > yes_extra.out'
    50 speed/cppad/speed_cppad sparse_hessian 123  > yes_extra.out
    51 #
    52 echo 'cppad/time_test.hpp: # define CPPAD_EXTRA_RUN_BEFORE_TIMING 0'
    53 cat no_extra.out
    54 echo 'cppad/time_test.hpp: # define CPPAD_EXTRA_RUN_BEFORE_TIMING 1'
    55 cat yes_extra.out
     121cd build
     122echo "$0"
     123name=`echo $0 | sed -e 's|.*/||' -e 's|\..*||'`
     124mv ../bug.$$ $name.cpp
     125for flag in 0 1
     126do
     127        echo_eval \
     128                sed -e "'s|\\(CPPAD_EXTRA_RUN_BEFORE_TIMING\\) *[01]|\\1 $flag|'" \
     129                -i ../../cppad/time_test.hpp
     130        echo_eval  g++ -I../.. --std=c++11 -DNDEBUG -g $name.cpp -o $name
     131        echo_eval ./$name
     132done
  • trunk/cppad/local/tape_link.hpp

    r3232 r3627  
    44
    55/* --------------------------------------------------------------------------
    6 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 Bradley M. Bell
     6CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-15 Bradley M. Bell
    77
    88CppAD is distributed under multiple licenses. This distribution is under
     
    210210template <class Base>
    211211ADTape<Base>*  AD<Base>::tape_manage(tape_manage_job job)
    212 {       CPPAD_ASSERT_FIRST_CALL_NOT_PARALLEL
     212{       // this routine has static variables so first call cannot be in parallel
     213        CPPAD_ASSERT_FIRST_CALL_NOT_PARALLEL
     214
     215        // The tape for the master thread
     216        static ADTape<Base>  tape_zero;
     217
     218        // Pointer to the tape for each thread
    213219        static ADTape<Base>* tape_table[CPPAD_MAX_NUM_THREADS];
    214         static ADTape<Base>  tape_zero;
     220
     221        // The id current being used for each of the tapes
    215222        static tape_id_t     tape_id_save[CPPAD_MAX_NUM_THREADS];
    216223
     224        // Thread corresponding to this call
    217225        size_t thread        = thread_alloc::thread_num();
     226
     227        // tape_manage_clear
    218228        if( job == tape_manage_clear )
    219         {       CPPAD_ASSERT_UNKNOWN(thread == 0 && (! thread_alloc::in_parallel()));   
     229        {       // This operation cannot be done in parallel
     230                CPPAD_ASSERT_UNKNOWN(thread == 0 && (! thread_alloc::in_parallel()));   
    220231                for(thread = 0; thread < CPPAD_MAX_NUM_THREADS; thread++)
    221                 {       if( tape_table[thread] != CPPAD_NULL )
    222                         {       tape_id_save[thread]    = tape_table[thread]->id_;
     232                {       // if this thread has a tape
     233                        if( tape_table[thread] != CPPAD_NULL )
     234                        {       // id corresponding to this thread
     235                                tape_id_save[thread]    = tape_table[thread]->id_;
    223236                                *tape_id_handle(thread) = &tape_id_save[thread];
    224237
     238                                // delete all but the master thread
    225239                                if( thread != 0 )
    226240                                        delete( tape_table[thread] );
     241
     242                                // set the tape pointer to null
    227243                                tape_table[thread]   = CPPAD_NULL;
    228244                        }
     
    230246                return CPPAD_NULL;
    231247        }
     248
     249        // id and tape fpor this thread
    232250        tape_id_t** tape_id  = tape_id_handle(thread);
    233251        ADTape<Base>** tape  = tape_handle(thread);
    234252
     253        // check if there is no tape currently attached to this thread
    235254        if( tape_table[thread] == CPPAD_NULL )
    236255        {       // allocate separate memroy to avoid false sharing
    237256                if( thread == 0 )
     257                {       // mastert tape is a static in this routine
    238258                        tape_table[thread] = &tape_zero;
    239                 else    tape_table[thread] = new ADTape<Base>();
     259                }
     260                else
     261                {       // other tapes are allocated
     262                        tape_table[thread] = new ADTape<Base>();
     263                }
     264                // current id and pointer to this tape
    240265                tape_table[thread]->id_ = tape_id_save[thread];
    241266                *tape_id                = &tape_table[thread]->id_;
    242267
    243                 // init tape id > 0 and thread == tape id % CPPAD_MAX_NUM_THREADS
     268                // if id is zero, initialize it so that
     269                // thread == tape id % CPPAD_MAX_NUM_THREADS
    244270                if( **tape_id == 0 )
    245271                        **tape_id = thread + CPPAD_MAX_NUM_THREADS;
     
    247273        // make sure tape_id_handle(thread) is pointing to the proper place
    248274        CPPAD_ASSERT_UNKNOWN( *tape_id == &tape_table[thread]->id_ );
     275
    249276        // make sure tape_id value is valid for this thread
    250277        CPPAD_ASSERT_UNKNOWN(
  • trunk/cppad/local/test_vector.hpp

    r3607 r3627  
    7777/* $$
    7878If you specify $code --with-eigenvector$$ on the
    79 $cref/configure/InstallUnix/Configure/$$ command line,
     79$cref/configure/auto_tools/Configure/$$ command line,
    8080$code CPPAD_EIGENVECTOR$$ is true.
    8181This vector type cannot be supported by $code CPPAD_TEST_VECTOR$$
     
    9292$head std::vector$$
    9393If you specify $code --with-stdvector$$ on the
    94 $cref/configure/InstallUnix/Configure/$$
     94$cref/configure/auto_tools/Configure/$$
    9595command line during CppAD installation,
    9696$code CPPAD_STDVECTOR$$ is true
  • trunk/cppad/time_test.hpp

    r3615 r3627  
    145145# include <cppad/local/define.hpp>
    146146
    147 # define CPPAD_EXTRA_RUN_BEFORE_TIMING 1
     147# define CPPAD_EXTRA_RUN_BEFORE_TIMING 0
    148148
    149149namespace CppAD { // BEGIN_CPPAD_NAMESPACE
  • trunk/example/check_for_nan.cpp

    r2892 r3627  
    6464                y = f.Forward(0, x);
    6565
    66                 // should never reach here
     66# ifndef NDEBUG
     67                // When compiled with NDEBUG defined,
     68                // CppAD does not spend time checking for nan.
    6769                ok = false;
     70# endif
    6871        }
    6972        catch(std::string msg)
  • trunk/example/compare_change.cpp

    r3607 r3627  
    120120        // and you run in the debugger, you will be able to inspect the
    121121        // call stack and see that 'if( x < y )' is where the comparison is.
    122         bool caught_error = false;
     122        bool missed_error = true;
    123123        {       CppAD::ErrorHandler local_error_handler(error_handler);
    124124
     
    129129                        CppAD::Independent(ax, op_index);
    130130                        ay[0] = Minimum(ax[0], ax[1]);
     131# ifdef NDEBUG
     132                        // CppAD does not spend time checking operator index when
     133                        // NDEBUG is defined
     134                        missed_error = false;
     135                        AD<double>::abort_recording();
     136# endif
    131137                }
    132138                catch( error_info info )
    133                 {       caught_error = true;
     139                {       missed_error = false;
    134140                        ok          &= info.known;
    135141                        ok          &= info.msg == check_msg;
     
    139145                }
    140146        }
    141         ok &= caught_error;
     147        ok &= ! missed_error;
    142148
    143149
  • trunk/omh/appendix.omh

    r3169 r3627  
    2222        omh/glossary.omh%
    2323        omh/bib.omh%
    24         omh/bugs.omh%
    2524        omh/wish_list.omh%
    2625        omh/whats_new/whats_new.omh%
  • trunk/omh/deprecated/deprecated.omh

    r3607 r3627  
    3939        $title Discrete$$
    4040$rnext
    41 $cref InstallUnix$$                               $cnext
    42         $title InstallUnix$$
     41$cref auto_tools$$                               $cnext
     42        $title auto_tools$$
    4343$tend
    4444
  • trunk/omh/deprecated/include_deprecated.omh

    r3607 r3627  
    5858%$$
    5959where
    60 $cref/prefix_dir/InstallUnix/prefix_dir/$$
     60$cref/prefix_dir/auto_tools/prefix_dir/$$
    6161is the prefix directory corresponding to your
    62 $cref/Unix installation/InstallUnix/$$.
     62$cref/Unix installation/auto_tools/$$.
    6363This will link form the deprecated commands
    6464to the commands that should be used:
  • trunk/omh/faq.omh

    r3523 r3627  
    7272to the next step.
    7373$lnext
     74Create a simple as possible demonstration of the bug;
     75see the file $code bug/template.sh$$ for a template that you can
     76edit for that purpose.
     77The smaller the program, the better the bug report.
     78$lnext
    7479Send an e-mail message to the mailing list
    7580$href%
     
    7883%$$
    7984with a description of the bug.
    80 Attaching a small source code sample program that
    81 demonstrates the bug is always helpful.
    82 The smaller the program, the better the bug report.
     85Attaching your program that demonstrates the bug.
    8386$lend
    8487
  • trunk/omh/install/install.omh

    r3114 r3627  
    5858        omh/install/cmake_check.omh%
    5959        omh/install/pkgconfig.omh%
    60         omh/install/unix.omh
     60        omh/install/auto_tools.omh
    6161%$$
    6262
  • trunk/omh/install/pkgconfig.omh

    r3114 r3627  
    8686$icode builddir$$ is the build directory; i.e., the directory where
    8787the CppAD
    88 $cref/Configure/InstallUnix/Configure/$$ command is executed.
     88$cref/cmake command/cmake/CMake Command/$$ is executed.
    8989The directory $icode prefix$$ is the value of
    9090$cref/cmake_install_prefix/cmake/cmake_install_prefix/$$ during configuration.
  • trunk/omh/install/testvector.omh

    r2577 r3627  
    2727
    2828$head Purpose$$
    29 The $cref/CPPAD_TESTVECTOR/testvector/$$
    30 template class is used for many of the CppAD examples and tests.
    31 If you are going to use
    32 $code boost$$, $code cppad$$, $code eigen$$, or $code std$$ vectors
    33 in your CppAD code, you many want to test CppAD with the
    34 type of vectors you will be using.
     29The value $icode cppad_testvector$$
     30in the $cref/cmake command/cmake/CMake Command/$$ must be one of the
     31following:
     32$code boost$$, $code cppad$$, $code eigen$$, or $code std$$.
     33It specifies which type of vector is corresponds to the template class
     34$cref/CPPAD_TESTVECTOR/testvector/$$
     35which is used for many of the CppAD examples and tests.
    3536
    36 $head cppad_testvector$$
    37 $index cppad_testvector$$
    38 The must be one of the following choices:
    39 $code boost$$, $code cppad$$, $code eigen$$ or $code std$$.
    40 It specifies which type of vectors are used for the
    41 $code CPPAD_TESTVECTOR$$ template class.
    42 The default value for $code cppad_testvector$$ is $code cppad$$.
     37$head std$$
     38$index std, vector$$
     39$index vector, std$$
     40If $icode%cppad_testvector%$$ is $icode std$$,
     41the $code std::vector$$ template class is used to define
     42$code CPPAD_TESTVECTOR$$.
     43
     44$head cppad$$
     45$index cppad, vector$$
     46$index vector, cppad$$
     47If $icode%cppad_testvector%$$ is $icode cppad$$,
     48the $cref cppad_vector$$ template class is used to define
     49$code CPPAD_TESTVECTOR$$.
    4350
    4451$head boost$$
    4552$index boost, vector$$
    4653$index vector, boost$$
    47 If $icode cppad_testvector$$ is set to $code boost$$, the
     54If $icode%cppad_testvector%$$ is $icode boost$$,
    4855$href%
    4956        http://www.boost.org/doc/libs/1_52_0/libs/numeric/ublas/doc/vector.htm%
    5057        boost ublas vector
    5158%$$
    52 include files must be installed on your system.
    53 In addition,
     59template class is used to define
     60$code CPPAD_TESTVECTOR$$.
     61In this case, the
    5462$href%
    5563        http://www.cmake.org/cmake/help/cmake2.6docs.html#module:FindBoost%
     
    6169$index eigen, vector$$
    6270$index vector, eigen$$
    63 If $icode cppad_testvector$$ is set to $code eigen$$,
     71If $icode%cppad_testvector%$$ is $icode eigen$$,
     72one of the eigen template classes is used to define
     73$code CPPAD_TESTVECTOR$$.
     74In this case,
    6475$cref eigen_prefix$$ must be specified on the $code cmake$$ command line.
    6576
  • trunk/omh/whats_new/whats_new_04.omh

    r3170 r3627  
    138138
    139139$head 11-02$$
    140 The $cref/unix installation/InstallUnix/$$ required the user
     140The $cref/unix installation/auto_tools/$$ required the user
    141141to touch the files to get the dates in proper order.
    142142This is no longer necessary.
     
    235235$$
    236236Links to the ADOLC and FADBAD download pages were added
    237 to the $cref/unix installation/InstallUnix/$$ instructions.
     237to the $cref/unix installation/auto_tools/$$ instructions.
    238238
    239239$head 09-29$$
     
    254254The changes on $cref/09-21/whats_new_04/09-21/$$ did not fix all
    255255the file date and time problems; i.e., automake was still running
    256 in response to the $cref/unix installation/InstallUnix/$$
     256in response to the $cref/unix installation/auto_tools/$$
    257257$code make$$ command.
    258258
     
    274274were later than the date of top level $code Makefile.am$$.
    275275This caused the $code make$$ command during the
    276 $cref/unix installation/InstallUnix/$$
     276$cref/unix installation/auto_tools/$$
    277277to try to run $code autoconf$$
    278278and this did not work on systems with very old versions of $code autoconf$$.
     
    298298
    299299$$
    300 The $cref/Unix installation/InstallUnix/$$ instructions
     300The $cref/Unix installation/auto_tools/$$ instructions
    301301were modified so just one make command was executed at the top level.
    302302This was necessary because the order of the makes is now important
     
    309309
    310310$head 09-07$$
    311 In the $cref/Unix installation/InstallUnix/$$ instructions
     311In the $cref/Unix installation/auto_tools/$$ instructions
    312312place $code ./$$ in front of current directory program names; for example,
    313313$code ./GetStarted$$ instead of $code GetStarted$$
     
    329329$head 09-02$$
    330330Some more messages were added to the output of $code configure$$
    331 during the $cref/Unix installation/InstallUnix/$$.
     331during the $cref/Unix installation/auto_tools/$$.
    332332$pre
    333333
  • trunk/omh/whats_new/whats_new_05.omh

    r2579 r3627  
    338338$head 11-19$$
    339339Improve the output messages generated during execution of the
    340 $cref/configure/InstallUnix/Configure/$$ command.
     340$cref/configure/auto_tools/Configure/$$ command.
    341341$pre
    342342
     
    400400
    401401$head 10-18$$
    402 The Unix install $cref/configure/InstallUnix/Configure/$$ command
     402The Unix install $cref/configure/auto_tools/Configure/$$ command
    403403was missing the $code --$$ before of the $code prefix$$ command line
    404404argument.
     
    421421$head 10-12$$
    422422Change the
    423 $cref/configure/InstallUnix/Configure/$$ script so that compilation of the
     423$cref/configure/auto_tools/Configure/$$ script so that compilation of the
    424424$cref get_started.cpp$$ and $cref print_for_cout.cpp$$ examples are optional.
    425425$pre
     
    435435Change the Unix install $code configure$$ script
    436436so that is reports information using the same order and notation as its
    437 $cref/documentation/InstallUnix/Configure/$$.
     437$cref/documentation/auto_tools/Configure/$$.
    438438$pre
    439439
     
    455455$head 09-27$$
    456456Add the
    457 $cref/prefix_dir/InstallUnix/prefix_dir/$$ and
     457$cref/prefix_dir/auto_tools/prefix_dir/$$ and
    458458$icode postfix_dir$$ ($icode postfix_dir$$ has since been removed)
    459459options to the $code configure$$ command line.
     
    481481Make the building of the
    482482$code Example$$, $code TestMore$$, and $code Speed$$, directories
    483 optional during the $cref/configure/InstallUnix/Configure/$$ command.
    484 The $cref/Unix installation instructions/InstallUnix/$$ were
     483optional during the $cref/configure/auto_tools/Configure/$$ command.
     484The $cref/Unix installation instructions/auto_tools/$$ were
    485485overhauled to make the larger set of options easy to understand.
    486486
     
    593593
    594594$head 07-19$$
    595 The $cref WishList$$ and $cref Bugs$$ information
    596 were moved out of this section and into their own separate sections.
     595The $cref WishList$$ and $code Bugs$$ information
     596were moved out of this section and into their own separate sections
     597(the Bugs section has been removed; see the $code bug$$ subdirectory
     598instead).
    597599$pre
    598600
     
    606608$head 07-15$$
    607609The $code BOOST_DIR$$ and $code CPP_ERROR_WARN$$
    608 $cref/configure/InstallUnix/Configure/$$ options
     610$cref/configure/auto_tools/Configure/$$ options
    609611were not properly implemented for compiling the 
    610612$code lib$$ sub-directory.
     
    859861
    860862$head 04-20$$
    861 Add $cref/profiling/InstallUnix/Profiling CppAD/$$
     863Add $cref/profiling/auto_tools/Profiling CppAD/$$
    862864to the speed tests.
    863865
     
    898900$head 03-01$$
    899901An option that specifies error and warning
    900 $cref/flags/InstallUnix/cxx_flags/$$
     902$cref/flags/auto_tools/cxx_flags/$$
    901903for all the C++ compile commands,
    902904was added to the
    903 $cref/Unix installation instructions/InstallUnix/$$.
     905$cref/Unix installation instructions/auto_tools/$$.
    904906
    905907
  • trunk/omh/whats_new/whats_new_06.omh

    r3214 r3627  
    200200$cref|speed/fadbad|speed_fadbad|$$
    201201        $cnext Fadbad drivers for the template functions $rnext
    202 $cref|speed/profile|InstallUnix|Profiling CppAD|$$
     202$cref|speed/profile|auto_tools|Profiling CppAD|$$
    203203        $cnext profiling version of CppAD drivers       
    204204$tend
     
    271271$head 12-05$$
    272272Add the unix installation
    273 $cref/--with-Documentation/InstallUnix/--with-Documentation/$$ option
     273$cref/--with-Documentation/auto_tools/--with-Documentation/$$ option
    274274and remove the
    275275$icode postfix_dir$$ option.
     
    685685
    686686$$
    687 Add more discussion and a reference for the
    688 $cref/gcc 3.4.4 -O2/Bugs/gcc 3.4.4 -O2/$$ bug.
     687Add more discussion and a reference for a
     688$code gcc 3.4.4 -O2$$ bug (since been removed).
    689689
    690690$head 04-28$$
     
    11831183$head 01-02$$
    11841184Add the sed script $code Speed/gprof.sed$$ to aid in the display of the
    1185 $cref/profiling/InstallUnix/Profiling CppAD/$$ output.
     1185$cref/profiling/auto_tools/Profiling CppAD/$$ output.
    11861186$pre
    11871187
  • trunk/omh/whats_new/whats_new_07.omh

    r3523 r3627  
    8181
    8282$head 12-21$$
    83 The $cref/--with-Documentation/InstallUnix/--with-Documentation/$$
     83The $cref/--with-Documentation/auto_tools/--with-Documentation/$$
    8484option on the $code configure$$ command line caused an error on some
    8585systems because it attempted to copy to many files.
     
    105105$head 12-02$$
    106106Add the $codei%DESTDIR=%directory%$$ option on the
    107 $cref/make install/InstallUnix/make install/$$ command line.
     107$cref/make install/auto_tools/make install/$$ command line.
    108108
    109109$head 11-29$$
     
    180180
    181181$$
    182 The $cref/unix install/InstallUnix/$$ procedure has been modified
     182The $cref/unix install/auto_tools/$$ procedure has been modified
    183183so that the one configure flag
    184184$code --with-Speed$$
     
    191191
    192192$$
    193 The subversion copy of the $cref/configure/InstallUnix/Configure/$$ script
     193The subversion copy of the $cref/configure/auto_tools/Configure/$$ script
    194194was not executable.
    195195This has been fixed.
     
    255255$$
    256256The installation was broken on some systems because the
    257 $cref/configure/InstallUnix/Configure/$$ command tried to run
     257$cref/configure/auto_tools/Configure/$$ command tried to run
    258258the $code autoconf$$ and $code automake$$ programs.
    259259This has been fixed by adding
     
    267267
    268268$head 10-23$$
    269 The $cref/cxx_flags/InstallUnix/cxx_flags/$$ environment variable
     269The $cref/cxx_flags/auto_tools/cxx_flags/$$ environment variable
    270270has been changed from $code CPP_ERROR_WARN$$ to $code CXX_FLAGS$$.
    271271$pre
     
    305305was removed on $cref/2006-12-05/whats_new_06/12-05/$$ but
    306306it was not removed from the
    307 $cref/configure/InstallUnix/Configure/$$
     307$cref/configure/auto_tools/Configure/$$
    308308documentation.
    309309This has been fixed.
     
    338338Add $code ADOLC_DIR$$, $code FADBAD_DIR$$, $code SACADO_DIR$$,
    339339and $code BOOST_DIR$$
    340 to the $cref/configure/InstallUnix/Configure/$$ help string.
     340to the $cref/configure/auto_tools/Configure/$$ help string.
    341341
    342342
     
    543543the $code --with-Introduction$$ and
    544544$code BOOST_DIR$$ options were included on the
    545 $cref/configure/InstallUnix/Configure/$$ command line.
     545$cref/configure/auto_tools/Configure/$$ command line.
    546546In fact, some of the $cref speed$$ tests also had compilation errors
    547547when $code BOOST_DIR$$ was include in the configure command.
     
    950950$head 02-02$$
    951951Fix minor errors and improve
    952 $cref/profiling/InstallUnix/Profiling CppAD/$$ documentation.
     952$cref/profiling/auto_tools/Profiling CppAD/$$ documentation.
    953953Also change the problem sizes used for the $cref speed$$ tests.
    954954
  • trunk/omh/whats_new/whats_new_08.omh

    r3301 r3627  
    253253
    254254$head 07-02$$
    255 Extend $cref/configure/InstallUnix/Configure/$$ command to check for
     255Extend $cref/configure/auto_tools/Configure/$$ command to check for
    256256extras libraries that are necessary for linking the ipopt example.
    257257
     
    408408
    409409$head 01-24$$
    410 The $cref/postfix_dir/InstallUnix/postfix_dir/$$
     410The $cref/postfix_dir/auto_tools/postfix_dir/$$
    411411has been added to the $code configure$$ command line options.
    412412
  • trunk/omh/whats_new/whats_new_09.omh

    r3537 r3627  
    456456
    457457$head 06-21$$
    458 The configure instructions for $cref/ipopt_dir/InstallUnix/ipopt_dir/$$
     458The configure instructions for $cref/ipopt_dir/auto_tools/ipopt_dir/$$
    459459had the wrong path for $code IpIpoptApplication.hpp$$.
    460460This has been fixed.
     
    491491$head 05-20$$
    492492A change was make to the trunk on 05-19 (svn revision 1361) that broke the
    493 $cref/Unix install/InstallUnix/$$ procedure.
     493$cref/Unix install/auto_tools/$$ procedure.
    494494This was has been fixed (revision 1362).
    495495
  • trunk/omh/whats_new/whats_new_10.omh

    r2859 r3627  
    8585Promote $cref cppad_ipopt_nlp$$ from an example to a library
    8686that gets installed
    87 (provided that the $cref/ipopt_dir/InstallUnix/ipopt_dir/$$
     87(provided that the $cref/ipopt_dir/auto_tools/ipopt_dir/$$
    8888is specified on the $code configure$$ command line).
    8989
     
    9595The new versions of ipopt use $code pkg-config$$ to record the location
    9696where its necessary libraries are stored on the system.
    97 The cppad $cref/configure/InstallUnix/Configure/$$ command has
     97The cppad $cref/configure/auto_tools/Configure/$$ command has
    9898been improved so that it can work both with versions of ipopt that use
    9999$code pkg-config$$ and ones that don't.
     
    102102Old versions of the ipopt library were located in
    103103$icode%ipopt_dir%/lib/libipopt.%*%$$
    104 (see $cref/ipopt_dir/InstallUnix/ipopt_dir/$$),
     104(see $cref/ipopt_dir/auto_tools/ipopt_dir/$$),
    105105but newer versions will be located in
    106106$icode%ipopt_dir%/lib/coin/libipopt.%*%$$.
     
    192192change whereby the $code make$$ command tried to build the
    193193$code libcppad_ipopt.a$$ library even if $code IPOPT_DIR$$ was
    194 not specified on the $cref/configure/InstallUnix/Configure/$$ command line.
     194not specified on the $cref/configure/auto_tools/Configure/$$ command line.
    195195This has been fixed.
    196196
     
    213213$code make test$$ command.
    214214$lnext
    215 Simplify the $cref/configure/InstallUnix/Configure/$$ command by removing
     215Simplify the $cref/configure/auto_tools/Configure/$$ command by removing
    216216need for:
    217217$code --with-Speed$$,
  • trunk/omh/whats_new/whats_new_11.omh

    r3537 r3627  
    141141
    142142$head 11-21$$
    143 Separate $cref/--with-boostvector/InstallUnix/--with-testvector/$$
    144 for $cref/boost_dir/InstallUnix/boost_dir/$$.
     143Separate $cref/--with-boostvector/auto_tools/--with-testvector/$$
     144for $cref/boost_dir/auto_tools/boost_dir/$$.
    145145This enables one to specify $icode boost_dir$$ for
    146146$cref team_bthread.cpp$$ with out using boost vectors.
     
    354354$lnext
    355355Change $code --with-openmp$$ to
    356 $cref/OPENMP_FLAGS=openmp_flags/InstallUnix/openmp_flags/$$ configure
     356$cref/OPENMP_FLAGS=openmp_flags/auto_tools/openmp_flags/$$ configure
    357357command line argument.
    358358$lend
     
    363363and move the $code openmp_multi_newton.cpp$$ test from
    364364$code openmp/run.sh$$ to $code openmp/run.cpp$$.
    365 This uses $cref/configure/InstallUnix/Configure/$$
     365This uses $cref/configure/auto_tools/Configure/$$
    366366information for building the tests.
    367367$lnext
     
    576576$head 07-14$$
    577577$list number$$
    578 The $cref InstallUnix$$ instructions for running the individual
     578The $cref auto_tools$$ instructions for running the individual
    579579correctness and speed tests were out of date.
    580580This has been fixed; see
    581 $cref/example and tests/InstallUnix/make/Examples and Tests/$$.
     581$cref/example and tests/auto_tools/make/Examples and Tests/$$.
    582582$lnext
    583583Move $code parallel_ad.cpp$$ from $code example$$ directory
     
    706706$head 06-18$$
    707707$list number$$
    708 The $cref/tape_addr_type/InstallUnix/tape_addr_type/$$ option was added
    709 to the $cref/configure/InstallUnix/Configure/$$ command line.
     708The $cref/tape_addr_type/auto_tools/tape_addr_type/$$ option was added
     709to the $cref/configure/auto_tools/Configure/$$ command line.
    710710$lnext
    711711The function $cref/size_op_seq/seq_property/size_op_seq/$$ results uses
     
    718718defined by $code cppad/config.h$$ and that did not begin with $code CPPAD_$$.
    719719$lnext
    720 Change $cref/adolc/InstallUnix/adolc_dir/$$ library linkage so it
     720Change $cref/adolc/auto_tools/adolc_dir/$$ library linkage so it
    721721works with version $code ADOL-C-2.2.0$$.
    722722$lend
     
    953953$lnext
    954954The GPL distribution had the output of the
    955 $cref/configure/InstallUnix/Configure/$$ command in it.
     955$cref/configure/auto_tools/Configure/$$ command in it.
    956956$lnext
    957957Since the change on 01-09, the file
     
    963963The Fadbad $cref/speed/speed_fadbad/$$ tests have a special
    964964flag with this warning removed from the
    965 $cref/cxx_flags/InstallUnix/cxx_flags/$$.
     965$cref/cxx_flags/auto_tools/cxx_flags/$$.
    966966$lend
    967967
     
    977977$lnext
    978978The include file $code cppad_ipopt_nlp.hpp$$ was always installed, even if
    979 $cref/ipopt_dir/InstallUnix/ipopt_dir/$$ was not defined on the
     979$cref/ipopt_dir/auto_tools/ipopt_dir/$$ was not defined on the
    980980$code configure$$ command line.
    981981$lnext
  • trunk/omh/whats_new/whats_new_12.omh

    r3607 r3627  
    132132$list number$$
    133133Convert documentation most all documentation references from
    134 the deprecated $cref InstallUnix$$ instructions to the new $cref cmake$$
     134the deprecated $cref auto_tools$$ instructions to the new $cref cmake$$
    135135instructions.
    136136$lnext
     
    203203$head 12-14$$
    204204$list number$$
    205 Fix the old $cref InstallUnix$$ so that it works with the
     205Fix the old $cref auto_tools$$ so that it works with the
    206206new $code cppad.pc$$.
    207207$lnext
    208208Fix the old installation
    209 $cref/--with-Documentation/InstallUnix/--with-Documentation/$$ option
     209$cref/--with-Documentation/auto_tools/--with-Documentation/$$ option
    210210(it was attempting to copy from the wrong directory).
    211211$lend
     
    279279$list number$$
    280280Finish documenting the new $cref cmake$$ configuration instructions
    281 and deprecate the old $cref/unix/InstallUnix/$$ instructions.
     281and deprecate the old $cref/unix/auto_tools/$$ instructions.
    282282$lnext
    283283Change the specifications for
     
    303303$cref download$$ procedure as a separate section
    304304so that the same download instruction also apply to the
    305 $cref/unix/InstallUnix/$$ install procedure.
     305$cref/unix/auto_tools/$$ install procedure.
    306306
    307307$lnext
     
    353353
    354354$head 10-31$$
    355 The CppAD $cref/profiling/InstallUnix/Profiling CppAD/$$ was not compiling
     355The CppAD $cref/profiling/auto_tools/Profiling CppAD/$$ was not compiling
    356356the $code speed/src/*.cpp$$ files with the profiling flag.
    357357This has been changes
     
    359359
    360360$head 10-30$$
    361 The $cref/fadbad_dir/InstallUnix/fadbad_dir/$$ directory install instructions
     361The $cref/fadbad_dir/auto_tools/fadbad_dir/$$ directory install instructions
    362362were changed.
    363363To be specific, $code FADBAD++$$ was changed to $code include/FADBAD++$$.
     
    426426$cref/vector of sets/glossary/Sparsity Pattern/Vector of Sets/$$
    427427sparsity patterns; see the configure
    428 $cref/--with-sparse_option/InstallUnix/--with-sparse_option/$$.
     428$cref/--with-sparse_option/auto_tools/--with-sparse_option/$$.
    429429$lnext
    430430A new speed test, $cref compare_c$$, compares the speed of the same
     
    467467$head 07-07$$
    468468Add the $code CPPAD_TAPE_ID_TYPE$$ argument to the
    469 $cref/configure/InstallUnix/Configure/$$ command line.
     469$cref/configure/auto_tools/Configure/$$ command line.
    470470
    471471$head 07-05$$
     
    481481the requirement that it can be converted to a $code size_t$$ value.
    482482$lnext
    483 The $cref/--with-eigenvector/InstallUnix/Configure/$$ option was
     483The $cref/--with-eigenvector/auto_tools/Configure/$$ option was
    484484added to the $code configure$$ command line.
    485485$lend
     
    541541Include the $cref base_adolc.hpp$$ as
    542542$code <cppad/example/base_adolc.hpp>$$ under the
    543 $cref/prefix_dir/InstallUnix/prefix_dir/$$ directory.
     543$cref/prefix_dir/auto_tools/prefix_dir/$$ directory.
    544544
    545545$head 06-12$$
     
    702702
    703703$head 04-19$$
    704 The $cref/BOOST_DIR/InstallUnix/boost_dir/$$
     704The $cref/BOOST_DIR/auto_tools/boost_dir/$$
    705705configure command line value has been changed to be the corresponding
    706706prefix during the installation of boost.
     
    725725$head 04-10$$
    726726Add control of the
    727 $cref/max_num_threads/InstallUnix/max_num_threads/$$ argument
     727$cref/max_num_threads/auto_tools/max_num_threads/$$ argument
    728728to the unix
    729 $cref/configure/InstallUnix/Configure/$$ command.
     729$cref/configure/auto_tools/Configure/$$ command.
    730730
    731731$head 04-06$$
     
    756756This has been fixed and the error message below no longer occurs.
    757757Suppose that you ran the CppAD
    758 $cref/configure/InstallUnix/Configure/$$ command in the $code work$$
     758$cref/configure/auto_tools/Configure/$$ command in the $code work$$
    759759directory.
    760760If you then edited the file $code work/multi_thread/makefile$$
     
    856856$lnext
    857857Fix bug in finding boost multi-threading library
    858 (due to fact that $cref/boost_dir/InstallUnix/boost_dir/$$
     858(due to fact that $cref/boost_dir/auto_tools/boost_dir/$$
    859859is not the prefix during the boost installation).
    860860$lend
     
    914914Make another attempt to fix linking with boost threads where the wrong
    915915version of the library is in the system include directory; i.e.,
    916 to have $cref/boost_dir/InstallUnix/boost_dir/$$ override the default
     916to have $cref/boost_dir/auto_tools/boost_dir/$$ override the default
    917917library.
    918918
    919919$head 01-27$$
    920920There were some problems with
    921 $cref/configure's/InstallUnix/Configure/$$ automatic detection of
     921$cref/configure's/auto_tools/Configure/$$ automatic detection of
    922922the boost multi-threading library.
    923923These have been fixed.
     
    971971$head 01-16$$
    972972The test program $code multi_thread/test.sh$$ failed if the
    973 $cref/openmp_flags/InstallUnix/openmp_flags/$$ not present in the
     973$cref/openmp_flags/auto_tools/openmp_flags/$$ not present in the
    974974$code configure$$ command.
    975975This has been fixed.
     
    980980$head 01-15$$
    981981Fix $code make test$$ so it works when
    982 $cref/configure/InstallUnix/Configure/$$ is run in the distribution directory
     982$cref/configure/auto_tools/Configure/$$ is run in the distribution directory
    983983$codei%cppad-%yyyymmdd%$$
    984984(not just when it is run in a different directory).
  • trunk/omh/whats_new/whats_new_13.omh

    r3537 r3627  
    7272This has been fixed.
    7373$lnext
    74 There was a problem with deprecated $cref InstallUnix$$
     74There was a problem with deprecated $cref auto_tools$$
    7575(created when optional implicit constructor from any type was added).
    7676This has been fixed by adding the
    77 $cref/--with-implicit_ctor/InstallUnix/--with-implicit_ctor/$$ option.
     77$cref/--with-implicit_ctor/auto_tools/--with-implicit_ctor/$$ option.
    7878$lend
    7979
     
    169169$cref/whish list/WishList/Conditional Expressions/Sparsity/$$.
    170170$lnext
    171 Fix the deprecated autotools install (see $cref InstallUnix$$)
     171Fix the deprecated autotools install (see $cref auto_tools$$)
    172172which was broken by the changes on 10-22.
    173173To be specific, the
  • trunk/omh/whats_new/whats_new_14.omh

    r3530 r3627  
    136136$head 12-17$$
    137137Fix some compiler warnings and $cref speed$$ program names
    138 when using the deprecated $cref/auto-tools/InstallUnix/$$ install procedure.
     138when using the deprecated $cref/auto-tools/auto_tools/$$ install procedure.
    139139
    140140$head 12-16$$
     
    160160$cref/thread_alloc example/thread_alloc.cpp/$$.
    161161$lnext
    162 Advance the deprecated $cref/unix install/InstallUnix/$$ utilities to
     162Advance the deprecated $cref/unix install/auto_tools/$$ utilities to
    163163autoconf-2.69 and automake-1.13.4.
    164164$lend
     
    224224$head 05-23$$
    225225The $cref speed$$ test instructions were converted from using
    226 the old auto-tools $cref/unix install/InstallUnix/$$ instructions
     226the old auto-tools $cref/unix install/auto_tools/$$ instructions
    227227to use the $cref cmake$$ install instructions.
    228228These instructions should work on any system, not just unix.
  • trunk/omh/whats_new/whats_new_15.omh

    r3623 r3627  
    3434assist you in learning about changes between various versions of CppAD.
    3535
     36$head 01-30$$
     37Fix bug in $cref link_sparse_hessian$$ speed test introduced on
     38$cref/01-09/whats_new_15/01-25/$$ below.
     39
    3640$head 01-29$$
    3741Fix some warnings generated by $code g++ 4.9.2$$.
    3842
    39 $head 01-26$$
    40 The change of global variables to local in
    41 $code cppad/local/op_code.hpp$$ on $cref/2014-50-14/whats_new_14/05-14/$$
    42 created a bug in $cref parallel_ad$$ (some local statics needed to
    43 be initialized). This has been fixed.
     43$head 01-25$$
     44Change the $cref link_sparse_hessian$$ speed test so that it
     45does not change the operation sequence between repeated tests
     46(making use of the $cref/onetape/speed_main/option_list/onetape/$$
     47option valid).
    4448
    4549$head 01-23$$
     
    5357
    5458$head 01-21$$
    55 The deprecated $cref InstallUnix$$ procedure had a bug in the
     59The deprecated $cref auto_tools$$ procedure had a bug in the
    5660detection of when the size of an $code unsigned int$$
    5761was the same as the size of a $code size_t$$. This has been fixed.
  • trunk/speed/src/link_sparse_hessian.cpp

    r3608 r3627  
    353353{       CPPAD_ASSERT_UNKNOWN( size > 0 );
    354354        static size_t previous_size = 0;
    355         vector<size_t> row, col;
     355        static vector<size_t> row, col;
    356356
    357357        size_t n = size;       
Note: See TracChangeset for help on using the changeset viewer.