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

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

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

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

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

示例1: extBitToInt

static voidextBitToInt (xmlXPathParserContextPtr ctxt, int nargs){    xmlChar *res;    xmlXPathObjectPtr xop;    unsigned long long val;    int i;    if (nargs != 1) {	xmlXPathSetArityError(ctxt);	return;    }    xop = valuePop(ctxt);    if (xop == NULL || xmlXPathCheckError(ctxt))	return;    res = extBitStringVal(ctxt, xop);    if (res == NULL)	return;    for (i = 0, val = 0; i <= 64 && res[i]; i++) {	val <<= 1;	if (res[i] == '1')	    val += 1;    }    if (i > 64)	xmlXPathReturnNumber(ctxt, (double) -1);    else	xmlXPathReturnNumber(ctxt, (double) val);}
开发者ID:Juniper,项目名称:libslax,代码行数:31,


示例2: exsltMathMinFunction

/** * exsltMathMinFunction: * @ctxt:  an XPath parser context * @nargs:  the number of arguments * * Wraps #exsltMathMin for use by the XPath processor. */static voidexsltMathMinFunction (xmlXPathParserContextPtr ctxt, int nargs) {    xmlNodeSetPtr ns;    double ret;    void *user = NULL;    if (nargs != 1) {	xsltGenericError(xsltGenericErrorContext,			 "math:min: invalid number of arguments/n");	ctxt->error = XPATH_INVALID_ARITY;	return;    }    /* We need to delay the freeing of value->user */    if ((ctxt->value != NULL) && (ctxt->value->boolval != 0)) {        user = ctxt->value->user;	ctxt->value->boolval = 0;	ctxt->value->user = NULL;    }    ns = xmlXPathPopNodeSet(ctxt);    if (xmlXPathCheckError(ctxt))	return;    ret = exsltMathMin(ns);    xmlXPathFreeNodeSet(ns);    if (user != NULL)        xmlFreeNodeList((xmlNodePtr)user);    xmlXPathReturnNumber(ctxt, ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:37,


示例3: XSLPattern_index

static void XSLPattern_index(xmlXPathParserContextPtr pctx, int nargs){    XSLPATTERN_CHECK_ARGS(0);    xmlXPathPositionFunction(pctx, 0);    xmlXPathReturnNumber(pctx, xmlXPathPopNumber(pctx) - 1.0);}
开发者ID:Sunmonds,项目名称:wine,代码行数:7,


示例4: exsltMathMaxFunction

/** * exsltMathMaxFunction: * @ctxt:  an XPath parser context * @nargs:  the number of arguments * * Wraps #exsltMathMax for use by the XPath processor. */static voidexsltMathMaxFunction (xmlXPathParserContextPtr ctxt, int nargs) {    xmlNodeSetPtr ns;    double ret;    void *user = NULL;    if (nargs != 1) {	xmlXPathSetArityError(ctxt);	return;    }    /* We need to delay the freeing of value->user */    if ((ctxt->value != NULL) && (ctxt->value->boolval != 0)) {	user = ctxt->value->user;	ctxt->value->boolval = 0;	ctxt->value->user = 0;    }    ns = xmlXPathPopNodeSet(ctxt);    if (xmlXPathCheckError(ctxt))	return;    ret = exsltMathMax(ns);    xmlXPathFreeNodeSet(ns);    if (user != NULL)        xmlFreeNodeList((xmlNodePtr)user);    xmlXPathReturnNumber(ctxt, ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:36,


示例5: extBitCompare

static voidextBitCompare (xmlXPathParserContextPtr ctxt, int nargs){    xmlChar *res1, *res2;    xmlXPathObjectPtr xop;    int width1, width2, off1, off2, rc, delta;    if (nargs != 2) {	xmlXPathSetArityError(ctxt);	return;    }    /* Pop args in reverse order */    xop = valuePop(ctxt);    if (xop == NULL || xmlXPathCheckError(ctxt))	return;    res2 = extBitStringVal(ctxt, xop);    if (res2 == NULL)	return;    xop = valuePop(ctxt);    if (xop == NULL || xmlXPathCheckError(ctxt))	return;    res1 = extBitStringVal(ctxt, xop);    if (res1 == NULL)	return;    width1 = xmlStrlen(res1);    width2 = xmlStrlen(res2);    delta = width1 - width2;    rc = 0;    off1 = off2 = 0;    if (delta < 0) {	for ( ; delta < 0; delta++, off2++) {	    if (res2[off2] != '0') {		rc = -1;		goto done;	    }	}    } else if (delta > 0) {	for ( ; delta > 0; delta--, off1++) {	    if (res1[off1] != '0') {		rc = 1;		goto done;	    }	}    }    rc = xmlStrcmp(res1 + off1, res2 + off2); done:    xmlFree(res1);    xmlFree(res2);    xmlXPathReturnNumber(ctxt, rc);}
开发者ID:Juniper,项目名称:libslax,代码行数:58,


示例6: exsltMathRandomFunction

/** * exsltMathRandomFunction: * @ctxt:  an XPath parser context * @nargs:  the number of arguments * * Wraps #exsltMathRandom for use by the XPath processor. */static voidexsltMathRandomFunction (xmlXPathParserContextPtr ctxt, int nargs) {    double ret;    if (nargs != 0) {	xmlXPathSetArityError(ctxt);	return;    }    ret = exsltMathRandom();    xmlXPathReturnNumber(ctxt, ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:20,


示例7: exsltMathAtanFunction

/** * exsltMathAtanFunction: * @ctxt:  an XPath parser context * @nargs:  the number of arguments * * Wraps #exsltMathAtan for use by the XPath processor. */static voidexsltMathAtanFunction (xmlXPathParserContextPtr ctxt, int nargs) {    double ret;    if (nargs != 1) {	xmlXPathSetArityError(ctxt);	return;    }    ret = xmlXPathPopNumber(ctxt);    if (xmlXPathCheckError(ctxt))	return;    ret = exsltMathAtan(ret);    xmlXPathReturnNumber(ctxt, ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:23,


示例8: extBitToHex

static voidextBitToHex (xmlXPathParserContextPtr ctxt, int nargs){    xmlChar *res;    xmlXPathObjectPtr xop;    unsigned long long val;    int i, len1, len2;    if (nargs != 1) {	xmlXPathSetArityError(ctxt);	return;    }    /* Pop args in reverse order */    xop = valuePop(ctxt);    if (xop == NULL || xmlXPathCheckError(ctxt))	return;    res = extBitStringVal(ctxt, xop);    if (res == NULL)	return;    for (i = 0, val = 0; i <= 64 && res[i]; i++) {	val <<= 1;	if (res[i] == '1')	    val += 1;    }    if (i > 64)	xmlXPathReturnNumber(ctxt, (double) -1);    else {	len1 = xmlStrlen(res);	len2 = snprintf((char *) res, len1 + 1, "0x%qx", val);	if (len2 > len1) {	    res = xmlRealloc(res, len2 + 1);	    if (res)		snprintf((char *) res, len2 + 1, "0x%qx", val);	}	xmlXPathReturnString(ctxt, res);    }}
开发者ID:Juniper,项目名称:libslax,代码行数:41,


示例9: exsltMathPowerFunction

/** * exsltMathPower: * @ctxt:  an XPath parser context * @nargs:  the number of arguments * * Wraps #exsltMathPower for use by the XPath processor. */static voidexsltMathPowerFunction (xmlXPathParserContextPtr ctxt, int nargs) {    double ret, base;    if (nargs != 2) {	xmlXPathSetArityError(ctxt);	return;    }    ret = xmlXPathPopNumber(ctxt);    if (xmlXPathCheckError(ctxt))	return;    /* power */    base = xmlXPathPopNumber(ctxt);    if (xmlXPathCheckError(ctxt))	return;    ret = exsltMathPower(base, ret);    xmlXPathReturnNumber(ctxt, ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:28,


示例10: exsltMathConstantFunction

/** * exsltMathConstantFunction: * @ctxt:  an XPath parser context * @nargs:  the number of arguments * * Wraps #exsltMathConstant for use by the XPath processor. */static voidexsltMathConstantFunction (xmlXPathParserContextPtr ctxt, int nargs) {    double   ret;    xmlChar *name;    if (nargs != 2) {	xmlXPathSetArityError(ctxt);	return;    }    ret = xmlXPathPopNumber(ctxt);    if (xmlXPathCheckError(ctxt))	return;    name = xmlXPathPopString(ctxt);    if (xmlXPathCheckError(ctxt))	return;    ret = exsltMathConstant(name, ret);    xmlXPathReturnNumber(ctxt, ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:28,


示例11: XSLPattern_nodeType

static void XSLPattern_nodeType(xmlXPathParserContextPtr pctx, int nargs){    XSLPATTERN_CHECK_ARGS(0);    xmlXPathReturnNumber(pctx, pctx->context->node->type);}
开发者ID:Sunmonds,项目名称:wine,代码行数:5,


示例12: ruby_funcall

static void ruby_funcall(xmlXPathParserContextPtr ctx, int nargs){  VALUE xpath_handler = Qnil;  VALUE result;  VALUE *argv;  VALUE doc;  VALUE node_set = Qnil;  xmlNodeSetPtr xml_node_set = NULL;  xmlXPathObjectPtr obj;  int i;  nokogiriNodeSetTuple *node_set_tuple;  assert(ctx);  assert(ctx->context);  assert(ctx->context->userData);  assert(ctx->context->doc);  assert(DOC_RUBY_OBJECT_TEST(ctx->context->doc));  xpath_handler = (VALUE)(ctx->context->userData);  argv = (VALUE *)calloc((size_t)nargs, sizeof(VALUE));  for (i = 0 ; i < nargs ; ++i) {    rb_gc_register_address(&argv[i]);  }  doc = DOC_RUBY_OBJECT(ctx->context->doc);  if (nargs > 0) {    i = nargs - 1;    do {      obj = valuePop(ctx);      switch(obj->type) {        case XPATH_STRING:          argv[i] = NOKOGIRI_STR_NEW2(obj->stringval);          break;        case XPATH_BOOLEAN:          argv[i] = obj->boolval == 1 ? Qtrue : Qfalse;          break;        case XPATH_NUMBER:          argv[i] = rb_float_new(obj->floatval);          break;        case XPATH_NODESET:          argv[i] = Nokogiri_wrap_xml_node_set(obj->nodesetval, doc);          break;        default:          argv[i] = NOKOGIRI_STR_NEW2(xmlXPathCastToString(obj));      }      xmlXPathFreeNodeSetList(obj);    } while(i-- > 0);  }  result = rb_funcall2(      xpath_handler,      rb_intern((const char *)ctx->context->function),      nargs,      argv  );  for (i = 0 ; i < nargs ; ++i) {    rb_gc_unregister_address(&argv[i]);  }  free(argv);  switch(TYPE(result)) {    case T_FLOAT:    case T_BIGNUM:    case T_FIXNUM:      xmlXPathReturnNumber(ctx, NUM2DBL(result));      break;    case T_STRING:      xmlXPathReturnString(          ctx,          (xmlChar *)xmlXPathWrapCString(StringValuePtr(result))      );      break;    case T_TRUE:      xmlXPathReturnTrue(ctx);      break;    case T_FALSE:      xmlXPathReturnFalse(ctx);      break;    case T_NIL:      break;    case T_ARRAY:      {        VALUE args[2];	args[0] = doc;	args[1] = result;        node_set = rb_class_new_instance(2, args, cNokogiriXmlNodeSet);        Data_Get_Struct(node_set, nokogiriNodeSetTuple, node_set_tuple);	xml_node_set = node_set_tuple->node_set;        xmlXPathReturnNodeSet(ctx, xmlXPathNodeSetMerge(NULL, xml_node_set));      }      break;    case T_DATA:      if(rb_obj_is_kind_of(result, cNokogiriXmlNodeSet)) {        Data_Get_Struct(result, nokogiriNodeSetTuple, node_set_tuple);	xml_node_set = node_set_tuple->node_set;        /* Copy the node set, otherwise it will get GC'd. */        xmlXPathReturnNodeSet(ctx, xmlXPathNodeSetMerge(NULL, xml_node_set));//.........这里部分代码省略.........
开发者ID:railsfactory-biswajitsahoo,项目名称:nokogiri,代码行数:101,


示例13: method_caller

static void method_caller(xmlXPathParserContextPtr ctxt, int nargs){    const xmlChar * function;    const xmlChar * functionURI;    size_t i, count;    xsltTransformContextPtr transform;    xmlXPathObjectPtr xpath;    VALUE obj;    VALUE *args;    VALUE result;    transform = xsltXPathGetTransformContext(ctxt);    function = ctxt->context->function;    functionURI = ctxt->context->functionURI;    obj = (VALUE)xsltGetExtData(transform, functionURI);    count = (size_t)ctxt->valueNr;    args = calloc(count, sizeof(VALUE *));    for(i = 0; i < count; i++) {	VALUE thing;	xpath = valuePop(ctxt);	switch(xpath->type) {	    case XPATH_STRING:		thing = NOKOGIRI_STR_NEW2(xpath->stringval);		break;	    case XPATH_NODESET:		if(NULL == xpath->nodesetval) {		    thing = Nokogiri_wrap_xml_node_set(			    xmlXPathNodeSetCreate(NULL),			    DOC_RUBY_OBJECT(ctxt->context->doc));		} else {		    thing = Nokogiri_wrap_xml_node_set(xpath->nodesetval,			    DOC_RUBY_OBJECT(ctxt->context->doc));		}		break;	    default:		rb_raise(rb_eRuntimeError, "do not handle type: %d", xpath->type);	}	args[i] = thing;	xmlFree(xpath);    }    result = rb_funcall3(obj, rb_intern((const char *)function), (int)count, args);    free(args);    switch(TYPE(result)) {	case T_FLOAT:	case T_BIGNUM:	case T_FIXNUM:	    xmlXPathReturnNumber(ctxt, NUM2DBL(result));	    break;	case T_STRING:	    xmlXPathReturnString(		    ctxt,		    xmlStrdup((xmlChar *)StringValuePtr(result))		    );	    break;	case T_TRUE:	    xmlXPathReturnTrue(ctxt);	    break;	case T_FALSE:	    xmlXPathReturnFalse(ctxt);	    break;	case T_NIL:	    break;	default:	    rb_raise(rb_eRuntimeError, "Invalid return type");    }}
开发者ID:127lh,项目名称:metasploit-framework,代码行数:71,



注:本文中的xmlXPathReturnNumber函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ xmlXPathSetArityError函数代码示例
C++ xmlXPathRegisterNs函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。