<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Macro</title><link>https://sourceforge.net/p/ugp3/wiki/Macro/</link><description>Recent changes to Macro</description><atom:link href="https://sourceforge.net/p/ugp3/wiki/Macro/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 29 Jun 2015 15:06:30 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ugp3/wiki/Macro/feed" rel="self" type="application/rss+xml"/><item><title>Macro modified by Alberto Tonda</title><link>https://sourceforge.net/p/ugp3/wiki/Macro/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -1,4 +1,6 @@
 # Macros
+
+Macros describe the possible values that a specific node can assume, inside the constrained tagged graph of µGP's individuals. Macros can feature fixed, immutable parts, and several parameters, that can be changed by the evolutionary algorithm.

 ## Attributes

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alberto Tonda</dc:creator><pubDate>Mon, 29 Jun 2015 15:06:30 -0000</pubDate><guid>https://sourceforge.neta088f9523e376c0fc4688027468ed32fd26815c3</guid></item><item><title>Macro modified by Alberto Tonda</title><link>https://sourceforge.net/p/ugp3/wiki/Macro/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -132,6 +132,7 @@
     [1]  
     [2]  
 &amp;lt;/item&amp;gt;
+~~~~

 ## Examples

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alberto Tonda</dc:creator><pubDate>Mon, 08 Jun 2015 10:05:04 -0000</pubDate><guid>https://sourceforge.netf6f8d7e8a519f0e2c224bbe4053af4c8f8462e11</guid></item><item><title>Macro modified by Giovanni Squillero</title><link>https://sourceforge.net/p/ugp3/wiki/Macro/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -2,13 +2,13 @@

 ## Attributes

-*id* The name of the macro  
+**id** The name of the macro  

-*weight* Relative chance for the macro to appear in the subsection. Whenever µGP must add a random macro, it decides which macro using a roulette wheel with each slice proportional in size to the *weight*. Defaults to 1.0.  
+**weight** Relative chance for the macro to appear in the subsection. Whenever µGP must add a random macro, it decides which macro using a roulette wheel with each slice proportional in size to the *weight*. Defaults to 1.0.  

 ## Expression

-The text of the macro. It is composed of a fixed text with some *parameters* (i.e., placeholders) that µGP will fill with appropriate values. Placeholders must refer to existing parameters through the *ref* attribute. For instance:
+The text of the macro. It is composed of a fixed text with some *parameters* (i.e., placeholders) that µGP will fill with appropriate values. Placeholders must refer to existing parameters through the *ref* attribute. For instance:

 ~~~~ xml
 &amp;lt;expression&amp;gt;
@@ -20,9 +20,9 @@
 &amp;lt;/expression&amp;gt;
 ~~~~ 

-During the evolution, µGP will create values for parameters *foo* and *bar*. When the individual is dumped to a file, such placeholders would be replaced by the actual values.
+During the evolution, µGP will create values for parameters *foo* and *bar*. When the individual is dumped to a file, such placeholders would be replaced by the actual values.

-Please note that the first and last placeholders both refer to parameters *foo*. Thus, they will be filled with the same value. For instance, lets imagine that µGP picks the value **GROUCHO** for *foo*, and **HARPO** for *bar*. The resulting output would be:
+Please note that the first and last placeholders both refer to parameters *foo*. Thus, they will be filled with the same value. For instance, lets imagine that µGP picks the value **GROUCHO** for *foo*, and **HARPO** for *bar*. The resulting output would be:

 ~~~~ 
 Any number of lines free text
@@ -34,7 +34,7 @@

 ## Parameters

-µGP allows to specify the type of parameters in the *parameters* section.
+µGP allows to specify the type of parameters in the *parameters* section.

 ~~~~ xml
 &amp;lt;parameters&amp;gt;  
@@ -48,13 +48,13 @@

 ### Numeric Parameters

-*Integer* An integer number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  
+**Integer** An integer number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  

 ~~~~ xml
 &amp;lt;item name="dwarf" type="integer" minimum="1" maximum="7"/&amp;gt;
 ~~~~ 

-*Float* A floating point number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  
+**Float** A floating point number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  

 ~~~~ xml
 &amp;lt;item name="angle" type="float" minimum="0" maximum="3.141592653"/&amp;gt;
@@ -62,13 +62,13 @@

 ### String Parameters

