Line data Source code
1 : /*------------------------------------------------------------------------
2 : *
3 : * geqo_copy.c
4 : *
5 : * Portions Copyright (c) 1996-2017, 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 192 : geqo_copy(PlannerInfo *root, Chromosome *chromo1, Chromosome *chromo2,
46 : int string_length)
47 : {
48 : int i;
49 :
50 1152 : for (i = 0; i < string_length; i++)
51 960 : chromo1->string[i] = chromo2->string[i];
52 :
53 192 : chromo1->worth = chromo2->worth;
54 192 : }
|