Ignore:
Timestamp:
Mar 16, 2017, 4:57:11 PM (2 years ago)
Author:
nmedfort
Message:

Continued work on non-carry-collapsing mode support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/carry_data.h

    r5361 r5366  
    77#ifndef CARRY_DATA_H
    88#define CARRY_DATA_H
    9 
    10 /*
    11  * Carry Data system.
    12  *
    13  * Each PabloBlock (Main, If, While) has a contiguous data area for carry information.
    14  * The data area may be at a fixed or variable base offset from the base of the
    15  * main function carry data area.
    16  * The data area for each block consists of contiguous space for the local carries and
    17  * advances of the block plus the areas of any ifs/whiles nested within the block.
    18 
    19 */
    209
    2110namespace pablo {
     
    3019        , BorrowedSummary
    3120        , ExplicitSummary
    32         , CountingSummary
    3321    };
    3422
    3523    CarryData()
    36     : mSummaryType(NoSummary) {
     24    : mSummaryType(NoSummary)
     25    , mInNonCollapsingCarryMode(false) {
    3726
    3827    }
     
    5443    }
    5544
    56     bool hasCountingSummary() const {
    57         return (mSummaryType == CountingSummary);
     45    bool nonCarryCollapsingMode() const {
     46        return mInNonCollapsingCarryMode;
    5847    }
    5948
     
    6150        mSummaryType = value;
    6251    }
     52
     53    void setNonCollapsingCarryMode(const bool value = true) {
     54        mInNonCollapsingCarryMode = value;
     55    }
    6356   
    6457private:
    6558
    66     SummaryType             mSummaryType;
     59    SummaryType     mSummaryType;
     60    bool            mInNonCollapsingCarryMode;
    6761
    6862};
Note: See TracChangeset for help on using the changeset viewer.