-*Bit Arrays* An array of bits. The attribute `length="''len''"` specifies the number of bits in the array. The `pattern="''mask''"` attribute allows to specify a bit mask. For instance, `pattern="0--1"` will specify a bit array of 4 bits, with the first stuck to zero and the last stuck to one. The only available values of the parameter would be: `0001`, `0011`, `0101`, and `0111`. Indeed, this is terribly useful when the value is used to program a peripheral. Finally, it is possible to define which the numeric base is used to dump the array into the file: `base="''bin|oct|hex''"`. Example:  
+**Bit Arrays** An array of bits. The attribute `length="''len''"` specifies the number of bits in the array. The `pattern="''mask''"` attribute allows to specify a bit mask. For instance, `pattern="0--1"` will specify a bit array of 4 bits, with the first stuck to zero and the last stuck to one. The only available values of the parameter would be: `0001`, `0011`, `0101`, and `0111`. Indeed, this is terribly useful when the value is used to program a peripheral. Finally, it is possible to define which the numeric base is used to dump the array into the file: `base="''bin|oct|hex''"`. Example:  

 ~~~~ xml
 &amp;lt;item name="base_ascii" type="bitArray" length="8" pattern="0-------" base="hex"/&amp;gt;
 ~~~~ 

-*Constants* A constant string in a defined set. The elements `&amp;lt;value&amp;gt;''string''&amp;lt;/value&amp;gt;` defines the possible values. Example:  
+**Constants** A constant string in a defined set. The elements `&amp;lt;value&amp;gt;''string''&amp;lt;/value&amp;gt;` defines the possible values. Example:  

 ~~~~
 &amp;lt;item name="brother" type="constant"&amp;gt;  
@@ -80,19 +80,19 @@
 &amp;lt;/item&amp;gt;
 ~~~~ 

-*UniqueTag* A string guaranteed to be unique in the current run. It may be useful to create loops (jumps) or variables. No attributes. Example:  
+**UniqueTag** A string guaranteed to be unique in the current run. It may be useful to create loops (jumps) or variables. No attributes. Example:  

 ~~~~ xml
 &amp;lt;item name="dest" type="uniqueTag"/&amp;gt;
 ~~~~

