Changeset 3747


Ignore:
Timestamp:
Nov 9, 2015 9:25:41 AM (4 years ago)
Author:
bradbell
Message:

merge to branch: trunk
from repository: https://github.com/coin-or/CppAD
start hash code: 9aebc1ca2c0949dec7c2d156517db26e60f28159
end hash code: 3f7008b477fdb967404fd2bf37f15dde076fd074

commit 3f7008b477fdb967404fd2bf37f15dde076fd074
Author: Brad Bell <bradbell@…>
Date: Mon Nov 9 06:23:05 2015 -0800

New simpler verison of check_verbatim.sh.


bool_sparsity.cpp: fix error that old version missed.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/bin/check_verbatim.sh

    r3689 r3747  
    1616        exit 1
    1717fi
     18cat << EOF > junk.sed
     19/\$verbatim[^a-z]/! b skip
     20N
     21s/^#[ \\t]//
     22s/^[ \\t]//
     23s/\\n#[ \\t]//
     24s/\\n[ \\t]//
     25s/\$verbatim%//
     26s/%.*//
     27p
     28: skip
     29EOF
     30special_case='
     31bin/check_include_omh.sh
     32bin/check_verbatim.sh
     33bin/package.sh
     34cppad/local/cond_exp.hpp
     35introduction/exp_apx/exp_2.omh
     36introduction/exp_apx/exp_eps.omh
     37omh/license.omh
     38'
    1839# -----------------------------------------------------------------------------
    1940# Make sure that OMhelp verbatim commands referr to same file as command
    2041echo "Checking that OMhelp verbatim commands include from file they appear in."
    2142echo "----------------------------------------------------------------------"
    22 list=`bin/list_files.sh | sed -n \
    23         -e '/\.c$/p' \
    24         -e '/\.cpp$/p' \
    25         -e '/\.hpp$/p' \
    26         -e '/\.omh$/p' \
    27         -e '/\.txt$/p' \
    28         -e '/\.am$/p'`
     43list=`git ls-files`
    2944different="no"
    3045for file in $list
    3146do
    32         line=`sed -n -e '/$verbatim[^a-z]/p' $file`
    33         if [ "$line" != '' ]
     47        ok='no'
     48        for name in $special_case
     49        do
     50                if [ "$file" == "$name" ]
     51                then
     52                        ok='yes'
     53                fi
     54        done
     55        #
     56        reference=`sed -n -f junk.sed $file`
     57        if [ "$reference" == '' ] || [ "$reference" == "$file" ]
    3458        then
    35                 reference=`echo $line | sed -e 's|$verbatim%\([^%]*\)%.*|\1|'`
    36                 #
    37                 file_root=`echo $file | sed \
    38                         -e 's|.*/||' -e 's|_hpp\.omh||' -e 's|\.[^.]*$||'`
    39                 #
    40                 ref_root=`echo $reference | sed \
    41                         -e 's|.*/||' -e 's|\.[^.]*$||'`
    42                 #
    43                 if [ "$file_root" != "$ref_root" ]
     59                ok='yes'
     60        fi
     61        #
     62        ext=`echo $file | sed -e 's|.*\.||'`
     63        if [ "$ext" == 'omh' ]
     64        then
     65                file_root=`echo $file | sed -e 's|.*/||' -e 's|_hpp\.omh|.hpp|'`
     66                ref_root=`echo $reference | sed -e 's|.*/||'`
     67                if [ "$file_root" == "$ref_root" ]
    4468                then
    45                         # special cases
    46                         ok='false'
    47                         if [ "$file_root" == 'cond_exp' ] && [ "$ref_root" == 'atan2' ]
    48                         then
    49                                 ok='true'
    50                         fi
    51                         if [ "$file_root" == 'license' ] && [ "$ref_root" == 'epl-v10' ]
    52                         then
    53                                 ok='true'
    54                         fi
    55                         if [ "$file_root"=='base_require' ] && [ "$ref_root"=='zdouble' ]
    56                         then
    57                                 ok='true'
    58                         fi
    59                         #
    60                         if [ "$ok" == 'false' ]
    61                         then
    62                                 echo "\$verbatim in $file references $reference"
    63                                 different="yes"
    64                         fi
     69                        ok='yes'
    6570                fi
     71                file_root=`echo $file | sed -e 's|.*/||' -e 's|\.omh|.hpp|'`
     72                if [ "$file_root" == "$ref_root" ]
     73                then
     74                        ok='yes'
     75                fi
     76        fi
     77        #
     78        if [ "$ok" == 'no' ]
     79        then
     80                echo "\$verbatim in $file references $reference"
     81                different="yes"
    6682        fi
    6783done
     
    7288        exit 1
    7389else
    74         echo "Ok: nothing is between the two dashed lines above"
     90        echo "OK: nothing is between the two dashed lines above"
    7591        exit 0
    7692fi
  • trunk/example/bool_sparsity.cpp

    r3746 r3747  
    1717$$
    1818
    19 $section Using vectorBool Sparsity Patterns: Example and Test$$
    20 
    21 $code
    22 $verbatim%example/rev_sparse_hes.cpp%0%// BEGIN C++%// END C++%1%$$
    23 $$
     19$section Using vectorBool Sparsity To Conserve Memory: Example and Test$$
    2420
    2521$head Purpose$$
    2622This example show how to conserve memory when computing sparsity patterns.
     23
     24$code
     25$verbatim%example/bool_sparsity.cpp%0%// BEGIN C++%// END C++%1%$$
     26$$
    2727
    2828$end
     
    3737        using CppAD::ADFun;
    3838
     39        // function f(x) that we are computing sparsity patterns for
    3940        template <class Float>
    4041        vector<Float> fun(const vector<Float>& x)
     
    4849                return ret;
    4950        }
     51        // check sparsity pattern for f(x)
    5052        bool check_jac(const vectorBool& pattern, size_t n)
    5153        {       bool ok = true;
     
    6163                return ok;
    6264        }
     65        // check sparsity pattern for the Hessian of sum_i f_i(x)
    6366        bool check_hes(const vectorBool& pattern, size_t n)
    6467        {       bool ok = true;
     
    7376                return ok;
    7477        }
     78        // compute sparsity for Jacobian of f(x) using forward mode
    7579        bool for_sparse_jac(ADFun<double>& f)
    7680        {       bool ok = true;
     
    7882                size_t m = f.Range();
    7983                //
     84                // number of columns of the sparsity patter to compute at a time
    8085                size_t n_col = vectorBool::bit_per_unit();
    8186                vectorBool pattern(m * n), s(m * n_col), r(n * n_col);
     
    100105                return ok;
    101106        }
     107        // compute sparsity for Jacobian of f(x) using reverse mode
    102108        bool rev_sparse_jac(ADFun<double>& f)
    103109        {       bool ok = true;
     
    105111                size_t m = f.Range();
    106112                //
     113                // number of rows of the sparsity patter to compute at a time
    107114                size_t n_row = vectorBool::bit_per_unit();
    108115                vectorBool pattern(m * n), s(n_row * n), r(n_row * m);
     
    127134                return ok;
    128135        }
     136        // compute sparsity for Hessian of sum_i f_i (x)
    129137        bool rev_sparse_hes(ADFun<double>& f)
    130138        {       bool ok = true;
     
    132140                size_t m = f.Range();
    133141                //
     142                // number of columns of the sparsity patter to compute at a time
    134143                size_t n_col = vectorBool::bit_per_unit();
    135144                vectorBool pattern(n * n), r(n * n_col), h(n * n_col);
     
    164173        }
    165174}
     175// driver for all of the cases above
    166176bool bool_sparsity(void)
    167177{       bool ok = true;
    168178        //
     179        // record the funcion
    169180        size_t n = 100;
    170181        size_t m = n + 1;
     
    176187        ADFun<double> f(x, y);
    177188        //
     189        // run the three example / tests
    178190        ok &= for_sparse_jac(f);
    179191        ok &= rev_sparse_jac(f);
  • trunk/test_more/num_limits.cpp

    r3738 r3747  
    3232
    3333$code
    34 $verbatim%example/num_limits.cpp%0%// BEGIN C++%// END C++%1%$$
     34old verbatim%example/num_limits.cpp%0%// BEGIN C++%// END C++%1%$$
    3535$$
    3636
  • trunk/test_more/romberg_one.cpp

    r3733 r3747  
    2424
    2525$code
    26 $verbatim%example/romberg_one.cpp%0%// BEGIN C++%// END C++%1%$$
     26old verbatim%example/romberg_one.cpp%0%// BEGIN C++%// END C++%1%$$
    2727$$
    2828
Note: See TracChangeset for help on using the changeset viewer.