您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ subst函数代码示例

51自学网 2021-06-03 08:33:16
  C++
这篇教程C++ subst函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中subst函数的典型用法代码示例。如果您正苦于以下问题:C++ subst函数的具体用法?C++ subst怎么用?C++ subst使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了subst函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: subst

Expr const*Substitution::subst(Abs const* e) const{    Var const* v = cast<Var>(subst(e->var()));    Expr const* d = subst(e->expr());    return new Abs(e->type(), v, d);}
开发者ID:Jenny-fa,项目名称:lingo,代码行数:7,


示例2: result

expr_ref sym_expr::accept(expr* e) {    ast_manager& m = m_t.get_manager();    expr_ref result(m);    switch (m_ty) {    case t_pred: {        var_subst subst(m);        subst(m_t, 1, &e, result);        break;    }    case t_char:        SASSERT(m.get_sort(e) == m.get_sort(m_t));        result = m.mk_eq(e, m_t);        break;    case t_range: {        bv_util bv(m);        rational r1, r2, r3;        unsigned sz;        if (bv.is_numeral(m_t, r1, sz) && bv.is_numeral(e, r2, sz) && bv.is_numeral(m_s, r3, sz)) {            result = m.mk_bool_val((r1 <= r2) && (r2 <= r3));                    }        else {            result = m.mk_and(bv.mk_ule(m_t, e), bv.mk_ule(e, m_s));        }        break;    }    }    return result;}
开发者ID:vietlq,项目名称:z3,代码行数:28,


示例3: hd

