Lines Matching refs:arg2
6491 * @arg2: the second node set object
6516 xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2) {
6526 xmlXPathFreeObject(arg2);
6529 if ((arg2 == NULL) ||
6530 ((arg2->type != XPATH_NODESET) && (arg2->type != XPATH_XSLT_TREE))) {
6532 xmlXPathFreeObject(arg2);
6537 ns2 = arg2->nodesetval;
6541 xmlXPathFreeObject(arg2);
6546 xmlXPathFreeObject(arg2);
6554 xmlXPathFreeObject(arg2);
6584 xmlXPathFreeObject(arg2);
6641 * Implement the equal operation on XPath objects content: @arg1 == @arg2
6699 * Implement the equal operation on XPath objects content: @arg1 == @arg2
6755 * @arg2: second nodeset object argument
6759 * @arg1 == @arg2 or @arg1 != @arg2
6770 xmlXPathEqualNodeSets(xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2, int neq) {
6783 if ((arg2 == NULL) ||
6784 ((arg2->type != XPATH_NODESET) && (arg2->type != XPATH_XSLT_TREE)))
6788 ns2 = arg2->nodesetval;
6871 xmlXPathObjectPtr arg1, xmlXPathObjectPtr arg2) {
6874 *At this point we are assured neither arg1 nor arg2
6885 switch (arg2->type) {
6896 arg1->boolval, arg2->boolval);
6898 ret = (arg1->boolval == arg2->boolval);
6902 xmlXPathCastNumberToBoolean(arg2->floatval));
6905 if ((arg2->stringval == NULL) ||
6906 (arg2->stringval[0] == 0)) ret = 0;
6923 switch (arg2->type) {
6931 ret = (arg2->boolval==
6935 valuePush(ctxt, arg2);
6937 arg2 = valuePop(ctxt);
6942 xmlXPathIsNaN(arg2->floatval)) {
6945 if (xmlXPathIsInf(arg2->floatval) == 1)
6950 arg2->floatval) == -1)
6954 } else if (xmlXPathIsInf(arg2->floatval) == 1) {
6959 } else if (xmlXPathIsInf(arg2->floatval) == -1) {
6965 ret = (arg1->floatval == arg2->floatval);
6980 switch (arg2->type) {
6992 ret = (arg2->boolval == ret);
6995 ret = xmlStrEqual(arg1->stringval, arg2->stringval);
7003 xmlXPathIsNaN(arg2->floatval)) {
7006 if (xmlXPathIsInf(arg2->floatval) == 1)
7011 if (xmlXPathIsInf(arg2->floatval) == -1)
7015 } else if (xmlXPathIsInf(arg2->floatval) == 1) {
7020 } else if (xmlXPathIsInf(arg2->floatval) == -1) {
7026 ret = (arg1->floatval == arg2->floatval);
7051 xmlXPathReleaseObject(ctxt->context, arg2);
7059 * Implement the equal operation on XPath objects content: @arg1 == @arg2
7065 xmlXPathObjectPtr arg1, arg2, argtmp;
7069 arg2 = valuePop(ctxt);
7071 if ((arg1 == NULL) || (arg2 == NULL)) {
7075 xmlXPathReleaseObject(ctxt->context, arg2);
7079 if (arg1 == arg2) {
7091 if ((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE) ||
7097 argtmp = arg2;
7098 arg2 = arg1;
7101 switch (arg2->type) {
7110 ret = xmlXPathEqualNodeSets(arg1, arg2, 0);
7117 ret = (ret == arg2->boolval);
7120 ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 0);
7123 ret = xmlXPathEqualNodeSetString(arg1, arg2->stringval, 0);
7133 xmlXPathReleaseObject(ctxt->context, arg2);
7137 return (xmlXPathEqualValuesCommon(ctxt, arg1, arg2));
7144 * Implement the equal operation on XPath objects content: @arg1 == @arg2
7150 xmlXPathObjectPtr arg1, arg2, argtmp;
7154 arg2 = valuePop(ctxt);
7156 if ((arg1 == NULL) || (arg2 == NULL)) {
7160 xmlXPathReleaseObject(ctxt->context, arg2);
7164 if (arg1 == arg2) {
7176 if ((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE) ||
7182 argtmp = arg2;
7183 arg2 = arg1;
7186 switch (arg2->type) {
7195 ret = xmlXPathEqualNodeSets(arg1, arg2, 1);
7202 ret = (ret != arg2->boolval);
7205 ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 1);
7208 ret = xmlXPathEqualNodeSetString(arg1, arg2->stringval,1);
7218 xmlXPathReleaseObject(ctxt->context, arg2);
7222 return (!xmlXPathEqualValuesCommon(ctxt, arg1, arg2));
7232 * @arg1 < @arg2 (1, 1, ...
7233 * @arg1 <= @arg2 (1, 0, ...
7234 * @arg1 > @arg2 (0, 1, ...
7235 * @arg1 >= @arg2 (0, 0, ...
7252 xmlXPathObjectPtr arg1, arg2;
7255 arg2 = valuePop(ctxt);
7257 if ((arg1 == NULL) || (arg2 == NULL)) {
7261 xmlXPathReleaseObject(ctxt->context, arg2);
7265 if ((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE) ||
7272 if (((arg2->type == XPATH_NODESET) || (arg2->type == XPATH_XSLT_TREE)) &&
7274 ret = xmlXPathCompareNodeSets(inf, strict, arg1, arg2);
7278 arg1, arg2);
7281 arg2, arg1);
7294 xmlXPathFreeObject(arg2);
7297 if (arg2->type != XPATH_NUMBER) {
7298 valuePush(ctxt, arg2);
7300 arg2 = valuePop(ctxt);
7302 if (arg2->type != XPATH_NUMBER) {
7304 xmlXPathReleaseObject(ctxt->context, arg2);
7312 if (xmlXPathIsNaN(arg1->floatval) || xmlXPathIsNaN(arg2->floatval)) {
7316 arg2i=xmlXPathIsInf(arg2->floatval);
7322 ret = (arg1->floatval < arg2->floatval);
7331 ret = (arg1->floatval <= arg2->floatval);
7341 ret = (arg1->floatval > arg2->floatval);
7350 ret = (arg1->floatval >= arg2->floatval);
7357 xmlXPathReleaseObject(ctxt->context, arg2);
7463 * Implement the div operation on XPath objects @arg1 / @arg2:
7504 * Implement the mod operation on XPath objects: @arg1 / @arg2
7511 double arg1, arg2;
7516 arg2 = xmlXPathCastToNumber(arg);
7521 if (arg2 == 0)
7524 ctxt->value->floatval = fmod(arg1, arg2);
12639 xmlXPathObjectPtr arg1, arg2;
12674 arg2 = valuePop(ctxt);
12680 arg2->nodesetval);
12682 xmlXPathReleaseObject(ctxt->context, arg2);
12763 xmlXPathObjectPtr arg1, arg2;
12809 arg2 = valuePop(ctxt);
12815 arg2->nodesetval);
12817 xmlXPathReleaseObject(ctxt->context, arg2);
13184 xmlXPathObjectPtr arg1, arg2;
13205 arg2 = valuePop(ctxt);
13212 xmlXPathFreeObject(arg2);
13217 arg1->boolval &= arg2->boolval;
13219 xmlXPathReleaseObject(ctxt->context, arg2);
13231 arg2 = valuePop(ctxt);
13238 xmlXPathFreeObject(arg2);
13243 arg1->boolval |= arg2->boolval;
13245 xmlXPathReleaseObject(ctxt->context, arg2);
13342 arg2 = valuePop(ctxt);
13348 ((arg2->nodesetval != NULL) &&
13349 (arg2->nodesetval->nodeNr != 0)))
13352 arg2->nodesetval);
13356 xmlXPathReleaseObject(ctxt->context, arg2);