コード例 #1
0
static void
round_str (FILE *fout, const char *s, int prec, int emin, int emax,
	   bool ibm_ld)
{
  mpfr_t f;
  mpfr_set_default_prec (prec);
  mpfr_set_emin (emin);
  mpfr_set_emax (emax);
  mpfr_init (f);
  int r = string_to_fp (f, s, MPFR_RNDD);
  if (ibm_ld)
    {
      assert (prec == 106 && emin == -1073 && emax == 1024);
      /* The maximum value in IBM long double has discontiguous
	 mantissa bits.  */
      mpfr_t max_value;
      mpfr_init2 (max_value, 107);
      mpfr_set_str (max_value, "0x1.fffffffffffff7ffffffffffffcp+1023", 0,
		    MPFR_RNDN);
      if (mpfr_cmpabs (f, max_value) > 0)
	r = 1;
      mpfr_clear (max_value);
    }
  mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true");
  print_fp (fout, f, ",\n");
  string_to_fp (f, s, MPFR_RNDN);
  print_fp (fout, f, ",\n");
  string_to_fp (f, s, MPFR_RNDZ);
  print_fp (fout, f, ",\n");
  string_to_fp (f, s, MPFR_RNDU);
  print_fp (fout, f, "");
  mpfr_clear (f);
}
コード例 #2
0
ファイル: proposal_setup.c プロジェクト: arashmahdian/samples
void display_proposal_info(proposal_info_type *info) {
    
    print_nl();
    print_nl();
    
    print_str("*************************************************\n");
    print_str("Title: ");
    print_str(info->title);
    print_nl();
    
    print_str("Start Date: ");
    
    if (info->start_date.month !=0)  {
		print_date(info->start_date);
    }

    print_nl();
    print_str("End Date: ");
    
    if (info->end_date.month !=0)  {
		print_date(info->end_date);
    }
    
    print_nl();
    
    print_str("Fee/Profit: ");
    print_fp(info->fee);
    print_nl();
    print_str("*************************************************\n");
    
}
コード例 #3
0
ファイル: search.c プロジェクト: vab/cks
int  retrieve_key_info(PGconn *conn, char *fingerprint)
{
	PGresult *result0 = NULL;
	PGresult *result1 = NULL;

	unsigned int nts = 0;

	char query0[200];
	char query1[155];
	unsigned char buff[650];


	snprintf(query0,199,"select fp, key_id, algorithm, size, c_time, e_time, revoked from \
                           cks_key_info_table where fp='%s'", fingerprint);
	snprintf(query1,150,"select  DISTINCT(uid) from cks_uid_table where fp='%s'", fingerprint);

	result0 = PQexec(conn, query0);
	if((PQresultStatus(result0) != PGRES_TUPLES_OK) && (PQresultStatus(result0) != PGRES_COMMAND_OK))
	{
		fprintf(stderr,_("search.c:  Command didn't return tuples properly.\n"));
		fprintf(stderr,_("search.c:  Failing Query: %s\n"),query0);
		PQclear(result0);
		db_exit_nicely(conn);
	}
	if(PQntuples(result0) == 0)
	{
		printf(_("Error:  No Records Found.\n"));
		printf("<br></br>\n");
		printf(_("A Database error Occured.\n"));
		printf(_("Child records appear to be missing.\n"));
		printf(_("Logging Internal Data Corruption...\n"));
		printf(_("Please try another key, or try the same key on another server.\n"));
	}
	else
	{
		result1 = PQexec(conn, query1);
		if((PQresultStatus(result1) != PGRES_TUPLES_OK) && (PQresultStatus(result1) != PGRES_COMMAND_OK))
		{
			fprintf(stderr, _("search.c:  Command didn't return tuples properly.\n"));
			fprintf(stderr, _("search.c:  Failing Query: %s\n"),query1);
			PQclear(result1);
			db_exit_nicely(conn);
		}
		nts = PQntuples(result1);
		if(nts == 0)
		{
			printf(_("No Records Found.\n"));
		}
		else
		{
			int i = 0;
			int revoked = 0;
			unsigned char algo[4];
			unsigned char algo_id = 0x00;
			long expiration_time = 0;
			long creation_time = 0;
			unsigned char creation_time_str[27];
			long current_time = 0;

			current_time = time(NULL);
			memset(creation_time_str,0x00,27);

			algo_id = atoi(PQgetvalue(result0,0,2));
			set_pk_algo_type(algo_id,algo);

			creation_time = 0;
			expiration_time = 0;
			revoked = 0;

			creation_time = atol(PQgetvalue(result0,0,4));
			expiration_time = atol(PQgetvalue(result0,0,5));
			revoked = atoi(PQgetvalue(result0,0,6));

			printf("<pre>\n");
			if(revoked == 1)
			{
				printf(_("<h3><font color=\"RED\">* KEY REVOKED *</font></h3>\n"));
			}
			if( (expiration_time != 0) && (current_time >= expiration_time) )
			{
				printf(_("<h3><font color=\"RED\">* KEY EXPIRED *</font></h3>\n"));
			}
			printf(_("Key ID           Algorithm/Size     Creation Time"));
			if(expiration_time != 0)
			{
				printf(_("                   Expiration Time"));
			}
			printf("\n");
			printf("0x%s       %s/%s           ", PQgetvalue(result0,0,1),algo,PQgetvalue(result0,0,3));

			if(expiration_time != 0)
			{
				creation_time_str[0] = '\0';
				snprintf(creation_time_str,26,"%s",ctime(&(creation_time)));
				creation_time_str[26] = '\0';
				printf("%s        %s",creation_time_str, ctime(&(expiration_time)));
			}
			else
			{
				printf("%s", ctime(&(creation_time)));
			}

			printf("\n");
			printf(_("<li>Fingerprint: <a href=\"search.cgi?stype=fp&fp="));
			printf("%s\">",fingerprint);
			print_fp(fingerprint);
			printf("</a></li>\n");
			printf("<ul>\n");

			for(i=0;i<nts;i++)
			{
				printf(_("\n<li>User ID: "));
				strncpy(buff,PQgetvalue(result1,i,0),649);
				print_sig_data(buff);
				printf("</li>\n");
				buff[0]='\0';
			}
			printf("</ul>\n");
			printf("</pre>\n");
			printf("<hr size=\"1\" width=\"100%%\">\n");
			fflush(0);
		}
	}

	PQclear(result0);
	PQclear(result1);
	printf("\n");


	return 0;
}