Lateq* DocCompiler::compileLateq(Tree L, Lateq* compiledEqn){  // cerr << "Documentator : compileLateq : L = "; printSignal(L, stdout, 0); cerr << endl;  fLateq = compiledEqn; ///< Dynamic field !  int priority = 0;  for(int i = 0; isList(L); L = tl(L), i++)  {    Tree sig = hd(L);    Tree id;    if(getSigNickname(sig, id))    {      // cerr << "Documentator : compileLateq : NICKNAMEPROPERTY = " << tree2str(id) << endl;      fLateq->addOutputSigFormula(subst("$0(t) = $1", tree2str(id), CS(sig, priority), docT(i)));    }    else    {      // cerr << "Documentator : compileLateq : NO NICKNAMEPROPERTY" << endl;      if(fLateq->outputs() == 1)      {        fLateq->addOutputSigFormula(subst("y(t) = $0", CS(sig, priority)));        gDocNoticeFlagMap["outputsig"] = true;      }      else      {        fLateq->addOutputSigFormula(subst("$0(t) = $1", getFreshID("y"), CS(sig, priority)));        gDocNoticeFlagMap["outputsigs"] = true;      }    }  }  return fLateq;}
开发者ID:Ace17,项目名称:faust,代码行数:35,


示例4: CS

/** * Generate the equation of a write table, which content is time dependent. * It is basically a signal of vectors. */string DocCompiler::generateDocWriteTbl(Tree /*tbl*/, Tree size, Tree isig, Tree widx, Tree wsig){  string vname, ctype;  string init = CS(isig, 0);  int n;  if(!isSigInt(size, &n))  {    cerr << "error in DocCompiler::generateDocWriteTbl() : "         << *size         << " is not an integer expression and can't be used as a table size' "         << endl;  }  // allocate a name w_i for the table  getTypedNames(getCertifiedSigType(isig), "w", ctype, vname);  // add a comment on tables in the notice  gDocNoticeFlagMap["tablesigs"] = true;  // describe the table equation  string ltqRWTableDef;  ltqRWTableDef += subst("$0(t)[i] = /n", vname);  ltqRWTableDef += "//left//{//begin{array}{ll}/n";  ltqRWTableDef += subst("$0 & //mbox{if //,} t < 0 //mbox{//, and //,}  i //in [0,$1] /////n", replaceTimeBy(init, 'i'), T(n - 1));  ltqRWTableDef += subst("$0 & //mbox{if //,} i = $1 /////n", CS(wsig, 0), CS(widx, 0));  ltqRWTableDef += subst("$0(t//!-//!1)[i] & //mbox{otherwise} /////n", vname);  ltqRWTableDef += "//end{array}//right.";  // add the table equation  fLateq->addRWTblSigFormula(ltqRWTableDef); // w(t) = initsig(t)  // note that the name of the table can never be used outside an sigDocTableAccess  return vname;}
开发者ID:Ace17,项目名称:faust,代码行数:39,


示例5: pxl_impl_process

/* Parse a cursor-full of data */static int	/* ret 0 or +ve if ok, else -ve error code */pxl_impl_process(	pl_interp_instance_t *instance,        /* interp instance to process data job in */	stream_cursor_read   *cursor           /* data to process */){	pxl_interp_instance_t *pxli = (pxl_interp_instance_t *)instance;	int code;	/* Process some input */	switch (pxli->processState)	  {	case PSDone:	  return e_ExitLanguage;	case PSHeader:		/* Input stream header */	  code = px_stream_header_process(&pxli->headerState, cursor);	  if (code == 0)	    break;    /* need more input later */	  else	  	 /* stream header termination */	    if (code < 0)	      {	      pxli->processState = PSDone;	      return code;   /* return error */	      }	    else	      {	      code = 0;	      pxli->processState = PSXL;	      }	    /* fall thru to PSXL */	case PSXL:		/* PCL XL */	  code = px_process(pxli->st, pxli->pxs, cursor);	  if ( code == e_ExitLanguage )	    { pxli->processState = PSDone;	      code = 0;	    }	  else if ( code == errorWarningsReported )	    { /* The parser doesn't skip over the EndSession */	      /* operator, because an "error" occurred. */	      cursor->ptr++;	    }	  else if (code < 0)	    /* Map library error codes to PCL XL codes when possible. */       switch ( code )	      {#define subst(gs_error, px_error)/  case gs_error: code = px_error; break	      subst(gs_error_invalidfont, errorIllegalFontData);	      subst(gs_error_limitcheck, errorInternalOverflow);	      subst(gs_error_nocurrentpoint, errorCurrentCursorUndefined);	      subst(gs_error_rangecheck, errorIllegalAttributeValue);	      subst(gs_error_VMerror, errorInsufficientMemory);#undef subst 	      }	  break;   /* may need more input later */	  }	return code;}
开发者ID:ststeiger,项目名称:ghostsvg,代码行数:61,


示例6: prepare

void VectorCompiler::compileMultiSignal (Tree L){    //contextor recursivness(0);    L = prepare(L);     // optimize, share and annotate expression    for (int i = 0; i < fClass->inputs(); i++) {        fClass->addZone3(subst("$1* input$0 = &input[$0][index];", T(i), xfloat()));    }    for (int i = 0; i < fClass->outputs(); i++) {        fClass->addZone3(subst("$1* output$0 = &output[$0][index];", T(i), xfloat()));    }    fClass->addSharedDecl("fullcount");    fClass->addSharedDecl("input");    fClass->addSharedDecl("output");    for (int i = 0; isList(L); L = tl(L), i++) {        Tree sig = hd(L);        fClass->openLoop("count");        fClass->addExecCode(subst("output$0[i] = $2$1;", T(i), CS(sig), xcast()));        fClass->closeLoop(sig);    }    generateUserInterfaceTree(prepareUserInterfaceTree(fUIRoot)); 	generateMacroInterfaceTree("", prepareUserInterfaceTree(fUIRoot));    if (fDescription) {        fDescription->ui(prepareUserInterfaceTree(fUIRoot));    }}
开发者ID:gauravchawla03,项目名称:Stanford,代码行数:29,


示例7: tree2int

void Description::addGroup(int level, Tree t){  Tree label, elements, varname, sig;  const char* groupnames[] =  {    "vgroup", "hgroup", "tgroup"  };  if(isUiFolder(t, label, elements))  {    const int orient = tree2int(left(label));    addLayoutLine(level, subst("<group type=/"$0/">", groupnames[orient]));    addLayoutLine(level + 1, subst("<label>$0</label>", checkNullLabel(t, xmlize(tree2str(right(label))), false)));    while(!isNil(elements))    {      addGroup(level + 1, right(hd(elements)));      elements = tl(elements);    }    addLayoutLine(level, "</group>");  }  else if(isUiWidget(t, label, varname, sig))  {    int w = addWidget(label, varname, sig);    addLayoutLine(level, subst("<widgetref id=/"$0/" />", T(w)));  }  else  {    fprintf(stderr, "error in user interface generation 2/n");    exit(1);  }}
开发者ID:Ace17,项目名称:faust,代码行数:34,


示例8: read_cpp_token

/* * Reads a token from a given preprocessing context, expands it if macro, and * returns it. */static Token *expand_one(CppContext *ctx) {    Token *tok = read_cpp_token(ctx);    if (!tok) return NULL;    if (tok->toktype != TOKTYPE_IDENT)        return tok;    String *name = tok->val.str;    Macro *macro = dict_get(ctx->defs, name);    if (!macro)        return tok;    if (list_in(tok->hideset, name))        return tok;    switch (macro->type) {    case MACRO_OBJ: {        List *ts = subst(ctx, macro, make_list(), list_union1(tok->hideset, name));        pushback(ctx, ts);        return expand_one(ctx);    }    case MACRO_FUNC: {        List *args = read_args(ctx, macro);        Token *rparen = read_cpp_token(ctx);        List *hideset = list_union1(list_intersect(tok->hideset, rparen->hideset), name);        List *ts = subst(ctx, macro, args, hideset);        pushback(ctx, ts);        return expand_one(ctx);    }    case MACRO_SPECIAL:        macro->fn(ctx, tok);        return expand_one(ctx);    }    panic("should not reach here");}
开发者ID:rui314,项目名称:8cc-old,代码行数:36,


示例9: getFreshID

/** * Generate LaTeX code for "prefix", a 1
C++ substitute函数代码示例
C++ subscribe函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。