-*Environment* The value of a variable in the operating environment[1](http://en.wikipedia.org/wiki/Environment_variable). It may be useful to link the behavior to the operating system condition, or to tweak the evolution from the external. The attribute `variable="''var''"` specifies the name of the variable. Example:  
+**Environment** The value of a variable in the operating environment[1](http://en.wikipedia.org/wiki/Environment_variable). It may be useful to link the behavior to the operating system condition, or to tweak the evolution from the external. The attribute `variable="''var''"` specifies the name of the variable. Example:  

 ~~~~ xml
 &amp;lt;item name="os_info" type="environment" variable="TERM"/&amp;gt;
 ~~~~

-*SelfRef* The name of the very same macro instance. No attributes.  
+**SelfRef** The name of the very same macro instance. No attributes.  

 ~~~~ xml
 &amp;lt;item name="ego" type="selfRef"/&amp;gt;
@@ -103,19 +103,19 @@
 Parameters can specify a reference to a different macro inside the same
 subsection. This is usually used to implement branches and jumps.

-*innerGenericLabel* A reference to a generic macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target. This can be useful because the prologue may be used to define the header of functions, with a peculiar *label format*, and try to jump to it would generate a syntax error. Finally, the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  
+**innerGenericLabel** A reference to a generic macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target. This can be useful because the prologue may be used to define the header of functions, with a peculiar *label format*, and try to jump to it would generate a syntax error. Finally, the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  

 ~~~~ xml
 &amp;lt;item name="free_jump" type="innerGenericLabel" prologue="false" epilogue="true" itself="false"/&amp;gt;
 ~~~~ 

-*innerBackwardLabel* A reference to a preceding macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  
+**innerBackwardLabel** A reference to a preceding macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  

 ~~~~ xml
 &amp;lt;item name="back_jump" type="innerBackwardLabel" prologue="false" itself="true"/&amp;gt;
 ~~~~

-*innerForwardLabel* A reference to a following macro. The attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Useful to createa code with no loops. Example:  
+**innerForwardLabel** A reference to a following macro. The attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Useful to createa code with no loops. Example:  

 ~~~~ xml
 &amp;lt;item name="safe_jump" type="innerForwardLabel" epilogue="true" itself="false"/&amp;gt;
@@ -125,7 +125,7 @@

 Parameters can specify a reference to a different subsection. Inter-section references always refers to the prologue of the subsection.

-*outerLabel* A reference to a different subsection. The elements `&amp;lt;ref&amp;gt;` defines the list of possible targets. Each one has the attribute `section="''section name''"` that specifies the name of the target section, and the attribute `subsection="''subsection name''"` that specifies the name of the target subsection inside the specified section. Remember that more instances of the same subsection may exists in the a section. Example:  
+**outerLabel** A reference to a different subsection. The elements `&amp;lt;ref&amp;gt;` defines the list of possible targets. Each one has the attribute `section="''section name''"` that specifies the name of the target section, and the attribute `subsection="''subsection name''"` that specifies the name of the target subsection inside the specified section. Remember that more instances of the same subsection may exists in the a section. Example:  

 ~~~~ xml
 &amp;lt;item name="call" type="outerLabel"&amp;gt;  
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Squillero</dc:creator><pubDate>Mon, 13 Oct 2014 08:26:36 -0000</pubDate><guid>https://sourceforge.net544e1b36d30286766d776b68dce533ac6a28a267</guid></item><item><title>Macro modified by Giovanni Squillero</title><link>https://sourceforge.net/p/ugp3/wiki/Macro/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -2,9 +2,9 @@

 ## Attributes

-id : The name of the macro  
+*id* The name of the macro  

-weight : Relative chance for the macro to appear in the subsection. Whenever µGP must add a random macro, it decides which macro using a roulette wheel with each slice proportional in size to the *weight*. Defaults to 1.0.  
+*weight* Relative chance for the macro to appear in the subsection. Whenever µGP must add a random macro, it decides which macro using a roulette wheel with each slice proportional in size to the *weight*. Defaults to 1.0.  

 ## Expression

@@ -48,13 +48,13 @@

 ### Numeric Parameters

-Integer : An integer number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  
+*Integer* An integer number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  

 ~~~~ xml
 &amp;lt;item name="dwarf" type="integer" minimum="1" maximum="7"/&amp;gt;
 ~~~~ 

-Float : A floating point number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  
+*Float* A floating point number. The attributes defines the range: `minimum="''range start''"` and `maximum="''range end''"`. No defaults are provided. All attributes are compulsory. Example:  

 ~~~~ xml
 &amp;lt;item name="angle" type="float" minimum="0" maximum="3.141592653"/&amp;gt;
@@ -62,13 +62,13 @@

 ### String Parameters

-Bit Arrays : An array of bits. The attribute `length="''len''"` specifies the number of bits in the array. The `pattern="''mask''"` attribute allows to specify a bit mask. For instance, `pattern="0--1"` will specify a bit array of 4 bits, with the first stuck to zero and the last stuck to one. The only available values of the parameter would be: `0001`, `0011`, `0101`, and `0111`. Indeed, this is terribly useful when the value is used to program a peripheral. Finally, it is possible to define which the numeric base is used to dump the array into the file: `base="''bin|oct|hex''"`. Example:  
+*Bit Arrays* An array of bits. The attribute `length="''len''"` specifies the number of bits in the array. The `pattern="''mask''"` attribute allows to specify a bit mask. For instance, `pattern="0--1"` will specify a bit array of 4 bits, with the first stuck to zero and the last stuck to one. The only available values of the parameter would be: `0001`, `0011`, `0101`, and `0111`. Indeed, this is terribly useful when the value is used to program a peripheral. Finally, it is possible to define which the numeric base is used to dump the array into the file: `base="''bin|oct|hex''"`. Example:  

 ~~~~ xml
 &amp;lt;item name="base_ascii" type="bitArray" length="8" pattern="0-------" base="hex"/&amp;gt;
 ~~~~ 

-Constants : A constant string in a defined set. The elements `&amp;lt;value&amp;gt;''string''&amp;lt;/value&amp;gt;` defines the possible values. Example:  
+*Constants* A constant string in a defined set. The elements `&amp;lt;value&amp;gt;''string''&amp;lt;/value&amp;gt;` defines the possible values. Example:  

 ~~~~
 &amp;lt;item name="brother" type="constant"&amp;gt;  
@@ -80,19 +80,19 @@
 &amp;lt;/item&amp;gt;
 ~~~~ 

-UniqueTag : A string guaranteed to be unique in the current run. It may be useful to create loops (jumps) or variables. No attributes. Example:  
+*UniqueTag* A string guaranteed to be unique in the current run. It may be useful to create loops (jumps) or variables. No attributes. Example:  

 ~~~~ xml
 &amp;lt;item name="dest" type="uniqueTag"/&amp;gt;
 ~~~~

-Environment : The value of a variable in the operating environment[1](http://en.wikipedia.org/wiki/Environment_variable). It may be useful to link the behavior to the operating system condition, or to tweak the evolution from the external. The attribute `variable="''var''"` specifies the name of the variable. Example:  
+*Environment* The value of a variable in the operating environment[1](http://en.wikipedia.org/wiki/Environment_variable). It may be useful to link the behavior to the operating system condition, or to tweak the evolution from the external. The attribute `variable="''var''"` specifies the name of the variable. Example:  

 ~~~~ xml
 &amp;lt;item name="os_info" type="environment" variable="TERM"/&amp;gt;
 ~~~~

-SelfRef : The name of the very same macro instance. No attributes.  
+*SelfRef* The name of the very same macro instance. No attributes.  

 ~~~~ xml
 &amp;lt;item name="ego" type="selfRef"/&amp;gt;
@@ -103,19 +103,19 @@
 Parameters can specify a reference to a different macro inside the same
 subsection. This is usually used to implement branches and jumps.

-innerGenericLabel : A reference to a generic macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target. This can be useful because the prologue may be used to define the header of functions, with a peculiar *label format*, and try to jump to it would generate a syntax error. Finally, the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  
+*innerGenericLabel* A reference to a generic macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target. This can be useful because the prologue may be used to define the header of functions, with a peculiar *label format*, and try to jump to it would generate a syntax error. Finally, the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  

 ~~~~ xml
 &amp;lt;item name="free_jump" type="innerGenericLabel" prologue="false" epilogue="true" itself="false"/&amp;gt;
 ~~~~ 

-innerBackwardLabel : A reference to a preceding macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  
+*innerBackwardLabel* A reference to a preceding macro. The attribute `prologue="''true|false''"` specifies if the prologue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Example:  

 ~~~~ xml
 &amp;lt;item name="back_jump" type="innerBackwardLabel" prologue="false" itself="true"/&amp;gt;
 ~~~~

-innerForwardLabel : A reference to a following macro. The attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Useful to createa code with no loops. Example:  
+*innerForwardLabel* A reference to a following macro. The attribute `epilogue="''true|false''"` specifies if the epilogue may be a potential target, while the attribute `itself="''true|false''"` specifies if the macro itself may be a potential target. Useful to createa code with no loops. Example:  

 ~~~~ xml
 &amp;lt;item name="safe_jump" type="innerForwardLabel" epilogue="true" itself="false"/&amp;gt;
@@ -125,7 +125,7 @@

 Parameters can specify a reference to a different subsection. Inter-section references always refers to the prologue of the subsection.

-outerLabel : A reference to a different subsection. The elements `&amp;lt;ref&amp;gt;` defines the list of possible targets. Each one has the attribute `section="''section name''"` that specifies the name of the target section, and the attribute `subsection="''subsection name''"` that specifies the name of the target subsection inside the specified section. Remember that more instances of the same subsection may exists in the a section. Example:  
+*outerLabel* A reference to a different subsection. The elements `&amp;lt;ref&amp;gt;` defines the list of possible targets. Each one has the attribute `section="''section name''"` that specifies the name of the target section, and the attribute `subsection="''subsection name''"` that specifies the name of the target subsection inside the specified section. Remember that more instances of the same subsection may exists in the a section. Example:  

 ~~~~ xml
 &amp;lt;item name="call" type="outerLabel"&amp;gt;  
@@ -164,10 +164,3 @@
 Hey, this is a floating point number between 0 and 1: 0.999999
 ...
 ~~~~
-
-Check [How to write population's constraints](How to write population's constraints "wikilink") for a
-complete example of top-down construction of population's constraints.
-
-[1] 
-
-[2] 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Squillero</dc:creator><pubDate>Mon, 13 Oct 2014 08:25:31 -0000</pubDate><guid>https://sourceforge.net67c7b115e51a1adf5734fbb3f128ec153cbd35cb</guid></item><item><title>Macro modified by Giovanni Squillero</title><link>https://sourceforge.net/p/ugp3/wiki/Macro/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="macros"&gt;Macros&lt;/h1&gt;
&lt;h2 id="attributes"&gt;Attributes&lt;/h2&gt;
&lt;p&gt;id : The name of the macro&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;weight : Relative chance for the macro to appear in the subsection. Whenever µGP must add a random macro, it decides which macro using a roulette wheel with each slice proportional in size to the &lt;em&gt;weight&lt;/em&gt;. Defaults to 1.0.&lt;br /&gt;
&lt;/p&gt;
&lt;h2 id="expression"&gt;Expression&lt;/h2&gt;
&lt;p&gt;The text of the macro. It is composed of a fixed text with some &lt;em&gt;parameters&lt;/em&gt; (i.e., placeholders) that µGP will fill with appropriate values. Placeholders must refer to existing parameters through the &lt;em&gt;ref&lt;/em&gt; attribute. For instance:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;expression&amp;gt;&lt;/span&gt;
    Any number of lines free text
    Any number of lines free text
    These are two placeholders `&lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"foo"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;` and `&lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"bar"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;`!
    More free text (if needed)
    The last parameter: `&lt;span class="nt"&gt;&amp;lt;param&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"foo"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;` (please note that it uses the same "ref" as the first one)
&lt;span class="nt"&gt;&amp;lt;/expression&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;During the evolution, µGP will create values for parameters &lt;em&gt;foo&lt;/em&gt; and &lt;em&gt;bar&lt;/em&gt;. When the individual is dumped to a file, such placeholders would be replaced by the actual values.&lt;/p&gt;
&lt;p&gt;Please note that the first and last placeholders both refer to parameters &lt;em&gt;foo&lt;/em&gt;. Thus, they will be filled with the same value. For instance, lets imagine that µGP picks the value &lt;strong&gt;GROUCHO&lt;/strong&gt; for &lt;em&gt;foo&lt;/em&gt;, and &lt;strong&gt;HARPO&lt;/strong&gt; for &lt;em&gt;bar&lt;/em&gt;. The resulting output would be:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Any&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;number&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;free&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;
&lt;span class="n"&gt;Any&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;number&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;of&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;free&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;
&lt;span class="n"&gt;These&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;are&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;two&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;placeholders&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;GROUCHO&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;and&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;HARPO&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;
&lt;span class="n"&gt;More&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;free&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;needed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;The&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;last&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;parameter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;GROUCHO&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;please&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;note&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;that&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;uses&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;same&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"ref"&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;as&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;one&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="parameters"&gt;Parameters&lt;/h2&gt;
&lt;p&gt;µGP allows to specify the type of parameters in the &lt;em&gt;parameters&lt;/em&gt; section.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;parameters&amp;gt;&lt;/span&gt;  
    &lt;span class="nt"&gt;&amp;lt;item&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"''ref1''"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"''type''"&lt;/span&gt; &lt;span class="err"&gt;''parameter&lt;/span&gt; &lt;span class="err"&gt;definition&lt;/span&gt; &lt;span class="err"&gt;attributes''&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;  
    &lt;span class="nt"&gt;&amp;lt;item&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"''ref2''"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"''type''"&lt;/span&gt; &lt;span class="err"&gt;''parameter&lt;/span&gt; &lt;span class="err"&gt;definition&lt;/span&gt; &lt;span class="err"&gt;attributes''&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;  
    ...  
&lt;span class="nt"&gt;&amp;lt;/parameters&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;All parameters are characterized by a &lt;em&gt;name&lt;/em&gt; and a &lt;em&gt;type&lt;/em&gt;. Other attributes depend on the type. The &lt;em&gt;name&lt;/em&gt; of the parameters must match the &lt;em&gt;ref&lt;/em&gt; inside the &lt;em&gt;expression&lt;/em&gt;.&lt;/p&gt;
&lt;h3 id="numeric-parameters"&gt;Numeric Parameters&lt;/h3&gt;
&lt;p&gt;Integer : An integer number. The attributes defines the range: &lt;code&gt;minimum="''range start''"&lt;/code&gt; and &lt;code&gt;maximum="''range end''"&lt;/code&gt;. No defaults are provided. All attributes are compulsory. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"dwarf"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"integer"&lt;/span&gt; &lt;span class="n"&gt;minimum&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt; &lt;span class="n"&gt;maximum&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"7"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Float : A floating point number. The attributes defines the range: &lt;code&gt;minimum="''range start''"&lt;/code&gt; and &lt;code&gt;maximum="''range end''"&lt;/code&gt;. No defaults are provided. All attributes are compulsory. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"angle"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt; &lt;span class="n"&gt;minimum&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt; &lt;span class="n"&gt;maximum&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"3.141592653"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id="string-parameters"&gt;String Parameters&lt;/h3&gt;
&lt;p&gt;Bit Arrays : An array of bits. The attribute &lt;code&gt;length="''len''"&lt;/code&gt; specifies the number of bits in the array. The &lt;code&gt;pattern="''mask''"&lt;/code&gt; attribute allows to specify a bit mask. For instance, &lt;code&gt;pattern="0--1"&lt;/code&gt; will specify a bit array of 4 bits, with the first stuck to zero and the last stuck to one. The only available values of the parameter would be: &lt;code&gt;0001&lt;/code&gt;, &lt;code&gt;0011&lt;/code&gt;, &lt;code&gt;0101&lt;/code&gt;, and &lt;code&gt;0111&lt;/code&gt;. Indeed, this is terribly useful when the value is used to program a peripheral. Finally, it is possible to define which the numeric base is used to dump the array into the file: &lt;code&gt;base="''bin|oct|hex''"&lt;/code&gt;. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"base_ascii"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bitArray"&lt;/span&gt; &lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"8"&lt;/span&gt; &lt;span class="n"&gt;pattern&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0-------"&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"hex"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Constants : A constant string in a defined set. The elements &lt;code&gt;&amp;lt;value&amp;gt;''string''&amp;lt;/value&amp;gt;&lt;/code&gt; defines the possible values. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;item&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"brother"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"constant"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;  
    &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;`CHICO`&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;`HARPO`&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;  
    &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;`GROUCHO`&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;  
    &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;`GUMMO`&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;  
    &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;`ZEPPO`&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;  
&lt;span class="nt"&gt;&amp;lt;/item&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;UniqueTag : A string guaranteed to be unique in the current run. It may be useful to create loops (jumps) or variables. No attributes. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"dest"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"uniqueTag"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Environment : The value of a variable in the operating environment&lt;a class="" href="http://en.wikipedia.org/wiki/Environment_variable" rel="nofollow"&gt;1&lt;/a&gt;. It may be useful to link the behavior to the operating system condition, or to tweak the evolution from the external. The attribute &lt;code&gt;variable="''var''"&lt;/code&gt; specifies the name of the variable. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"os_info"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"environment"&lt;/span&gt; &lt;span class="n"&gt;variable&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"TERM"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;SelfRef : The name of the very same macro instance. No attributes.&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"ego"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"selfRef"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id="intra-section-references"&gt;Intra-section References&lt;/h3&gt;
&lt;p&gt;Parameters can specify a reference to a different macro inside the same&lt;br /&gt;
subsection. This is usually used to implement branches and jumps.&lt;/p&gt;
&lt;p&gt;innerGenericLabel : A reference to a generic macro. The attribute &lt;code&gt;prologue="''true|false''"&lt;/code&gt; specifies if the prologue may be a potential target, while the attribute &lt;code&gt;epilogue="''true|false''"&lt;/code&gt; specifies if the epilogue may be a potential target. This can be useful because the prologue may be used to define the header of functions, with a peculiar &lt;em&gt;label format&lt;/em&gt;, and try to jump to it would generate a syntax error. Finally, the attribute &lt;code&gt;itself="''true|false''"&lt;/code&gt; specifies if the macro itself may be a potential target. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"free_jump"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"innerGenericLabel"&lt;/span&gt; &lt;span class="n"&gt;prologue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt; &lt;span class="n"&gt;epilogue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="n"&gt;itself&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;innerBackwardLabel : A reference to a preceding macro. The attribute &lt;code&gt;prologue="''true|false''"&lt;/code&gt; specifies if the prologue may be a potential target, while the attribute &lt;code&gt;itself="''true|false''"&lt;/code&gt; specifies if the macro itself may be a potential target. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"back_jump"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"innerBackwardLabel"&lt;/span&gt; &lt;span class="n"&gt;prologue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt; &lt;span class="n"&gt;itself&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;innerForwardLabel : A reference to a following macro. The attribute &lt;code&gt;epilogue="''true|false''"&lt;/code&gt; specifies if the epilogue may be a potential target, while the attribute &lt;code&gt;itself="''true|false''"&lt;/code&gt; specifies if the macro itself may be a potential target. Useful to createa code with no loops. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"safe_jump"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"innerForwardLabel"&lt;/span&gt; &lt;span class="n"&gt;epilogue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="n"&gt;itself&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id="inter-section-references"&gt;Inter-section References&lt;/h3&gt;
&lt;p&gt;Parameters can specify a reference to a different subsection. Inter-section references always refers to the prologue of the subsection.&lt;/p&gt;
&lt;p&gt;outerLabel : A reference to a different subsection. The elements &lt;code&gt;&amp;lt;ref&amp;gt;&lt;/code&gt; defines the list of possible targets. Each one has the attribute &lt;code&gt;section="''section name''"&lt;/code&gt; that specifies the name of the target section, and the attribute &lt;code&gt;subsection="''subsection name''"&lt;/code&gt; that specifies the name of the target subsection inside the specified section. Remember that more instances of the same subsection may exists in the a section. Example:&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;item&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"call"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"outerLabel"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;  
    &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;  
    &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;  
&lt;span class="nt"&gt;&amp;lt;/item&amp;gt;&lt;/span&gt;

## Examples

If you'd like your individuals to contain a portion of text like:

`Hey, this is a floating point number between 0 and 1: 0.563986`

The appropriate syntax will be something like this:
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;lt;macro id="hey" weight="1"&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;code&gt;Hey, this is a floating point number between 0 and 1:&lt;/code&gt;&amp;lt;param ref="p"/&amp;gt;&amp;lt;/expression&amp;gt;&lt;br /&gt;
    &amp;lt;parameters&amp;gt;&lt;br /&gt;
    &amp;lt;item name="p" type="float" minimum="0" maximum="1"/&amp;gt;&lt;br /&gt;
    &amp;lt;parameters/&amp;gt;&lt;br /&gt;
&amp;lt;/macro&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    The &lt;code&gt;&amp;lt;macro&amp;gt;&lt;/code&gt; tag has two parameters, &lt;strong&gt;id&lt;/strong&gt; (unique name of the macro in the constraints file) and &lt;strong&gt;weight&lt;/strong&gt; (the relative frequency of appearance of instances of the macro in the individuals).&lt;br /&gt;
&lt;br /&gt;
    The &lt;code&gt;&amp;lt;expression&amp;gt;&lt;/code&gt; tag defines the macro expression. The fixed parts are reported as they are, while the parameters (tag &lt;code&gt;&amp;lt;param&amp;gt;&lt;/code&gt; must be specified in the &lt;code&gt;&amp;lt;parameters&amp;gt;&lt;/code&gt; tag.&lt;br /&gt;
&lt;br /&gt;
    In this case, there is only one parameter, called "p". The parameter is of &lt;strong&gt;type&lt;/strong&gt; float (floating point number),and it can assume a &lt;strong&gt;minimum&lt;/strong&gt; value of 0, and a &lt;strong&gt;maximum&lt;/strong&gt; value of 1. Note that the special value &lt;strong&gt;infinity&lt;/strong&gt; is also possible, to have unconstrained floating point numbers.&lt;br /&gt;
&lt;br /&gt;
    Instances of the macro above might be:&lt;br /&gt;
&lt;br /&gt;
Hey, this is a floating point number between 0 and 1: 0.563986&lt;br /&gt;
Hey, this is a floating point number between 0 and 1: 0.012345&lt;br /&gt;
Hey, this is a floating point number between 0 and 1: 0.999999&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
    Check &lt;a class="" href="../How%20to%20write%20population's%20constraints" title="wikilink"&gt;How to write population's constraints&lt;/a&gt; for a&lt;br /&gt;
    complete example of top-down construction of population's constraints.&lt;br /&gt;
&lt;br /&gt;
&lt;span&gt;[1]&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span&gt;[2]&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Squillero</dc:creator><pubDate>Mon, 13 Oct 2014 08:19:09 -0000</pubDate><guid>https://sourceforge.net4234f2f625885722053c6d2dc081c896cd52e147</guid></item></channel></rss>