Go Down

Topic: Constrain Utility. Making constrained variables. (Read 1 time) previous topic - next topic

AlphaBeta

Apr 22, 2009, 02:15 am Last Edit: Apr 22, 2009, 02:17 am by AlphaBeta Reason: 1
I've made a new utility called Constrain. It is inspired by this post.

This will help creating variables that are constrained throughout the program. (At least throughout the scope of the variable.)

[size=14]Example Sketch:[/size]
Quote


/*
||
|| @author Alexander Brevig
|| @versin 1.0 Beta
||
*/

#include <Constrain.h>

Constrained<float> constrainedFloat( 0.2 , 0.0 , 1.0 );
Constrained<byte> constrainedByte( 2 , 0 , 10 );

void setup(){
 Serial.begin(9800);
 Serial.println("We have two constrained variables. \n\tThe first is a float, constrained to be within [0,1].\n\tThe other is a byte that is constrained to be within [0,10]");
 Serial.println("Setting the variables to 0");
 //set/reset the variable
 constrainedByte = 0;
 constrainedFloat = 0;
 Serial.println("Trying to make the variables exceed the constraint");
 for(byte i=0; i<12; i++){
   Serial.print(constrainedFloat.value); //access value
   Serial.print(" ");
   Serial.println(constrainedByte.value,DEC);
   constrainedFloat += 0.1;
   constrainedByte++;
 }
 Serial.println("Trying to make the variables go below the constraint");
 for(byte i=0; i<12; i++){
   Serial.print(constrainedFloat.value);
   Serial.print(" ");
   Serial.println(constrainedByte.value,DEC);
   constrainedFloat -= 0.1;
   constrainedByte--;
 }
}

void loop(){}



[size=14]Example Serial Output:[/size]
Quote
We have two constrained variables.
     The first is a float, constrained to be within [0,1].
     The other is a byte that is constrained to be within [0,10]
Setting the variables to 0
Trying to make the variables exceed the constraint
0.00 0
0.10 1
0.20 2
0.30 3
0.40 4
0.50 5
0.60 6
0.70 7
0.80 8
0.90 9
1.00 10
1.00 10
Trying to make the variables go below the constraint
1.00 10
0.90 9
0.80 8
0.70 7
0.60 6
0.50 5
0.40 4
0.30 3
0.20 2
0.10 1
0.00 0
0.00 0

Go Up