lref_t lport_set_translate_mode(lref_t port, lref_t mode) { if (!TEXT_PORTP(port)) vmerror_wrong_type_n(1, port); if (!BOOLP(mode)) vmerror_wrong_type_n(2, mode); lflush_port(port); bool old_translate_mode = PORT_TEXT_INFO(port)->translate; PORT_TEXT_INFO(port)->translate = TRUEP(mode); return boolcons(old_translate_mode); }
static PyObject* particles_set_cell(particles_t *self, PyObject *args) { PyObject *Abox_obj, *pbc_obj = NULL; PyArrayObject *Abox_arr; PyArrayObject *pbc_arr = NULL; double *Abox; npy_bool *pbc; BOOL pbc_for[3]; int ierror = ERROR_NONE; if (!PyArg_ParseTuple(args, "O|O", &Abox_obj, &pbc_obj)) return NULL; Abox_arr = (PyArrayObject *) PyArray_FROMANY(Abox_obj, NPY_DOUBLE, 2, 2, NPY_C_CONTIGUOUS); if (!Abox_arr) return NULL; Abox = DOUBLEP(Abox_arr); pbc_for[0] = 1; pbc_for[1] = 1; pbc_for[2] = 1; if (pbc_obj) { pbc_arr = (PyArrayObject *) PyArray_FROMANY(pbc_obj, NPY_BOOL, 1, 1, NPY_C_CONTIGUOUS); if (!pbc_arr) return NULL; pbc = (npy_bool *) BOOLP(pbc_arr); pbc_for[0] = pbc[0]; pbc_for[1] = pbc[1]; pbc_for[2] = pbc[2]; } #ifdef DEBUG printf("[particles_set_cell] pbc_for %i, %i, %i\n", pbc_for[0], pbc_for[1], pbc_for[2]); #endif f_particles_set_cell(self->f90obj, Abox, pbc_for, &ierror); if (error_to_py(ierror)) return NULL; Py_RETURN_NONE; }