// Generated by astgen // -*- mode: C++; c-file-style: "cc-mode" -*-
    enum en : uint16_t {
        AstRd = 0,
        Add = 1,
        And = 2,
        ArraySel = 3,
        Concat = 4,
        Div = 5,
        DivS = 6,
        Eq = 7,
        EqCase = 8,
        EqWild = 9,
        Gt = 10,
        GtS = 11,
        Gte = 12,
        GteS = 13,
        LogAnd = 14,
        LogEq = 15,
        LogIf = 16,
        LogOr = 17,
        Lt = 18,
        LtS = 19,
        Lte = 20,
        LteS = 21,
        MatchMasked = 22,
        ModDiv = 23,
        ModDivS = 24,
        Mul = 25,
        MulS = 26,
        Mux = 27,
        Neq = 28,
        NeqCase = 29,
        NeqWild = 30,
        Or = 31,
        Pow = 32,
        PowSS = 33,
        PowSU = 34,
        PowUS = 35,
        ShiftL = 36,
        ShiftR = 37,
        ShiftRS = 38,
        StreamL = 39,
        StreamR = 40,
        Sub = 41,
        Xor = 42,
        CReset = 43,
        Const = 44,
        Cond = 45,
        CountOnes = 46,
        Extend = 47,
        ExtendS = 48,
        LogNot = 49,
        Negate = 50,
        Not = 51,
        OneHot = 52,
        OneHot0 = 53,
        RedAnd = 54,
        RedOr = 55,
        RedXor = 56,
        Rep = 57,
        Sel = 58,
        UnitArray = 59,
        VarArray = 60,
        VarPacked = 61,
        Logic = 62,
        Unresolved = 63,
        SpliceArray = 64,
        SplicePacked = 65,
    };
    static constexpr size_t NUM_TYPES() { return 66; }
    enum bounds : uint16_t {
        firstVertex = 0,
        lastVertex  = 65,
        firstVertexAst = 0,
        lastVertexAst  = 0,
        firstVertexBinary = 1,
        lastVertexBinary  = 42,
        firstVertexNullary = 43,
        lastVertexNullary  = 44,
        firstVertexTernary = 45,
        lastVertexTernary  = 45,
        firstVertexUnary = 46,
        lastVertexUnary  = 59,
        firstVertexVar = 60,
        lastVertexVar  = 61,
        firstVertexVariadic = 62,
        lastVertexVariadic  = 65,
        firstVertexSplice = 64,
        lastVertexSplice  = 65,
    };
    const char* ascii() const VL_MT_SAFE {
        static const char* const names[] = {
            "ASTRD",
            "ADD",
            "AND",
            "ARRAYSEL",
            "CONCAT",
            "DIV",
            "DIVS",
            "EQ",
            "EQCASE",
            "EQWILD",
            "GT",
            "GTS",
            "GTE",
            "GTES",
            "LOGAND",
            "LOGEQ",
            "LOGIF",
            "LOGOR",
            "LT",
            "LTS",
            "LTE",
            "LTES",
            "MATCHMASKED",
            "MODDIV",
            "MODDIVS",
            "MUL",
            "MULS",
            "MUX",
            "NEQ",
            "NEQCASE",
            "NEQWILD",
            "OR",
            "POW",
            "POWSS",
            "POWSU",
            "POWUS",
            "SHIFTL",
            "SHIFTR",
            "SHIFTRS",
            "STREAML",
            "STREAMR",
            "SUB",
            "XOR",
            "CRESET",
            "CONST",
            "COND",
            "COUNTONES",
            "EXTEND",
            "EXTENDS",
            "LOGNOT",
            "NEGATE",
            "NOT",
            "ONEHOT",
            "ONEHOT0",
            "REDAND",
            "REDOR",
            "REDXOR",
            "REP",
            "SEL",
            "UNITARRAY",
            "VARARRAY",
            "VARPACKED",
            "LOGIC",
            "UNRESOLVED",
            "SPLICEARRAY",
            "SPLICEPACKED",
        };
        return names[m_e];
    }
