Пример #1
0
static int do_search ( int argc, char ** argv, mpd_Connection * conn, int exact )
{
	Constraint *constraints;
	int numconstraints;
	int i;

	if (argc % 2 != 0)
		DIE("arguments must be pairs of search types and queries\n");

	numconstraints = get_constraints(argc, argv, &constraints);
	if (numconstraints < 0)
		return -1;

	mpd_startSearch(conn, exact);

	for (i = 0; i < numconstraints; i++) {
		mpd_addConstraintSearch(conn, constraints[i].type,
		                        charset_to_utf8(constraints[i].query));
	}

	free(constraints);

	mpd_commitSearch(conn);
	printErrorAndExit(conn);

	print_filenames(conn);

	my_finishCommand(conn);

	return 0;
}
Пример #2
0
Файл: windll.c Проект: ks6g10/CA
long __declspec(dllexport) WINAPI _get_constraints(lprec *lp, double *constraints)
 {
  long ret;

  if (lp != NULL) {
   freebuferror();
   ret = get_constraints(lp, constraints);
  }
  else
   ret = 0;
  return(ret);
 }
Пример #3
0
int cmd_list ( int argc, char ** argv, mpd_Connection * conn )
{
	Constraint *constraints;
	int numconstraints = 0;
	int type;
	int i;
	char *tag;

	type = get_search_type(argv[0]);
	if (type < 0)
		return -1;

	argc -= 1;
	argv += 1;

	if (argc > 0) {
		if (argc % 2 != 0) {
			DIE("arguments must be a tag type and "
			    "optional pairs of search types and queries\n");
		}

		numconstraints = get_constraints(argc, argv, &constraints);
		if (numconstraints < 0)
			return -1;
	}

	mpd_startFieldSearch(conn, type);

	if (argc > 0) {
		for (i = 0; i < numconstraints; i++) {
			mpd_addConstraintSearch(conn, constraints[i].type,
						charset_to_utf8(constraints[i].query));
		}

		free(constraints);
	}

	mpd_commitSearch(conn);
	printErrorAndExit(conn);

	while ((tag = mpd_getNextTag(conn, type))) {
		printErrorAndExit(conn);
		printf("%s\n", charset_from_utf8(tag));
		free(tag);
	}

	my_finishCommand(conn);

	return 0;
}
Пример #4
0
void constraint::refreshDomainMap() {
	int t=0;
	for(int i=0;i<n;++i) {
		for(int j=0;j<n;++j) {
			if(solution[t] == 0) {
				if(tokenReader::dh)
					domainMap[t] = get_dh_constraints(i,j);
				else
					domainMap[t] = get_constraints(i,j);
				if(tokenReader::mrv) {
					mrv_map[t] = domainMap[t].size();
				}
			}
			++t;
		}
	}
}
Пример #5
0
bool add_constraints(int argc, char ** argv, struct mpd_connection *conn)
{
    struct constraint *constraints;

    if (argc % 2 != 0)
        DIE("arguments must be pairs of search types and queries\n");

    int numconstraints = get_constraints(argc, argv, &constraints);
    if (numconstraints < 0)
        return false;

    for (int i = 0; i < numconstraints; i++) {
        add_constraint(conn, &constraints[i]);
    }

    free(constraints);
    return true;
}
Пример #6
0
void constraint::solution_init() {
	constraint_map = std::vector<std::vector<int>>((n*n), std::vector<int>());
	nns =0;
	int t=0;
	for(int i=0;i<n;++i) {
		for(int j=0;j<n;++j) {
			solution.push_back( rows[i][j] );
			if(tokenReader::dh) 
				domainMap.push_back(get_dh_constraints(i,j));
			else
				domainMap.push_back(get_constraints(i,j));
			if(tokenReader::mrv)
				mrv_map[t] = domainMap.back().size();
			if(solution[t] != 0) {
				++nns;
				domainMap[t].clear();
				if(tokenReader::dh)
					dh_map[i][j] = 0;
			}
			++t;
		}
	}
}