Ignore:
Timestamp:
Sep 15, 2014 6:32:35 PM (6 years ago)
Author:
bradbell
Message:
  1. cache.sh should not revert sweep files that have changed.
  2. Fix calls that were erased by mistake fixed in 1.
  3. Use cache2var (better description than cache).
  4. Put cache2var in ADFun function object.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/cache/cppad/local/cache.hpp

    r3333 r3335  
    1212template <class Base>
    1313void create_cache(
    14         player<Base>&       play )
     14        player<Base>&       play         ,
     15        CppAD::vector<addr_t>& var2cache )
    1516{       size_t i, j, k;
    1617
     
    6364
    6465        // initialize the cache vector and available flags as empty
    65         CppAD::vector<addr_t> cache(num_var);
     66        var2cache.resize(num_var);
    6667        std::list<addr_t> available;
    6768        std::list<addr_t>::iterator itr;
     
    7374        {       if( available.empty() )
    7475                        available.push_front(i_cache++);
    75                 cache[i_var] = available.front();
     76                var2cache[i_var] = available.front();
    7677                available.pop_front();
    7778
    7879                while( i_last < num_var && last_use[ order[i_last] ] <= i_var )
    79                 {       available.push_back( cache[ order[i_last++] ] );
     80                {       available.push_back( var2cache[ order[i_last++] ] );
    8081                }
    8182        }
     
    8687        {       std::cout << i_var << ", ";
    8788                std::cout << last_use[i_var] << ", ";
    88                 std::cout << cache[i_var] << std::endl;
     89                std::cout << var2cache[i_var] << std::endl;
    8990        }
    9091        std::cout << "num_cache = " << i_cache - num_var << std::endl;
     
    134135                for(size_t i_arg = 0; i_arg < n_arg; i_arg++)
    135136                {       if( arg_is_variable(op, arg, i_arg) )
    136                                 rec.PutArg( cache[ arg[i_arg] ] );
     137                                rec.PutArg( var2cache[ arg[i_arg] ] );
    137138                        else
    138139                                rec.PutArg( arg[i_arg] );
     
    145146template <class Base>
    146147void ADFun<Base>::cache(void)
    147 {       create_cache(play_);
     148{       create_cache(play_, var2cache_);
    148149}
    149150
Note: See TracChangeset for help on using the changeset viewer.