j1 = ((int *)ind1->data)[j];
j1 = ((long *)ind1->data)[j];
LLMat_update_add_mask(LLMatObject *self, PyObject *args) {  PyObject *bIn, *ind0In, *ind1In, *mask0In, *mask1In;   PyArrayObject *b, *ind0, *ind1, *mask0, *mask1;  double v;  int len0, len1, i, j, i1, j1, ldb;  if (self->issym) {    PyErr_SetString(SpMatrix_ErrorObject, "method not allowed for symmetric matrices");    return NULL;  }  if (!PyArg_ParseTuple(args, "OOOOO", &bIn, &ind0In, &ind1In, &mask0In, &mask1In))     return NULL;  b = (PyArrayObject *)PyArray_ContiguousFromObject(bIn, PyArray_DOUBLE, 2, 2);  ind0 = (PyArrayObject *)PyArray_ContiguousFromObject(ind0In, PyArray_INT, 1, 1);  ind1 = (PyArrayObject *)PyArray_ContiguousFromObject(ind1In, PyArray_INT, 1, 1);  mask0 = (PyArrayObject *)PyArray_ContiguousFromObject(mask0In, PyArray_INT, 1, 1);  mask1 = (PyArrayObject *)PyArray_ContiguousFromObject(mask1In, PyArray_INT, 1, 1);  if (b == NULL || ind0 == NULL || ind1 == NULL || mask0 == NULL || mask1 == NULL)    goto fail;  len0 = ind0->dimensions[0];  len1 = ind1->dimensions[0];  /* validate array shapes */  if (mask0->dimensions[0] != len0 || mask1->dimensions[0] != len1) {    PyErr_SetString(PyExc_ValueError, "shapes of index and mask array do not match");    goto fail;  }  if (b->dimensions[0] != len0 || b->dimensions[1] != len1) {    PyErr_SetString(PyExc_ValueError, "shapes of input matrix and index arrays do not match");    goto fail;  }    /* perform update add operation */  ldb = b->dimensions[0];  for (i = 0; i < len0; i ++) {    if (((int *)mask0->data)[i]) {      i1 = ((int *)ind0->data)[i];      if (i1 < 0)	i1 += self->dim[0];      if (i1 < 0 || i1 >= self->dim[0]) {	PyErr_SetString(PyExc_IndexError, "element of arg 2 out of range");	goto fail;      }         for (j = 0; j < len1; j ++) {	if (((int *)mask1->data)[j]) {	  j1 = ((int *)ind1->data)[j];	  if (j1 < 0)	    j1 += self->dim[1];	  if (j1 < 0 || j1 >= self->dim[1]) {	    PyErr_SetString(PyExc_IndexError, "element of arg 3 out of range");	    goto fail;	  }	  v = ((double *)b->data)[i + ldb*j];	  if (SpMatrix_LLMatUpdateItemAdd(self, i1, j1, v) == -1)	    goto fail;	}      }    }  }    Py_DECREF(b);  Py_DECREF(ind0);  Py_DECREF(ind1);  Py_DECREF(mask0);  Py_DECREF(mask1);  Py_INCREF(Py_None);   return Py_None; fail:  Py_XDECREF(b);  Py_XDECREF(ind0);  Py_XDECREF(ind1);  Py_XDECREF(mask0);  Py_XDECREF(mask1);  return NULL;}