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

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

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

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

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

示例1: exsltMathLowest

static xmlNodeSetPtrexsltMathLowest (xmlNodeSetPtr ns) {    xmlNodeSetPtr ret = xmlXPathNodeSetCreate(NULL);    double min, cur;    int i;    if ((ns == NULL) || (ns->nodeNr == 0))	return(ret);    min = xmlXPathCastNodeToNumber(ns->nodeTab[0]);    if (xmlXPathIsNaN(min))	return(ret);    else	xmlXPathNodeSetAddUnique(ret, ns->nodeTab[0]);    for (i = 1; i < ns->nodeNr; i++) {	cur = xmlXPathCastNodeToNumber(ns->nodeTab[i]);	if (xmlXPathIsNaN(cur)) {	    xmlXPathEmptyNodeSet(ret);	    return(ret);	}        if (cur > min)	    continue;	if (cur < min) {	    min = cur;	    xmlXPathEmptyNodeSet(ret);	    xmlXPathNodeSetAddUnique(ret, ns->nodeTab[i]);            continue;	}	xmlXPathNodeSetAddUnique(ret, ns->nodeTab[i]);    }    return(ret);}
开发者ID:qtekfun,项目名称:htcDesire820Kernel,代码行数:33,


示例2: exsltMathPower

/** * exsltMathPower: * @base:  a double * @power:  a double * * Implements the EXSLT - Math power() function: *    number math:power (number, number) * * Returns the power base and power arguments, or xmlXPathNAN * if either @base or @power is Nan. */static doubleexsltMathPower (double base, double power) {    double ret;    if ((xmlXPathIsNaN(base) || xmlXPathIsNaN(power)))	return(xmlXPathNAN);    ret = pow(base, power);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:20,


示例3: exsltMathAtan2

/** * exsltMathAtan2: * @y:  a double * @x:  a double * * Implements the EXSLT - Math atan2() function: *    number math:atan2 (number, number) * * Returns the arc tangent function of the y/x arguments, or xmlXPathNAN * if either @y or @x is Nan. */static doubleexsltMathAtan2 (double y, double x) {    double ret;    if ((xmlXPathIsNaN(y) || xmlXPathIsNaN(x)))	return(xmlXPathNAN);    ret = atan2(y, x);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:20,


示例4: xpath_number

Datumxpath_number(PG_FUNCTION_ARGS){	text	   *document = PG_GETARG_TEXT_P(0);	text	   *xpathsupp = PG_GETARG_TEXT_P(1);		/* XPath expression */	xmlChar    *xpath;	float4		fRes;	xmlXPathObjectPtr res;	xpath_workspace workspace;	xpath = pgxml_texttoxmlchar(xpathsupp);	res = pgxml_xpath(document, xpath, &workspace);	pfree(xpath);	if (res == NULL)		PG_RETURN_NULL();	fRes = xmlXPathCastToNumber(res);	cleanup_workspace(&workspace);	if (xmlXPathIsNaN(fRes))		PG_RETURN_NULL();	PG_RETURN_FLOAT4(fRes);}
开发者ID:42penguins,项目名称:postgres,代码行数:28,


示例5: xpath_number

Datumxpath_number(PG_FUNCTION_ARGS){	xmlChar    *xpath;	int32		pathsize;	text	   *xpathsupp;	float4		fRes;	xmlXPathObjectPtr res;	/* PG_GETARG_TEXT_P(0) is document buffer */	xpathsupp = PG_GETARG_TEXT_P(1);	/* XPath expression */	pathsize = VARSIZE(xpathsupp) - VARHDRSZ;	xpath = pgxml_texttoxmlchar(xpathsupp);	res = pgxml_xpath(PG_GETARG_TEXT_P(0), xpath);	pfree(xpath);	if (res == NULL)		PG_RETURN_NULL();	fRes = xmlXPathCastToNumber(res);	if (xmlXPathIsNaN(fRes))		PG_RETURN_NULL();	PG_RETURN_FLOAT4(fRes);}
开发者ID:adunstan,项目名称:pg-cvs-mirror,代码行数:30,


示例6: convertXPathObjectToR

SEXPconvertXPathObjectToR(xmlXPathObjectPtr obj, SEXP fun, int encoding, SEXP manageMemory){  SEXP ans = NULL_USER_OBJECT;  switch(obj->type) {    case XPATH_NODESET:        ans = convertNodeSetToR(obj->nodesetval, fun, encoding, manageMemory);	break;    case XPATH_BOOLEAN:	ans = ScalarLogical(obj->boolval);	break;    case XPATH_NUMBER:	ans = ScalarReal(obj->floatval);	if(xmlXPathIsInf(obj->floatval))	    REAL(ans)[0] = xmlXPathIsInf(obj->floatval) < 0 ? R_NegInf : R_PosInf;        else if(xmlXPathIsNaN(obj->floatval))	    REAL(ans)[0] = NA_REAL;	break;    case XPATH_STRING:        ans = mkString(XMLCHAR_TO_CHAR(obj->stringval)); //XXX encoding 	break;    case XPATH_POINT:    case XPATH_RANGE:    case XPATH_LOCATIONSET:    case XPATH_USERS:	PROBLEM "currently unsupported xmlXPathObject type %d in convertXPathObjectToR. Please send mail to maintainer.", obj->type        WARN    default:	ans = R_NilValue;  }  return(ans);}
开发者ID:jetaber,项目名称:XML,代码行数:35,


示例7: exsltMathLog

/** * exsltMathLog: * @num:  a double * * Implements the EXSLT - Math log() function: *    number math:log (number) * * Returns the natural log of the argument, or xmlXPathNAN if @num is Nan. */static doubleexsltMathLog (double num) {    double ret;    if (xmlXPathIsNaN(num))	return(xmlXPathNAN);    ret = log(num);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:18,


示例8: exsltMathCos

/** * exsltMathCos: * @num:  a double * * Implements the EXSLT - Math cos() function: *    number math:cos (number) * * Returns the cosine of the argument, or xmlXPathNAN if @num is Nan. */static doubleexsltMathCos (double num) {    double ret;    if (xmlXPathIsNaN(num))	return(xmlXPathNAN);    ret = cos(num);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:18,


示例9: exsltMathAtan

/** * exsltMathAtan: * @num:  a double * * Implements the EXSLT - Math atan() function: *    number math:atan (number) * * Returns the arc tangent of the argument, or xmlXPathNAN if @num is Nan. */static doubleexsltMathAtan (double num) {    double ret;    if (xmlXPathIsNaN(num))	return(xmlXPathNAN);    ret = atan(num);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:18,


示例10: exsltMathSqrt

/** * exsltMathSqrt: * @num:  a double * * Implements the EXSLT - Math sqrt() function: *    number math:sqrt (number) * * Returns the square root of the argument, or xmlXPathNAN if @num is Nan. */static doubleexsltMathSqrt (double num) {    double ret;    if (xmlXPathIsNaN(num))	return(xmlXPathNAN);    ret = sqrt(num);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:18,


示例11: exsltMathExp

/** * exsltMathExp: * @num:  a double * * Implements the EXSLT - Math exp() function: *    number math:exp (number) * * Returns the exponential function of the argument, or xmlXPathNAN if * @num is Nan. */static doubleexsltMathExp (double num) {    double ret;    if (xmlXPathIsNaN(num))	return(xmlXPathNAN);    ret = exp(num);    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:19,


示例12: exsltMathMin

/** * exsltMathMin: * @ns:  a node-set * * Implements the EXSLT - Math min() function: *    number math:min (node-set) * * Returns the minimum value of the nodes passed as the argument, or *         xmlXPathNAN if @ns is NULL or empty or if one of the nodes *         turns into NaN. */static doubleexsltMathMin (xmlNodeSetPtr ns) {    double ret, cur;    int i;    if ((ns == NULL) || (ns->nodeNr == 0))	return(xmlXPathNAN);    ret = xmlXPathCastNodeToNumber(ns->nodeTab[0]);    if (xmlXPathIsNaN(ret))	return(xmlXPathNAN);    for (i = 1; i < ns->nodeNr; i++) {	cur = xmlXPathCastNodeToNumber(ns->nodeTab[i]);	if (xmlXPathIsNaN(cur))	    return(xmlXPathNAN);	if (cur < ret)	    ret = cur;    }    return(ret);}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:30,


示例13: xmlSchematronRunTest

/** * xmlSchematronRunTest: * @ctxt:  the schema validation context * @test:  the current test * @instance:  the document instace tree  * @cur:  the current node in the instance * * Validate a rule against a tree instance at a given position * * Returns 1 in case of success, 0 if error and -1 in case of internal error */static intxmlSchematronRunTest(xmlSchematronValidCtxtPtr ctxt,     xmlSchematronTestPtr test, xmlDocPtr instance, xmlNodePtr cur, xmlSchematronPatternPtr pattern){    xmlXPathObjectPtr ret;    int failed;    failed = 0;    ctxt->xctxt->doc = instance;    ctxt->xctxt->node = cur;    ret = xmlXPathCompiledEval(test->comp, ctxt->xctxt);    if (ret == NULL) {	failed = 1;    } else {        switch (ret->type) {	    case XPATH_XSLT_TREE:	    case XPATH_NODESET:		if ((ret->nodesetval == NULL) ||		    (ret->nodesetval->nodeNr == 0))		    failed = 1;		break;	    case XPATH_BOOLEAN:		failed = !ret->boolval;		break;	    case XPATH_NUMBER:		if ((xmlXPathIsNaN(ret->floatval)) ||		    (ret->floatval == 0.0))		    failed = 1;		break;	    case XPATH_STRING:		if ((ret->stringval == NULL) ||		    (ret->stringval[0] == 0))		    failed = 1;		break;	    case XPATH_UNDEFINED:	    case XPATH_POINT:	    case XPATH_RANGE:	    case XPATH_LOCATIONSET:	    case XPATH_USERS:		failed = 1;		break;	}	xmlXPathFreeObject(ret);    }    if ((failed) && (test->type == XML_SCHEMATRON_ASSERT))        ctxt->nberrors++;    else if ((!failed) && (test->type == XML_SCHEMATRON_REPORT))        ctxt->nberrors++;    xmlSchematronReportSuccess(ctxt, test, cur, pattern, !failed);    return(!failed);}
开发者ID:AllenChanAncA,项目名称:WiEngine,代码行数:64,


示例14: xsltNumberFormatInsertNumbers

static voidxsltNumberFormatInsertNumbers(xsltNumberDataPtr data,			      double *numbers,			      int numbers_max,			      xsltFormatPtr tokens,			      xmlBufferPtr buffer){    int i = 0;    double number;    xsltFormatTokenPtr token;    /*     * Handle initial non-alphanumeric token     */    if (tokens->start != NULL)	 xmlBufferCat(buffer, tokens->start);    for (i = 0; i < numbers_max; i++) {	/* Insert number */	number = numbers[(numbers_max - 1) - i];        /* Round to nearest like XSLT 2.0 */        number = floor(number + 0.5);        /*         * XSLT 1.0 isn't clear on how to handle negative numbers, but XSLT         * 2.0 says:         *         *     It is a non-recoverable dynamic error if any undiscarded item         *     in the atomized sequence supplied as the value of the value         *     attribute of xsl:number cannot be converted to an integer, or         *     if the resulting integer is less than 0 (zero).         */        if (number < 0.0) {            xsltTransformError(NULL, NULL, NULL,                    "xsl-number : negative value/n");            /* Recover by treating negative values as zero. */            number = 0.0;        }	if (i < tokens->nTokens) {	  /*	   * The "n"th format token will be used to format the "n"th	   * number in the list	   */	  token = &(tokens->tokens[i]);	} else if (tokens->nTokens > 0) {	  /*	   * If there are more numbers than format tokens, then the	   * last format token will be used to format the remaining	   * numbers.	   */	  token = &(tokens->tokens[tokens->nTokens - 1]);	} else {	  /*	   * If there are no format tokens, then a format token of	   * 1 is used to format all numbers.	   */	  token = &default_token;	}	/* Print separator, except for the first number */	if (i > 0) {	    if (token->separator != NULL)		xmlBufferCat(buffer, token->separator);	    else		xmlBufferCCat(buffer, DEFAULT_SEPARATOR);	}	switch (xmlXPathIsInf(number)) {	case -1:	    xmlBufferCCat(buffer, "-Infinity");	    break;	case 1:	    xmlBufferCCat(buffer, "Infinity");	    break;	default:	    if (xmlXPathIsNaN(number)) {		xmlBufferCCat(buffer, "NaN");	    } else {		switch (token->token) {		case 'A':		    xsltNumberFormatAlpha(data, buffer, number, TRUE);		    break;		case 'a':		    xsltNumberFormatAlpha(data, buffer, number, FALSE);		    break;		case 'I':		    xsltNumberFormatRoman(data, buffer, number, TRUE);		    break;		case 'i':		    xsltNumberFormatRoman(data, buffer, number, FALSE);		    break;		default:		    if (IS_DIGIT_ZERO(token->token)) {			xsltNumberFormatDecimal(buffer,						number,						token->token,						token->width,						data->digitsPerGroup,						data->groupingCharacter,						data->groupingCharacterLen);//.........这里部分代码省略.........
开发者ID:amaneureka,项目名称:reactos,代码行数:101,


示例15: xsltNumberFormatInsertNumbers

static voidxsltNumberFormatInsertNumbers(xsltNumberDataPtr data,			      double *numbers,			      int numbers_max,			      xsltFormatPtr tokens,			      xmlBufferPtr buffer){    int i = 0;    double number;    xsltFormatTokenPtr token;    /*     * Handle initial non-alphanumeric token     */    if (tokens->start != NULL)	 xmlBufferCat(buffer, tokens->start);    for (i = 0; i < numbers_max; i++) {	/* Insert number */	number = numbers[(numbers_max - 1) - i];	if (i < tokens->nTokens) {	  /* The "n"th format token will be used to format the "n"th	   * number in the list */	  token = &(tokens->tokens[i]);	} else if (tokens->nTokens > 0) {	  /* If there are more numbers than format tokens, then the	   * last format token will be used to format the remaining	   * numbers. */	  token = &(tokens->tokens[tokens->nTokens - 1]);	} else {	  /* If there are no format tokens, then a format token of	   * 1 is used to format all numbers. */	  token = &default_token;	}	/* Print separator, except for the first number */	if (i > 0) {	    if (token->separator != NULL)		xmlBufferCat(buffer, token->separator);	    else		xmlBufferCCat(buffer, DEFAULT_SEPARATOR);	}	switch (xmlXPathIsInf(number)) {	case -1:	    xmlBufferCCat(buffer, "-Infinity");	    break;	case 1:	    xmlBufferCCat(buffer, "Infinity");	    break;	default:	    if (xmlXPathIsNaN(number)) {		xmlBufferCCat(buffer, "NaN");	    } else {		switch (token->token) {		case 'A':		    xsltNumberFormatAlpha(buffer,					  number,					  TRUE);		    break;		case 'a':		    xsltNumberFormatAlpha(buffer,					  number,					  FALSE);		    break;		case 'I':		    xsltNumberFormatRoman(buffer,					  number,					  TRUE);		    break;		case 'i':		    xsltNumberFormatRoman(buffer,					  number,					  FALSE);		    break;		default:		    if (IS_DIGIT_ZERO(token->token)) {			xsltNumberFormatDecimal(buffer,						number,						token->token,						token->width,						data->digitsPerGroup,						data->groupingCharacter);		    }		    break;		}	    }	}    }    /*     * Handle final non-alphanumeric token     */    if (tokens->end != NULL)//.........这里部分代码省略.........
开发者ID:gitpan,项目名称:AxKit-Needs,代码行数:101,


示例16: xsltFormatNumberConversion

/** * xsltFormatNumberConversion: * @self: the decimal format * @format: the format requested * @number: the value to format * @result: the place to ouput the result * * format-number() uses the JDK 1.1 DecimalFormat class: * * http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html * * Structure: * *   pattern    := subpattern{;subpattern} *   subpattern := {prefix}integer{.fraction}{suffix} *   prefix     := '//u0000'..'//uFFFD' - specialCharacters *   suffix     := '//u0000'..'//uFFFD' - specialCharacters *   integer    := '#'* '0'* '0' *   fraction   := '0'* '#'* * *   Notation: *    X*       0 or more instances of X *    (X | Y)  either X or Y. *    X..Y     any character from X up to Y, inclusive. *    S - T    characters in S, except those in T * * Special Characters: * *   Symbol Meaning *   0      a digit *   #      a digit, zero shows as absent *   .      placeholder for decimal separator *   ,      placeholder for grouping separator. *   ;      separates formats. *   -      default negative prefix. *   %      multiply by 100 and show as percentage *   ?      multiply by 1000 and show as per mille *   X      any other characters can be used in the prefix or suffix *   '      used to quote special characters in a prefix or suffix. */xmlXPathErrorxsltFormatNumberConversion(xsltDecimalFormatPtr self,			   xmlChar *format,			   double number,			   xmlChar **result){    xmlXPathError status = XPATH_EXPRESSION_OK;    xmlBufferPtr buffer;    xmlChar *the_format, *prefix = NULL, *suffix = NULL;    xmlChar *nprefix, *nsuffix = NULL;    xmlChar pchar;    int	    prefix_length, suffix_length = 0, nprefix_length, nsuffix_length;    double  scale;    int	    j;    xsltFormatNumberInfo format_info;    /* delayed_multiplier allows a 'trailing' percent or permille to be treated as suffix */    int		delayed_multiplier = 0;    /* flag to show no -ve format present for -ve number */    char	default_sign = 0;    /* flag to show error found, should use default format */    char	found_error = 0;    *result = NULL;    switch (xmlXPathIsInf(number)) {	case -1:	    if (self->minusSign == NULL)		*result = xmlStrdup(BAD_CAST "-");	    else		*result = xmlStrdup(self->minusSign);	    /* no-break on purpose */	case 1:	    if ((self == NULL) || (self->infinity == NULL))		*result = xmlStrcat(*result, BAD_CAST "Infinity");	    else		*result = xmlStrcat(*result, self->infinity);	    return(status);	default:	    if (xmlXPathIsNaN(number)) {		if ((self == NULL) || (self->noNumber == NULL))		    *result = xmlStrdup(BAD_CAST "NaN");		else		    *result = xmlStrdup(self->noNumber);		return(status);	    }    }    buffer = xmlBufferCreate();    if (buffer == NULL) {	return XPATH_MEMORY_ERROR;    }    format_info.integer_digits = 0;    format_info.frac_digits = 0;    format_info.frac_hash = 0;    format_info.group = -1;    format_info.multiplier = 1;    format_info.is_multiplier_set = FALSE;    format_info.is_negative_pattern = FALSE;    the_format = format;//.........这里部分代码省略.........
开发者ID:gitpan,项目名称:AxKit-Needs,代码行数:101,


示例17: xsltUnicodeSortFunction

//.........这里部分代码省略.........    resultsTab[0] = xsltComputeSortResult(ctxt, sorts[0]);    for (i = 1;i < XSLT_MAX_SORT;i++)        resultsTab[i] = NULL;    results = resultsTab[0];    comp = static_cast<xsltStylePreComp*>(sorts[0]->psvi);    descending = comp->descending;    number = comp->number;    if (results == NULL)        return;    // We are passing a language identifier to a function that expects a locale identifier.    // The implementation of Collator should be lenient, and accept both "en-US" and "en_US", for example.    // This lets an author specify sorting rules, e.g. "[email
C++ xmlXPathNewContext函数代码示例
C++ xmlXPathFreeObject函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。