Ignore:
Timestamp:
Jun 21, 2017, 1:23:59 PM (2 years ago)
Author:
cameron
Message:

Fixes for processing rates; multiblock kernel builder

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/interface.h

    r5454 r5522  
    1212
    1313namespace IDISA { class IDISA_Builder; }
     14namespace kernel { class Kernel; }
    1415namespace kernel { class KernelBuilder; }
    1516
     
    3334
    3435struct ProcessingRate  {
     36    friend class kernel::Kernel;
    3537    enum class ProcessingRateKind : uint8_t { FixedRatio, RoundUp, Add1, MaxRatio, Unknown };
    3638    ProcessingRateKind getKind() const {return mKind;}
     
    5456    ProcessingRate(ProcessingRateKind k, unsigned numerator, unsigned denominator, std::string && referenceStreamSet)
    5557    : mKind(k), mRatioNumerator(numerator), mRatioDenominator(denominator), mReferenceStreamSet(referenceStreamSet) {}
     58    void setReferenceStreamSet(const std::string & s) {mReferenceStreamSet = s;}
    5659private:
    5760    const ProcessingRateKind mKind;
    5861    const uint16_t mRatioNumerator;
    5962    const uint16_t mRatioDenominator;
    60     const std::string mReferenceStreamSet;
     63    std::string mReferenceStreamSet;
    6164};
    6265
     
    7275    llvm::Type * const        type;
    7376    const std::string         name;
    74     const ProcessingRate      rate;
     77    ProcessingRate      rate;
    7578};
    7679
Note: See TracChangeset for help on using the changeset viewer.