Line data Source code
1 : /*------------------------------------------------------------------------ 2 : * 3 : * geqo_copy.c 4 : * 5 : * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group 6 : * Portions Copyright (c) 1994, Regents of the University of California 7 : * 8 : * src/backend/optimizer/geqo/geqo_copy.c 9 : * 10 : *------------------------------------------------------------------------- 11 : */ 12 : 13 : /* contributed by: 14 : =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 15 : * Martin Utesch * Institute of Automatic Control * 16 : = = University of Mining and Technology = 17 : * utesch@aut.tu-freiberg.de * Freiberg, Germany * 18 : =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 19 : */ 20 : 21 : /* this is adopted from D. Whitley's Genitor algorithm */ 22 : 23 : /*************************************************************/ 24 : /* */ 25 : /* Copyright (c) 1990 */ 26 : /* Darrell L. Whitley */ 27 : /* Computer Science Department */ 28 : /* Colorado State University */ 29 : /* */ 30 : /* Permission is hereby granted to copy all or any part of */ 31 : /* this program for free distribution. The author's name */ 32 : /* and this copyright notice must be included in any copy. */ 33 : /* */ 34 : /*************************************************************/ 35 : 36 : #include "postgres.h" 37 : #include "optimizer/geqo_copy.h" 38 : 39 : /* geqo_copy 40 : * 41 : * copies one gene to another 42 : * 43 : */ 44 : void 45 1152 : geqo_copy(PlannerInfo *root, Chromosome *chromo1, Chromosome *chromo2, 46 : int string_length) 47 : { 48 : int i; 49 : 50 6912 : for (i = 0; i < string_length; i++) 51 5760 : chromo1->string[i] = chromo2->string[i]; 52 : 53 1152 : chromo1->worth = chromo2->worth; 54 1152 : }