Changeset e7be12 in git


Ignore:
Timestamp:
Feb 1, 2018, 9:01:55 AM (6 years ago)
Author:
Andreas Steenpass <steenpass@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
142d6830a2e36c68a435217a327b8c40dfe7c89ee12c6cc0e47b23782a596a19dd9b135d5c34120b
Parents:
eb2c7db0175de4726fef063bb07af0fa7ffb9390
git-author:
Andreas Steenpass <steenpass@mathematik.uni-kl.de>2018-02-01 09:01:55+01:00
git-committer:
Andreas Steenpass <steenpass@mathematik.uni-kl.de>2018-02-02 11:16:48+01:00
Message:
chg: restructure computeResolution()
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/syz4.cc

    reb2c7db re7be12  
    5050 * used to determine lower order terms.
    5151 */
    52 static inline bool check_variables(const std::vector<bool> variables,
     52static inline bool check_variables(const std::vector<bool> &variables,
    5353        const poly m)
    5454{
     
    527527 */
    528528static void computeLiftings(const resolvente res, const int index,
    529         std::vector<bool> &variables)
     529        const std::vector<bool> &variables)
    530530{
    531531#if CACHE
     
    610610                delete_tails(res, index-1);
    611611            }
    612             update_variables(variables, res[index]);
    613612            // we don't know if the input is a reduced SB:
    614613            if (index == 1) {
    615614                variables[currRing->N] = false;
    616615            }
     616            update_variables(variables, res[index]);
    617617            if (use_tensor_trick) {
    618618                delete_variables(res, index, variables);
     
    634634        const bool single_module, const bool use_tensor_trick)
    635635{
     636    if (idIs0(res[0])) {
     637        return 1;
     638    }
     639    std::vector<bool> variables;
     640    variables.resize(currRing->N+1, true);
     641    if (do_lifting) {
     642        update_variables(variables, res[0]);
     643        if (use_tensor_trick) {
     644            delete_variables(res, 0, variables);
     645        }
     646    }
    636647    int index = 0;
    637     if (!idIs0(res[0]) && 0 < max_index) {
    638         index++;
     648    if (max_index > 0) {
    639649        res[1] = computeFrame(res[0], syzM_i_unsorted, syzHead);
    640         std::vector<bool> variables;
    641         variables.resize(currRing->N+1, true);
    642         if (do_lifting) {
    643             update_variables(variables, res[0]);
    644             if (use_tensor_trick) {
    645                 delete_variables(res, 0, variables);
    646             }
    647         }
    648650        index = computeResolution_iteration(res, max_index, syzHead,
    649651                do_lifting, single_module, use_tensor_trick, variables);
    650         variables.clear();
    651     }
     652    }
     653    variables.clear();
    652654    return index+1;
    653655}
Note: See TracChangeset for help on using the changeset viewer.