Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  geqo_misc.c

  Sprache: C
 

/*------------------------------------------------------------------------
 *
 * geqo_misc.c
 *    misc. printout and debug stuff
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/backend/optimizer/geqo/geqo_misc.c
 *
 *-------------------------------------------------------------------------
 */


/* contributed by:
   =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
   *  Martin Utesch     * Institute of Automatic Control    *
   =        = University of Mining and Technology =
   *  utesch@aut.tu-freiberg.de  * Freiberg, Germany       *
   =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
 */


#include "postgres.h"

#include "optimizer/geqo_misc.h"


#ifdef GEQO_DEBUG


/*
 * avg_pool
 */

static double
avg_pool(Pool *pool)
{
 int   i;
 double  cumulative = 0.0;

 if (pool->size <= 0)
  elog(ERROR, "pool_size is zero");

 /*
  * Since the pool may contain multiple occurrences of DBL_MAX, divide by
  * pool->size before summing, not after, to avoid overflow.  This loses a
  * little in speed and accuracy, but this routine is only used for debug
  * printouts, so we don't care that much.
 */

 for (i = 0; i < pool->size; i++)
  cumulative += pool->data[i].worth / pool->size;

 return cumulative;
}

/* print_pool
 */

void
print_pool(FILE *fp, Pool *pool, int start, int stop)
{
 int   i,
    j;

 /* be extra careful that start and stop are valid inputs */

 if (start < 0)
  start = 0;
 if (stop > pool->size)
  stop = pool->size;

 if (start + stop > pool->size)
 {
  start = 0;
  stop = pool->size;
 }

 for (i = start; i < stop; i++)
 {
  fprintf(fp, "%d)\t", i);
  for (j = 0; j < pool->string_length; j++)
   fprintf(fp, "%d ", pool->data[i].string[j]);
  fprintf(fp, "%g\n", pool->data[i].worth);
 }

 fflush(fp);
}

/* print_gen
 *
 *  printout for chromosome: best, worst, mean, average
 */

void
print_gen(FILE *fp, Pool *pool, int generation)
{
 int   lowest;

 /* Get index to lowest ranking gene in population. */
 /* Use 2nd to last since last is buffer. */
 lowest = pool->size > 1 ? pool->size - 2 : 0;

 fprintf(fp,
   "%5d | Best: %g  Worst: %g  Mean: %g  Avg: %g\n",
   generation,
   pool->data[0].worth,
   pool->data[lowest].worth,
   pool->data[pool->size / 2].worth,
   avg_pool(pool));

 fflush(fp);
}


void
print_edge_table(FILE *fp, Edge *edge_table, int num_gene)
{
 int   i,
    j;

 fprintf(fp, "\nEDGE TABLE\n");

 for (i = 1; i <= num_gene; i++)
 {
  fprintf(fp, "%d :", i);
  for (j = 0; j < edge_table[i].unused_edges; j++)
   fprintf(fp, " %d", edge_table[i].edge_list[j]);
  fprintf(fp, "\n");
 }

 fprintf(fp, "\n");

 fflush(fp);
}

#endif       /* GEQO_DEBUG */

Messung V0.5 in Prozent
C=93 H=92 G=92

¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=141584
#Domains=752002