示例#1
0
	void LibConfigProgram::createArguments(LibConfig::VersionInfo::Settings& version) const
	{
		LibConfig::VersionInfo::Settings::SettingsPerModule::OptionMap args;
		# if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC)
		bool hasCxxFlags = false;
		# endif

		if (pOptCxxFlags)
		{
			const String::List::const_iterator end = pOptModules.end();
			for (String::List::const_iterator i = pOptModules.begin(); i != end; ++i)
			{
				LibConfig::VersionInfo::Settings::SettingsPerModule& modSettings = version.moduleSettings[*i];
				modSettings.merge(args, modSettings.cxxFlags);
				modSettings.merge(args, modSettings.defines);
				modSettings.merge(args, modSettings.includes);
			}
			if (!args.empty())
			{
				# if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC)
				hasCxxFlags = true;
				# endif
				PrintArgs(args);
			}
		}

		if (pOptLibFlags)
		{
			args.clear();
			const String::List::const_iterator end = pOptModules.end();
			for (String::List::const_iterator i = pOptModules.begin(); i != end; ++i)
			{
				LibConfig::VersionInfo::Settings::SettingsPerModule& modSettings = version.moduleSettings[*i];
				modSettings.merge(args, modSettings.frameworks);
				modSettings.merge(args, modSettings.libs);
				modSettings.merge(args, modSettings.libIncludes);
			}
			if (!args.empty())
			{
				# if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC)
				if (hasCxxFlags)
					std::cout << ' ';
				std::cout << "-Wl,--start-group ";
				# endif
				PrintArgs(args);
				# if !defined(YUNI_OS_MSVC) && !defined(YUNI_OS_MAC)
				std::cout << " -Wl,--end-group";
				# endif
			}
		}
		std::cout << "\n";
	}
示例#2
0
void CanvasBase::Print(const char* format, ... ) const
{
	va_list oArgs;
	va_start(oArgs, format);

	PrintArgs(m_oPrintParam.x, m_oPrintParam.y, m_oPrintParam.sFontPath, m_oPrintParam.size, m_oPrintParam.eAlign, m_oPrintParam.oColor.r, m_oPrintParam.oColor.g, m_oPrintParam.oColor.b, format, oArgs);

	switch (m_oPrintParam.eAlign)
	{
		case LeftTop:
		case CenterTop:
		case RightTop:

		case LeftCenter:
		case Center:
		case RightCenter:
			m_oPrintParam.y += m_oPrintParam.size;
			break;

		case LeftBottom:
		case CenterBottom:
		case RightBottom:
			m_oPrintParam.y -= m_oPrintParam.size;
			break;
	}

	va_end(oArgs);
}
int main(int argc, char *argv[]){

  Read *Read = CreateRead(65536+GUARD, 65535+GUARD);
  int32_t seqSize = 0, x, n;
  uint64_t cutted = 0, totalReads = 0;

  if(argc < 2 || ArgBin(0, argv, argc, "-h") || ArgBin(0, argv, argc, "?")){
    PrintArgs(argv[0]);
    return EXIT_SUCCESS;
    }
  
  int k             = ArgNum(5,  argv, argc, "-k", 0, 9999999);
  int min_QS_window = ArgNum(25, argv, argc, "-w", 0, 9999999);
  int min_QS        = ArgNum(33, argv, argc, "-m", 0, 9999999);

  fprintf(stderr, "Minimum QS: %d\n", min_QS);
 
  uint32_t position = 0;
  while(GetRead(stdin, Read)){

    seqSize = strlen((char *) Read->bases) - 1;

    for(x = seqSize ; x >= 0 ; x--){
      if(x >= k){

        int tmp_QS = 0;
        for(n = 0 ; n < k ; ++n){
          tmp_QS += ((int) Read->scores[x - 1 - n]) - min_QS;
          }

        if(((double) tmp_QS / k) < (double) min_QS_window){
          ++cutted;
          position = x;
          break;
          }
        }
      }

    ++totalReads;

    if(x > seqSize - k) continue;

    // PRINT READ
    fprintf(stdout, "@");
    for(n = 0 ; n < strlen((char *) Read->header1) ; ++n)
      fprintf(stdout, "%c", Read->header1[n]);
    for(n = position ; n < seqSize ; ++n)
      fprintf(stdout, "%c", Read->bases[n]);
    fprintf(stdout, "\n+\n");
    for(n = position ; n < seqSize ; ++n)
      fprintf(stdout, "%c", Read->scores[n]);
    fprintf(stdout, "\n");
    }

  fprintf(stderr, "Total reads    : %"PRIu64"\n", totalReads);
  fprintf(stderr, "Trimmed reads  : %"PRIu64"\n", cutted);

  FreeRead(Read);
  return EXIT_SUCCESS;
  }
