Lines Matching full:val
80 * If defined, this will optimize expressions like "key('foo', 'val')[b][1]"
140 * @val: a double value
149 xmlXPathIsNaN(double val) {
150 return(trio_isnan(val));
155 * @val: a double value
164 xmlXPathIsInf(double val) {
165 return(trio_isinf(val));
172 * @val: a double value
181 xmlXPathGetSign(double val) {
182 return(trio_signbit(val));
792 #define PUSH_FULL_EXPR(op, op1, op2, val, val2, val3, val4, val5) \
794 (op), (val), (val2), (val3), (val4), (val5))
795 #define PUSH_LONG_EXPR(op, val, val2, val3, val4, val5) \
797 (op), (val), (val2), (val3), (val4), (val5))
799 #define PUSH_LEAVE_EXPR(op, val, val2) \
800 xmlXPathCompExprAdd(ctxt->comp, -1, -1, (op), (val), (val2), 0 ,NULL ,NULL)
802 #define PUSH_UNARY_EXPR(op, ch, val, val2) \
803 xmlXPathCompExprAdd(ctxt->comp, (ch), -1, (op), (val), (val2), 0 ,NULL ,NULL)
805 #define PUSH_BINARY_EXPR(op, ch1, ch2, val, val2) \
807 (val), (val2), 0 ,NULL ,NULL)
1913 * @val: the NodePtr value
1916 * Wrap the Nodeset @val in a new xmlXPathObjectPtr
1921 xmlXPathCacheWrapNodeSet(xmlXPathContextPtr ctxt, xmlNodeSetPtr val)
1935 ret->nodesetval = val;
1943 return(xmlXPathWrapNodeSet(val));
1950 * @val: the xmlChar * value
1953 * Wraps the @val string into an XPath object.
1958 xmlXPathCacheWrapString(xmlXPathContextPtr ctxt, xmlChar *val)
1972 ret->stringval = val;
1988 ret->stringval = val;
1995 return(xmlXPathWrapString(val));
2001 * @val: the NodePtr value
2005 * it with the single Node @val
2010 xmlXPathCacheNewNodeSet(xmlXPathContextPtr ctxt, xmlNodePtr val)
2026 if (val) {
2028 (val->type == XML_NAMESPACE_DECL))
2030 xmlXPathNodeSetAddUnique(ret->nodesetval, val);
2032 ret->nodesetval->nodeTab[0] = val;
2053 ret->nodesetval = xmlXPathNodeSetCreate(val);
2060 return(xmlXPathNewNodeSet(val));
2066 * @val: the char * value
2069 * Acquire an xmlXPathObjectPtr of type string and of value @val
2074 xmlXPathCacheNewCString(xmlXPathContextPtr ctxt, const char *val)
2088 ret->stringval = xmlStrdup(BAD_CAST val);
2102 ret->stringval = xmlStrdup(BAD_CAST val);
2109 return(xmlXPathNewCString(val));
2115 * @val: the xmlChar * value
2118 * Acquire an xmlXPathObjectPtr of type string and of value @val
2123 xmlXPathCacheNewString(xmlXPathContextPtr ctxt, const xmlChar *val)
2136 if (val != NULL)
2137 ret->stringval = xmlStrdup(val);
2153 if (val != NULL)
2154 ret->stringval = xmlStrdup(val);
2163 return(xmlXPathNewString(val));
2169 * @val: the boolean value
2172 * Acquires an xmlXPathObjectPtr of type boolean and of value @val
2177 xmlXPathCacheNewBoolean(xmlXPathContextPtr ctxt, int val)
2190 ret->boolval = (val != 0);
2204 ret->boolval = (val != 0);
2211 return(xmlXPathNewBoolean(val));
2217 * @val: the double value
2220 * Acquires an xmlXPathObjectPtr of type double and of value @val
2225 xmlXPathCacheNewFloat(xmlXPathContextPtr ctxt, double val)
2238 ret->floatval = val;
2252 ret->floatval = val;
2259 return(xmlXPathNewFloat(val));
2265 * @val: an XPath object
2271 * (or the operation is done directly on @val)
2275 xmlXPathCacheConvertString(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
2278 if (val == NULL)
2281 switch (val->type) {
2289 res = xmlXPathCastNodeSetToString(val->nodesetval);
2292 return(val);
2294 res = xmlXPathCastBooleanToString(val->boolval);
2297 res = xmlXPathCastNumberToString(val->floatval);
2306 xmlXPathReleaseObject(ctxt, val);
2315 * @val: the original object
2323 xmlXPathCacheObjectCopy(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val)
2325 if (val == NULL)
2329 switch (val->type) {
2332 xmlXPathNodeSetMerge(NULL, val->nodesetval)));
2334 return(xmlXPathCacheNewString(ctxt, val->stringval));
2336 return(xmlXPathCacheNewBoolean(ctxt, val->boolval));
2338 return(xmlXPathCacheNewFloat(ctxt, val->floatval));
2343 return(xmlXPathObjectCopy(val));
2349 * @val: an XPath object
2355 * is done directly on @val)
2358 xmlXPathCacheConvertBoolean(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
2361 if (val == NULL)
2363 if (val->type == XPATH_BOOLEAN)
2364 return(val);
2365 ret = xmlXPathCacheNewBoolean(ctxt, xmlXPathCastToBoolean(val));
2366 xmlXPathReleaseObject(ctxt, val);
2373 * @val: an XPath object
2379 * is done directly on @val)
2382 xmlXPathCacheConvertNumber(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
2385 if (val == NULL)
2387 if (val->type == XPATH_NUMBER)
2388 return(val);
2389 ret = xmlXPathCacheNewFloat(ctxt, xmlXPathCastToNumber(val));
2390 xmlXPathReleaseObject(ctxt, val);
2624 #define SKIP(val) ctxt->cur += (val)
2625 #define NXT(val) ctxt->cur[(val)]
3373 * @val: an initial xmlNodePtr, or NULL
3375 * Create a new xmlNodeSetPtr of type double and of value @val
3380 xmlXPathNodeSetCreate(xmlNodePtr val) {
3389 if (val != NULL) {
3400 if (val->type == XML_NAMESPACE_DECL) {
3401 xmlNsPtr ns = (xmlNsPtr) val;
3406 ret->nodeTab[ret->nodeNr++] = val;
3415 * Create a new xmlNodeSetPtr of type double and of value @val
3445 * @val: the node
3447 * checks whether @cur contains @val
3449 * Returns true (1) if @cur contains @val, false (0) otherwise
3452 xmlXPathNodeSetContains (xmlNodeSetPtr cur, xmlNodePtr val) {
3455 if ((cur == NULL) || (val == NULL)) return(0);
3456 if (val->type == XML_NAMESPACE_DECL) {
3461 ns1 = (xmlNsPtr) val;
3472 if (cur->nodeTab[i] == val)
3540 * @val: a new xmlNodePtr
3545 xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
3548 if ((cur == NULL) || (val == NULL)) return;
3551 if ((val->type == XML_ELEMENT_NODE) && (val->name[0] == ' '))
3560 if (cur->nodeTab[i] == val) return;
3587 if (val->type == XML_NAMESPACE_DECL) {
3588 xmlNsPtr ns = (xmlNsPtr) val;
3593 cur->nodeTab[cur->nodeNr++] = val;
3599 * @val: a new xmlNodePtr
3605 xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) {
3606 if ((cur == NULL) || (val == NULL)) return;
3609 if ((val->type == XML_ELEMENT_NODE) && (val->name[0] == ' '))
3639 if (val->type == XML_NAMESPACE_DECL) {
3640 xmlNsPtr ns = (xmlNsPtr) val;
3645 cur->nodeTab[cur->nodeNr++] = val;
4013 * @val: an xmlNodePtr
4018 xmlXPathNodeSetDel(xmlNodeSetPtr cur, xmlNodePtr val) {
4022 if (val == NULL) return;
4028 if (cur->nodeTab[i] == val) break;
4034 val->name);
4050 * @val: the index to remove
4055 xmlXPathNodeSetRemove(xmlNodeSetPtr cur, int val) {
4057 if (val >= cur->nodeNr) return;
4058 if ((cur->nodeTab[val] != NULL) &&
4059 (cur->nodeTab[val]->type == XML_NAMESPACE_DECL))
4060 xmlXPathNodeSetFreeNs((xmlNsPtr) cur->nodeTab[val]);
4062 for (;val < cur->nodeNr;val++)
4063 cur->nodeTab[val] = cur->nodeTab[val + 1];
4215 * @val: the NodePtr value
4218 * it with the single Node @val
4223 xmlXPathNewNodeSet(xmlNodePtr val) {
4234 ret->nodesetval = xmlXPathNodeSetCreate(val);
4244 * @val: the NodePtr value
4247 * it with the tree root @val
4252 xmlXPathNewValueTree(xmlNodePtr val) {
4263 ret->user = (void *) val;
4264 ret->nodesetval = xmlXPathNodeSetCreate(val);
4273 * @val: an existing NodeSet
4276 * it with the Nodeset @val
4281 xmlXPathNewNodeSetList(xmlNodeSetPtr val)
4286 if (val == NULL)
4288 else if (val->nodeTab == NULL)
4291 ret = xmlXPathNewNodeSet(val->nodeTab[0]);
4293 for (i = 1; i < val->nodeNr; ++i)
4294 xmlXPathNodeSetAddUnique(ret->nodesetval, val->nodeTab[i]);
4302 * @val: the NodePtr value
4304 * Wrap the Nodeset @val in a new xmlXPathObjectPtr
4309 xmlXPathWrapNodeSet(xmlNodeSetPtr val) {
4319 ret->nodesetval = val;
5093 * @val: the double value
5095 * Create a new xmlXPathObjectPtr of type double and of value @val
5100 xmlXPathNewFloat(double val) {
5110 ret->floatval = val;
5119 * @val: the boolean value
5121 * Create a new xmlXPathObjectPtr of type boolean and of value @val
5126 xmlXPathNewBoolean(int val) {
5136 ret->boolval = (val != 0);
5145 * @val: the xmlChar * value
5147 * Create a new xmlXPathObjectPtr of type string and of value @val
5152 xmlXPathNewString(const xmlChar *val) {
5162 if (val != NULL)
5163 ret->stringval = xmlStrdup(val);
5174 * @val: the xmlChar * value
5176 * Wraps the @val string into an XPath object.
5181 xmlXPathWrapString (xmlChar *val) {
5191 ret->stringval = val;
5200 * @val: the char * value
5202 * Create a new xmlXPathObjectPtr of type string and of value @val
5207 xmlXPathNewCString(const char *val) {
5217 ret->stringval = xmlStrdup(BAD_CAST val);
5226 * @val: the char * value
5233 xmlXPathWrapCString (char * val) {
5234 return(xmlXPathWrapString((xmlChar *)(val)));
5239 * @val: the user data
5241 * Wraps the @val data into an XPath object.
5246 xmlXPathWrapExternal (void *val) {
5256 ret->user = val;
5265 * @val: the original object
5272 xmlXPathObjectCopy(xmlXPathObjectPtr val) {
5275 if (val == NULL)
5283 memcpy(ret, val , (size_t) sizeof(xmlXPathObject));
5285 xmlXPathDebugObjUsageRequested(NULL, val->type);
5287 switch (val->type) {
5294 ret->stringval = xmlStrdup(val->stringval);
5303 if ((val->nodesetval != NULL) &&
5304 (val->nodesetval->nodeTab != NULL)) {
5311 xmlStrdup(val->nodesetval->nodeTab[0]->name);
5315 cur = val->nodesetval->nodeTab[0]->children;
5330 ret->nodesetval = xmlXPathNodeSetMerge(NULL, val->nodesetval);
5337 xmlLocationSetPtr loc = val->user;
5343 ret->user = val->user;
5348 val->type);
5545 * @val: a boolean
5552 xmlXPathCastBooleanToString (int val) {
5554 if (val)
5563 * @val: a number
5570 xmlXPathCastNumberToString (double val) {
5572 switch (xmlXPathIsInf(val)) {
5580 if (xmlXPathIsNaN(val)) {
5582 } else if (val == 0 && xmlXPathGetSign(val) != 0) {
5587 xmlXPathFormatNumber(val, buf, 99);
5631 * @val: an XPath object
5639 xmlXPathCastToString(xmlXPathObjectPtr val) {
5642 if (val == NULL)
5644 switch (val->type) {
5653 ret = xmlXPathCastNodeSetToString(val->nodesetval);
5656 return(xmlStrdup(val->stringval));
5658 ret = xmlXPathCastBooleanToString(val->boolval);
5661 ret = xmlXPathCastNumberToString(val->floatval);
5677 * @val: an XPath object
5682 * is done directly on @val)
5685 xmlXPathConvertString(xmlXPathObjectPtr val) {
5688 if (val == NULL)
5691 switch (val->type) {
5699 res = xmlXPathCastNodeSetToString(val->nodesetval);
5702 return(val);
5704 res = xmlXPathCastBooleanToString(val->boolval);
5707 res = xmlXPathCastNumberToString(val->floatval);
5716 xmlXPathFreeObject(val);
5724 * @val: a boolean
5731 xmlXPathCastBooleanToNumber(int val) {
5732 if (val)
5739 * @val: a string
5746 xmlXPathCastStringToNumber(const xmlChar * val) {
5747 return(xmlXPathStringEvalNumber(val));
5797 * @val: an XPath object
5804 xmlXPathCastToNumber(xmlXPathObjectPtr val) {
5807 if (val == NULL)
5809 switch (val->type) {
5818 ret = xmlXPathCastNodeSetToNumber(val->nodesetval);
5821 ret = xmlXPathCastStringToNumber(val->stringval);
5824 ret = val->floatval;
5827 ret = xmlXPathCastBooleanToNumber(val->boolval);
5842 * @val: an XPath object
5847 * is done directly on @val)
5850 xmlXPathConvertNumber(xmlXPathObjectPtr val) {
5853 if (val == NULL)
5855 if (val->type == XPATH_NUMBER)
5856 return(val);
5857 ret = xmlXPathNewFloat(xmlXPathCastToNumber(val));
5858 xmlXPathFreeObject(val);
5864 * @val: a number
5871 xmlXPathCastNumberToBoolean (double val) {
5872 if (xmlXPathIsNaN(val) || (val == 0.0))
5879 * @val: a string
5886 xmlXPathCastStringToBoolean (const xmlChar *val) {
5887 if ((val == NULL) || (xmlStrlen(val) == 0))
5909 * @val: an XPath object
5916 xmlXPathCastToBoolean (xmlXPathObjectPtr val) {
5919 if (val == NULL)
5921 switch (val->type) {
5930 ret = xmlXPathCastNodeSetToBoolean(val->nodesetval);
5933 ret = xmlXPathCastStringToBoolean(val->stringval);
5936 ret = xmlXPathCastNumberToBoolean(val->floatval);
5939 ret = val->boolval;
5955 * @val: an XPath object
5960 * is done directly on @val)
5963 xmlXPathConvertBoolean(xmlXPathObjectPtr val) {
5966 if (val == NULL)
5968 if (val->type == XPATH_BOOLEAN)
5969 return(val);
5970 ret = xmlXPathNewBoolean(xmlXPathCastToBoolean(val));
5971 xmlXPathFreeObject(val);
6338 * @ns < @val (1, 1, ...
6339 * @ns <= @val (1, 0, ...
6340 * @ns > @val (0, 1, ...
6341 * @ns >= @val (0, 0, ...
6394 * @ns < @val (1, 1, ...
6395 * @ns <= @val (1, 0, ...
6396 * @ns > @val (0, 1, ...
6397 * @ns >= @val (0, 0, ...
6547 * @val: the value
6550 * @ns < @val (1, 1, ...
6551 * @ns <= @val (1, 0, ...
6552 * @ns > @val (0, 1, ...
6553 * @ns >= @val (0, 0, ...
6564 xmlXPathObjectPtr arg, xmlXPathObjectPtr val) {
6565 if ((val == NULL) || (arg == NULL) ||
6569 switch(val->type) {
6571 return(xmlXPathCompareNodeSetFloat(ctxt, inf, strict, arg, val));
6574 return(xmlXPathCompareNodeSets(inf, strict, arg, val));
6576 return(xmlXPathCompareNodeSetString(ctxt, inf, strict, arg, val));
6580 valuePush(ctxt, val);
6667 xmlXPathObjectPtr val;
6682 val = valuePop(ctxt);
6683 v = val->floatval;
6684 xmlXPathReleaseObject(ctxt->context, val);
7354 double val;
7359 val = xmlXPathCastToNumber(arg);
7363 ctxt->value->floatval += val;
7377 double val;
7382 val = xmlXPathCastToNumber(arg);
7386 ctxt->value->floatval -= val;
7400 double val;
7405 val = xmlXPathCastToNumber(arg);
7409 ctxt->value->floatval *= val;
7423 double val;
7428 val = xmlXPathCastToNumber(arg);
7432 if (xmlXPathIsNaN(val) || xmlXPathIsNaN(ctxt->value->floatval))
7434 else if (val == 0 && xmlXPathGetSign(val) != 0) {
7442 else if (val == 0) {
7450 ctxt->value->floatval /= val;
9399 xmlXPathObjectPtr val = NULL;
9408 val = valuePop(ctxt);
9409 lang = val->stringval;
9422 xmlXPathReleaseObject(ctxt->context, val);
9638 unsigned int val;
9670 val = (cur[0] & 0x7) << 18;
9671 val |= (cur[1] & 0x3f) << 12;
9672 val |= (cur[2] & 0x3f) << 6;
9673 val |= cur[3] & 0x3f;
9677 val = (cur[0] & 0xf) << 12;
9678 val |= (cur[1] & 0x3f) << 6;
9679 val |= cur[2] & 0x3f;
9684 val = (cur[0] & 0x1f) << 6;
9685 val |= cur[1] & 0x3f;
9687 if (!IS_CHAR(val)) {
9690 return(val);
13314 xmlXPathObjectPtr val;
13320 val = xmlXPathVariableLookup(ctxt->context, op->value4);
13321 if (val == NULL) {
13325 valuePush(ctxt, val);
13336 val = xmlXPathVariableLookupNS(ctxt->context,
13338 if (val == NULL) {
13342 valuePush(ctxt, val);
13454 xmlXPathObjectPtr val;
13456 val = comp->steps[op->ch2].value4;
13457 if ((val != NULL) && (val->type == XPATH_NUMBER) &&
13458 (val->floatval == 1.0)) {