Lines Matching full:arg2
6566 * @arg2: the second node set object
6591 xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2) {
6601 xmlXPathFreeObject(arg2);
6604 if ((arg2 == NULL) ||
6605 ((arg2->type != XPATH_NODESET) && (arg2->type != XPATH_XSLT_TREE))) {
6607 xmlXPathFreeObject(arg2);
6612 ns2 = arg2->nodesetval;
6616 xmlXPathFreeObject(arg2);
6621 xmlXPathFreeObject(arg2);
6629 xmlXPathFreeObject(arg2);
6659 xmlXPathFreeObject(arg2);
6716 * Implement the equal operation on XPath objects content: @arg1 == @arg2
6774 * Implement the equal operation on XPath objects content: @arg1 == @arg2
6830 * @arg2: second nodeset object argument
6834 * @arg1 == @arg2 or @arg1 != @arg2
6845 xmlXPathEqualNodeSets(xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2, int neq) {
6858 if ((arg2 == NULL) ||
6859 ((arg2->type != XPATH_NODESET) && (arg2->type != XPATH_XSLT_TREE)))
6863 ns2 = arg2->nodesetval;
6946 xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2) {
6949 *At this point we are assured neither arg1 nor arg2
6960 switch (arg2->type) {
6971 arg1->boolval, arg2->boolval);
6973 ret = (arg1->boolval == arg2->boolval);
6977 xmlXPathCastNumberToBoolean(arg2->floatval));
6980 if ((arg2->stringval == NULL) ||
6981 (arg2->stringval[0] == 0)) ret = 0;
6998 switch (arg2->type) {
7006 ret = (arg2->boolval==
7010 valuePush(ctxt, arg2);
7012 arg2 = valuePop(ctxt);
7017 xmlXPathIsNaN(arg2->floatval)) {
7020 if (xmlXPathIsInf(arg2->floatval) == 1)
7025 if (xmlXPathIsInf(arg2->floatval) == -1)
7029 } else if (xmlXPathIsInf(arg2->floatval) == 1) {
7034 } else if (xmlXPathIsInf(arg2->floatval) == -1) {
7040 ret = (arg1->floatval == arg2->floatval);
7055 switch (arg2->type) {
7067 ret = (arg2->boolval == ret);
7070 ret = xmlStrEqual(arg1->stringval, arg2->stringval);
7078 xmlXPathIsNaN(arg2->floatval)) {
7081 if (xmlXPathIsInf(arg2->floatval) == 1)
7086 if (xmlXPathIsInf(arg2->floatval) == -1)
7090 } else if (xmlXPathIsInf(arg2->floatval) == 1) {
7095 } else if (xmlXPathIsInf(arg2->floatval) == -1) {
7101 ret = (arg1->floatval == arg2->floatval);
7126 xmlXPathReleaseObject(ctxt->context, arg2);
7134 * Implement the equal operation on XPath objects content: @arg1 == @arg2
7140 xmlXPathObjectPtr arg1, arg2, argtmp;
7144 arg2 = valuePop(ctxt);
7146 if ((arg1 == NULL) || (arg2 == NULL)) {
7150 xmlXPathReleaseObject(ctxt->context, arg2);
7154 if (arg1 == arg2) {
7166 if ((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE) ||
7172 argtmp = arg2;
7173 arg2 = arg1;
7176 switch (arg2->type) {
7185 ret = xmlXPathEqualNodeSets(arg1, arg2, 0);
7192 ret = (ret == arg2->boolval);
7195 ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 0);
7198 ret = xmlXPathEqualNodeSetString(arg1, arg2->stringval, 0);
7208 xmlXPathReleaseObject(ctxt->context, arg2);
7212 return (xmlXPathEqualValuesCommon(ctxt, arg1, arg2));
7219 * Implement the equal operation on XPath objects content: @arg1 == @arg2
7225 xmlXPathObjectPtr arg1, arg2, argtmp;
7229 arg2 = valuePop(ctxt);
7231 if ((arg1 == NULL) || (arg2 == NULL)) {
7235 xmlXPathReleaseObject(ctxt->context, arg2);
7239 if (arg1 == arg2) {
7251 if ((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE) ||
7257 argtmp = arg2;
7258 arg2 = arg1;
7261 switch (arg2->type) {
7270 ret = xmlXPathEqualNodeSets(arg1, arg2, 1);
7277 ret = (ret != arg2->boolval);
7280 ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 1);
7283 ret = xmlXPathEqualNodeSetString(arg1, arg2->stringval,1);
7293 xmlXPathReleaseObject(ctxt->context, arg2);
7297 return (!xmlXPathEqualValuesCommon(ctxt, arg1, arg2));
7307 * @arg1 < @arg2 (1, 1, ...
7308 * @arg1 <= @arg2 (1, 0, ...
7309 * @arg1 > @arg2 (0, 1, ...
7310 * @arg1 >= @arg2 (0, 0, ...
7327 xmlXPathObjectPtr arg1, arg2;
7330 arg2 = valuePop(ctxt);
7332 if ((arg1 == NULL) || (arg2 == NULL)) {
7336 xmlXPathReleaseObject(ctxt->context, arg2);
7340 if ((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE) ||
7347 if (((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE)) &&
7349 ret = xmlXPathCompareNodeSets(inf, strict, arg1, arg2);
7353 arg1, arg2);
7356 arg2, arg1);
7369 xmlXPathFreeObject(arg2);
7372 if (arg2->type != XPATH_NUMBER) {
7373 valuePush(ctxt, arg2);
7375 arg2 = valuePop(ctxt);
7377 if (arg2->type != XPATH_NUMBER) {
7379 xmlXPathReleaseObject(ctxt->context, arg2);
7387 if (xmlXPathIsNaN(arg1->floatval) || xmlXPathIsNaN(arg2->floatval)) {
7391 arg2i=xmlXPathIsInf(arg2->floatval);
7397 ret = (arg1->floatval < arg2->floatval);
7406 ret = (arg1->floatval <= arg2->floatval);
7416 ret = (arg1->floatval > arg2->floatval);
7425 ret = (arg1->floatval >= arg2->floatval);
7432 xmlXPathReleaseObject(ctxt->context, arg2);
7538 * Implement the div operation on XPath objects @arg1 / @arg2:
7579 * Implement the mod operation on XPath objects: @arg1 / @arg2
7586 double arg1, arg2;
7591 arg2 = xmlXPathCastToNumber(arg);
7596 if (arg2 == 0)
7599 ctxt->value->floatval = fmod(arg1, arg2);
12741 xmlXPathObjectPtr arg1, arg2;
12776 arg2 = valuePop(ctxt);
12782 arg2->nodesetval);
12784 xmlXPathReleaseObject(ctxt->context, arg2);
12865 xmlXPathObjectPtr arg1, arg2;
12911 arg2 = valuePop(ctxt);
12917 arg2->nodesetval);
12919 xmlXPathReleaseObject(ctxt->context, arg2);
13291 xmlXPathObjectPtr arg1, arg2;
13312 arg2 = valuePop(ctxt);
13319 xmlXPathFreeObject(arg2);
13324 arg1->boolval &= arg2->boolval;
13326 xmlXPathReleaseObject(ctxt->context, arg2);
13338 arg2 = valuePop(ctxt);
13345 xmlXPathFreeObject(arg2);
13350 arg1->boolval |= arg2->boolval;
13352 xmlXPathReleaseObject(ctxt->context, arg2);
13449 arg2 = valuePop(ctxt);
13455 ((arg2->nodesetval != NULL) &&
13456 (arg2->nodesetval->nodeNr != 0)))
13459 arg2->nodesetval);
13463 xmlXPathReleaseObject(ctxt->context, arg2);