int main(int argc, const char * argv[]) { float coeffs[NUM_COEFFS] = {0.00460399444634034, 0.00920798889268068, 0.00460399444634034, -1.7990948352036205, 0.8175108129889816}; int i; for (i=0; i<FILTERS;i++) { bq[i] = bq_new(coeffs); } pa_init(); getchar(); pa_close(); free(bq); return 0; }
static void test_query_filter(TestCase *tc, void *data) { Searcher *searcher = (Searcher *)data; Query *bq; Filter *qf; Query *q = maq_new(); qf = qfilt_new_nr(tq_new(flipflop, "on")); TEST_TO_S("QueryFilter< flipflop:on >", qf); check_filtered_hits(tc, searcher, q, qf, NULL, "0,2,4,6,8", -1); filt_deref(qf); bq = bq_new(false); bq_add_query_nr(bq, tq_new(date, "20051101"), BC_SHOULD); bq_add_query_nr(bq, tq_new(date, "20041201"), BC_SHOULD); qf = qfilt_new_nr(bq); check_filtered_hits(tc, searcher, q, qf, NULL, "2,3,4,5", -1); TEST_TO_S("QueryFilter< date:20051101 date:20041201 >", qf); filt_deref(qf); q_deref(q); }
static INLINE void index_del_doc_with_key_i(Index *self, Document *doc, HashSet *key) { Query *q; TopDocs *td; DocField *df; HashSetEntry *hse; if (key->size == 1) { Symbol field = (Symbol)key->first->elem; ensure_writer_open(self); df = doc_get_field(doc, field); if (df) { iw_delete_term(self->iw, field, df->data[0]); } return; } q = bq_new(false); ensure_searcher_open(self); for (hse = key->first; hse; hse = hse->next) { Symbol field = (Symbol)hse->elem; df = doc_get_field(doc, field); if (!df) continue; bq_add_query(q, tq_new(field, df->data[0]), BC_MUST); } td = searcher_search(self->sea, q, 0, 1, NULL, NULL, NULL); if (td->total_hits > 1) { td_destroy(td); RAISE(ARG_ERROR, NON_UNIQUE_KEY_ERROR_MSG); } else if (td->total_hits == 1) { ir_delete_doc(self->ir, td->hits[0]->doc); } q_deref(q); td_destroy(td); }
rel_t * rel_create (conn_t *c, const struct sockaddr_storage *ss, const struct config_common *cc) { assert((c != NULL && ss == NULL) || (c == NULL && ss != NULL)); assert(cc); rel_t *r; r = xmalloc (sizeof (*r)); memset (r, 0, sizeof (*r)); if (!c) { c = conn_create (r, ss); if (!c) { free (r); return NULL; } } r->c = c; r->next = rel_list; r->prev = &rel_list; if (rel_list) rel_list->prev = &r->next; rel_list = r; /* Set the sockaddr_storage for this connection */ if (ss) memcpy(&r->ss,ss,sizeof(struct sockaddr_storage)); /* Save the configurations we'll need */ r->timeout = cc->timeout; r->window = cc->window; r->single_connection = cc->single_connection; /* Create a buffer queue for sending and receiving, starting at * index 1 */ r->send_bq = bq_new(SEND_BUFFER_INITIAL_SIZE, sizeof(send_bq_element_t)); bq_increase_head_seq_to(r->send_bq,1); r->rec_bq = bq_new(cc->window, sizeof(packet_t)); bq_increase_head_seq_to(r->rec_bq,1); /* Send an receive state */ r->seqno = 1; r->ackno = 1; /* Connection teardown state */ r->read_eof = 0; r->printed_eof = 0; /* Nagle state */ r->nagle_outstanding = 0; return r; }