Difference between revisions of "Max"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{LSL_Function |mode=user |func=max |p1_type=float|p1_name=x |p2_type=float|p2_name=y |return_type=float |return_value=returns the greater of x and y |func_desc=Returns the greator of two ...)
 
m
Line 6: Line 6:
|return_type=float
|return_type=float
|return_value=returns the greater of x and y
|return_value=returns the greater of x and y
|func_desc=Returns the greator of two arbitrary values
|func_desc=Returns the greater of two arbitrary values
|func_footnote=
|func_footnote=
If values x and y are equal, returns x
If values x and y are equal, returns x

Revision as of 23:03, 31 October 2008

Summary

Function: float max( float x, float y );

Returns the greater of two arbitrary values
Returns a float

• float x
• float y

If values x and y are equal, returns x

See also: Min

Specification

<lsl>float max(float x, float y) {

   return ( ( llAbs( x >= y ) ) * x ) + ( ( llAbs( x<y ) ) * y );

}</lsl>

Examples

<lsl>float value = max(10,20); //value == 20</lsl>

Deep Notes

Tests

<lsl>// Max and Min Functions and Unit Tests // Emilie (Hermit Barber in World) // Creative Commons: Attribution, Share-alike, Non Commecial float Max(float x,float y) { return ( ( llAbs( x >= y ) ) * x ) + ( ( llAbs( x<y ) ) * y ); } float Min(float x,float y) { return ( ( llAbs( x >= y ) ) * y ) + ( ( llAbs( x<y ) ) * x ); } // Copy the above functions to your program - the balance is mereley a set of unit tests say(string f, float x,float y, float z) { llOwnerSay("Testing " + f + " with input X: " + (string) x + " Input Y: " + (string) y + "Resulting in: " + (string) z); } default { state_entry() { string test = "MAX"; float ix = 0; float iy = 0; float iz = 0; say(test,ix,iy,Max(ix,iy)); ix=100;iy=100;say(test,ix,iy,Max(ix,iy)); ix=-100;iy=100;say(test,ix,iy,Max(ix,iy)); ix=100;iy=-100;say(test,ix,iy,Max(ix,iy)); ix=-100;iy=-100;say(test,ix,iy,Max(ix,iy)); ix=-0.001;iy=0.00001;say(test,ix,iy,Max(ix,iy)); ix=0.001;iy=0.00001;say(test,ix,iy,Max(ix,iy)); ix=-0.001;iy=0.00001;say(test,ix,iy,Max(ix,iy)); ix=0.001;iy=-0.00001;say(test,ix,iy,Max(ix,iy)); ix=-0.001;iy=-0.00001;say(test,ix,iy,Max(ix,iy)); test = "MIN"; say(test,ix,iy,Min(ix,iy)); ix=100;iy=100;say(test,ix,iy,Min(ix,iy)); ix=-100;iy=100;say(test,ix,iy,Min(ix,iy)); ix=100;iy=-100;say(test,ix,iy,Min(ix,iy)); ix=-100;iy=-100;say(test,ix,iy,Min(ix,iy)); ix=0.001;iy=0.00001;say(test,ix,iy,Min(ix,iy)); ix=-0.001;iy=0.00001;say(test,ix,iy,Min(ix,iy)); ix=0.001;iy=-0.00001;say(test,ix,iy,Min(ix,iy)); ix=-0.001;iy=-0.00001;say(test,ix,iy,Min(ix,iy)); } }</lsl>

Signature