示例#4
0
// Print the action name and the target.
void MHElemAction::PrintMe(FILE *fd, int nTabs) const
{
    PrintTabs(fd, nTabs);
    fprintf(fd, "%s (", m_ActionName);
    m_Target.PrintMe(fd, nTabs+1);
    PrintArgs(fd, nTabs+1); // Any other arguments must be handled by the subclass.
    fprintf(fd, ")\n");
}
示例#5
0
void CanvasBase::Print(sint32 x, sint32 y, const char* sFontPath, uint16 size, ETextAlign eAlign, const Color& oColor, const char* format, ... ) const
{
	va_list oArgs;
	va_start(oArgs, format);

	PrintArgs(x, y, sFontPath, size, eAlign, oColor.r, oColor.g, oColor.b, format, oArgs);

	va_end(oArgs);
}
示例#6
0
void CanvasBase::Print(sint32 x, sint32 y, const char* sFontPath, uint16 size, ETextAlign eAlign, uint8 r, uint8 g, uint8 b, const char* format, ... ) const
{
	va_list oArgs;
	va_start(oArgs, format);

	PrintArgs(x, y, sFontPath, size, eAlign, r, g, b, format, oArgs);

	va_end(oArgs);
}
示例#7
0
int main(){
	char s[200];
	char *argv[10];
	// Read a string from the user
	printf("Enter a string: ");
	fgets(s, sizeof s, stdin);
	// Extract arguments and print them
	ReadArgs(s, argv, 30);
	PrintArgs(argv);
}
示例#8
0
// Display a string
void Print(char *fmt, ...)
{
	va_list args;
	if (fmt == NULL)
	{
		return;
	}

	va_start(args, fmt);
	PrintArgs(fmt, args);
	va_end(args);
}
示例#9
0
// Display a debug string with arguments
void DebugArgs(char *fmt, va_list args)
{
	// Validate arguments
	if (fmt == NULL)
	{
		return;
	}
	if (g_debug == false)
	{
		return;
	}

	PrintArgs(fmt, args);
}
示例#10
0
文件: Str.c 项目: falcon8823/utvpn
// デバッグ文字列を引数付きで表示する
void DebugArgs(char *fmt, va_list args)
{
	// 引数チェック
	if (fmt == NULL)
	{
		return;
	}
	if (g_debug == false)
	{
		return;
	}

	PrintArgs(fmt, args);
}
示例#11
0
文件: q1.c 项目: LukeJaffe/coursework
int main()
{
    char s[200];

    char* argv[MAX_ARGS];
    int argc;

    /* Read a string from the user */
    printf("Enter a string: ");
    fgets(s, sizeof s, stdin);

    /* Remove newline character from input */
    s[strlen(s)-1] = '\0';

    /* Extract arguments and print them */
    ReadArgs(s, argv, MAX_ARGS);
    PrintArgs(argv); 

    return 0;
}
示例#12
0
文件: QSMax.c 项目: pratas/goose
int main(int argc, char *argv[]){

  Read *Read = CreateRead(65536+GUARD, 65535+GUARD);
  int32_t  seqSize = 0, x;
  uint64_t *QS = (uint64_t *) Calloc(65536, sizeof(uint64_t));
  
  if(ArgBin(0, argv, argc, "-h") || ArgBin(0, argv, argc, "?")){
    PrintArgs(argv[0]);
    return EXIT_SUCCESS;
    }

  while(GetRead(stdin, Read)){
    seqSize = strlen((char *) Read->bases) - 1;
    for(x = 0 ; x < seqSize ; ++x){
      int tmp_QS = (int) Read->scores[x];
      if(QS[x] < tmp_QS)
      QS[x] = tmp_QS;
      if(x == 65535){
        fprintf(stderr, "Error: read to long. Increase buffer!\n");
        exit(1);
        }
      }
    }

  int maxs = atoi(argv[argc-1]);

  for(x = 0 ; x < maxs ; ++x)
    fprintf(stdout, "%2d ", x+1);
  fprintf(stdout, "\n");
  for(x = 0 ; x < maxs ; ++x)
    fprintf(stdout, "--+");
  fprintf(stdout, "\n");
  for(x = 0 ; x < maxs ; ++x)
    fprintf(stdout, "%2d ", (int) QS[x]);
  fprintf(stdout, "\n");

  Free(QS, 0);
  FreeRead(Read);
  return EXIT_SUCCESS;
  }
