int KimNeighborNEIGHPUREH::GetNeighbors(int n, int *neighbors, Vec *diffs, double *diffs2, int& size, double r /* = -1.0 */ ) const { int currentAtom; int number; int *rawneighbors; double *Rij; // Not used in this KIM neighborlist mode. int ier = KIM_API_get_neigh((void*)pkim, nbmode, check_iterator(n), ¤tAtom, &number, &rawneighbors, &Rij); if (KIM_STATUS_OK != ier) throw AsapError("KIM_API_get_neigh failed ") << __FILE__ << ":" << __LINE__; assert(currentAtom == n); // Now construct the list of distance vectors const Vec *pos = atoms->GetPositions(); const Vec *thispos = pos + n; int numnb = 0; double rcut2 = this->rcut2; if (r > 0) rcut2 = r*r; for (int i = 0; i < number; i++) { const Vec *otherpos = pos + rawneighbors[i]; diffs[numnb] = *otherpos - *thispos; diffs2[numnb] = diffs[numnb] * diffs[numnb]; if (diffs2[numnb] <= rcut2) { neighbors[numnb] = rawneighbors[i]; numnb++; } } assert(numnb <= size); size -= numnb; return numnb; }
gboolean gtk_text_region_iterator_is_end (GtkTextRegionIterator *iter) { GtkTextRegionIteratorReal *real; g_return_val_if_fail (iter != NULL, FALSE); real = (GtkTextRegionIteratorReal *)iter; g_return_val_if_fail (check_iterator (real), FALSE); return (real->subregions == NULL); }
static void test_backend(enum coll_eng engine, enum hash_alg hash_alg) { fputs("\tcheck insert ... ", stdout); fflush(stdout); check_insert(engine, hash_alg); fputs("\tcheck remove ... ", stdout); fflush(stdout); check_remove(engine, hash_alg); fputs("\tcheck get/remove ... ", stdout); fflush(stdout); check_get_remove(engine, hash_alg); fputs("\tcheck iterator... ", stdout); fflush(stdout); check_iterator(engine, hash_alg); }
gboolean gtk_text_region_iterator_next (GtkTextRegionIterator *iter) { GtkTextRegionIteratorReal *real; g_return_val_if_fail (iter != NULL, FALSE); real = (GtkTextRegionIteratorReal *)iter; g_return_val_if_fail (check_iterator (real), FALSE); if (real->subregions != NULL) { real->subregions = g_list_next (real->subregions); return TRUE; } else return FALSE; }
void gtk_text_region_iterator_get_subregion (GtkTextRegionIterator *iter, GtkTextIter *start, GtkTextIter *end) { GtkTextRegionIteratorReal *real; Subregion *sr; g_return_if_fail (iter != NULL); real = (GtkTextRegionIteratorReal *)iter; g_return_if_fail (check_iterator (real)); g_return_if_fail (real->subregions != NULL); sr = (Subregion*)real->subregions->data; g_return_if_fail (sr != NULL); if (start) gtk_text_buffer_get_iter_at_mark (real->region->buffer, start, sr->start); if (end) gtk_text_buffer_get_iter_at_mark (real->region->buffer, end, sr->end); }