Difference between revisions of "Mutation Operators"

From GiderosMobile
m (→‎Description: for consistency I made the variables order the same)
Line 26: Line 26:
 
--Optimized variant (5x faster):
 
--Optimized variant (5x faster):
 
function getDistance2( x1, y1, x2, y2 )
 
function getDistance2( x1, y1, x2, y2 )
return ((x1 - x2)^2 + (y1 - y2)^2)^0.5
+
return ((x2 - x1)^2 + (y2 - y1)^2)^0.5
 
end
 
end
  

Revision as of 05:31, 24 May 2019


Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.png
Available since: Gideros 2017.11

Description


Operators to mutate a value.

a += b   Add 'b' to 'a'.
a -= b   Subtract 'b from 'a'.
a *= b   Multiply 'a' by 'b', result in 'a'.
a /= b   Divide 'a' by 'b', result in 'a'.
a %= b   The result of 'a%b' is placed in 'a'.
a ^= b   The result of 'a^b' is placed in 'a'. ^ is faster than a=math.pow(a,b)
a ^= 0.5   The result is faster than a=math.sqrt(a)

Examples

Simple larger example

score+=1  -- faster and less typing than score=score+1


"getDistance" function:

--Non-optimized variant (5x slower):
function getDistance( x1, y1, x2, y2 )
	return math.sqrt ( math.pow ( x2 - x1, 2 ) + math.pow ( y2 - y1, 2 ) )
end

--Optimized variant (5x faster):
function getDistance2( x1, y1, x2, y2 )
	return ((x2 - x1)^2 + (y2 - y1)^2)^0.5
end

Methods

Events

Constants