示例#13
0
文件: q1.c 项目: LukeJaffe/coursework
void PrintCommand(struct Command* command)
{

    /* Check if line is empty */
    if (command->num_sub_commands == 0)
    {
        printf("Empty command.\n");
        return;
    }
     
    /* Check if line starts with <, >, & */
    if (command->sub_commands[0].argv[0] == NULL)
    {
        printf("Invalid command.\n");
        return;
    }

    int i;
    for (i = 0; i < command->num_sub_commands; i++)
    {
        printf("\nCommand %d:\n", i);
        PrintArgs(command->sub_commands[i].argv);
    }

    if (command->stdin_redirect == NULL)
        printf("\nRedirect stdin: NULL\n");
    else
        printf("\nRedirect stdin: %s\n", command->stdin_redirect);

    if (command->stdout_redirect == NULL)
        printf("Redirect stdout: NULL\n");
    else
        printf("Redirect stdout: %s\n", command->stdout_redirect);

    if (command->background)
        printf("Background: yes\n");
    else
        printf("Background: no\n");
}
示例#14
0
文件: FastqTrimm.c 项目: pratas/goose
int main(int argc, char *argv[]){

  Read *Read = CreateRead(65536+GUARD, 65535+GUARD);
  uint32_t seqSize = 0, totalQS = 0, N = 0, x, n;
  uint64_t okReads = 0, totalReads = 0;

  if(ArgBin(0, argv, argc, "-h") || ArgBin(0, argv, argc, "?")){
    PrintArgs(argv[0]);
    return EXIT_SUCCESS;
    }
  
  int max_n         = ArgNum(0,  argv, argc, "-n", 0, 9999999);
  int k             = ArgNum(5,  argv, argc, "-k", 0, 9999999);
  int min_QS_window = ArgNum(25, argv, argc, "-w", 0, 9999999);
  int min_avg_qs    = ArgNum(25, argv, argc, "-a", 0, 9999999);
  int min_read_size = ArgNum(35, argv, argc, "-m", 0, 9999999);
 
  // LOAD PARAMETERS
 
  while(GetRead(stdin, Read)){

    seqSize = strlen((char *) Read->bases) - 1;
    totalQS = 0;
    N       = 0;

    for(x = 0 ; x < seqSize ; ++x){
      if(Read->bases[x] == 'N'){
        ++N;
        }
      totalQS += ((int) Read->scores[x]) - 33; // PHRED +33

      if(x < seqSize - k){
        int tmp_QS = 0;
        for(n = 0 ; n < k ; ++n)
          tmp_QS += ((int) Read->scores[x + n]) - 33;
        if(tmp_QS / k < min_QS_window)
          break;
        }
      }

    ++totalReads;

    // EVALUATE TO DISCARD:
    if(N > max_n)                        continue;
    if((totalQS / seqSize) < min_avg_qs) continue;
    if(x < min_read_size)                continue;


    // PRINT READ
    for(n = 0 ; n < strlen((char *) Read->header1) ; ++n)
      fprintf(stdout, "%c", Read->header1[n]);
    for(n = 0 ; n < x ; ++n)
      fprintf(stdout, "%c", Read->bases[n]);
    fprintf(stdout, "\n+\n");
    for(n = 0 ; n < x ; ++n)
      fprintf(stdout, "%c", Read->scores[n]);
    fprintf(stdout, "\n");

    ++okReads;
    }

  fprintf(stderr, "Total reads    : %"PRIu64"\n", totalReads);
  fprintf(stderr, "Filtered reads : %"PRIu64"\n", totalReads-okReads);

  FreeRead(Read);
  return EXIT_SUCCESS;
  }
示例#15
0
文件: vaarg2.C 项目: VargMon/dd-wrt
int main (void)
{
double dummy = 0;
PrintArgs (dummy, 1.0, 2.0, 3.0, -1.0);
return 0;
}
示例#16
0
文件: vaarg3.C 项目: VargMon/dd-wrt
int main (void)
{
A dummy;
PrintArgs (dummy, dummy); // ERROR - cannot pass non-POD
return 0;
}