-
Notifications
You must be signed in to change notification settings - Fork 333
Expression 2 Number
This is a full list of functions provided by E2's number extension. It will also include syntax for comparison operations and bitwise ops.
Syntax | Example | Description |
---|---|---|
> | if ( A>8 ) {} | Greater than comparison. Returns 1 when the left value is greater than the right value. |
< | if ( A<4 ) {} | Less than comparison. Returns 1 when the left value is less than the right value. |
>= | if ( A>=6 ) {} | Returns 1 when the right value is either greater than or equal to the left value. |
<= | if ( A<=14 ) {} | Returns 1 when the right value is either less than or equal to the left value. |
Function | Returns | Description |
---|---|---|
inrange(N₁,N₂,N₃) | Returns 1 when the value N₁ is in between the arguments N₂ and N₃. | |
max(N,N[,N,N]) | Selects the closest number to positive infinity and returns it. |
These functions pick the highest or lowest value of a set of numbers, and returns that.
Function | Returns | Description |
---|---|---|
min(N,N[,N,N]) |
Selects the closest number to negative infinity and returns it. Requires 2 arguments, maximum of 4 arguments. |
|
max(N,N[,N,N]) |
Selects the closest number to positive infinity and returns it. Requires 2 arguments, maximum of 4 arguments. |
|
clamp(N₁,N₂,N₃) | Clamps the value N₁ to a minimum and maximum amount N₂ and N₃, and returns the clamped amount. |
Pray you don't have to use these.
Function | Returns | Description |
---|---|---|
isfinite(N) | Returns 1 (true) if the given value is a finite number. | |
isinf(N) | Returns 1 if the number is positive infinity, or -1 when it is negative infinity. Finite numbers return 0. | |
isnan(N) | Returns 1 when the given value is not a number (NaN). |
haha numbers go wheeeeeeee
Syntax | Example | Description |
---|---|---|
+ | 3 + 8 | Adds two values together and returns the result. |
- | A - B | Subtracts the right value from the left value, and returns the result. |
* | C * D | Multiplies the right and left values together, and returns the result. This can also multiply vectors as a scalar magnitude! |
/ | E / F | Divides the left value over the right value and returns an exact decimal answer. |
% | E % F | Divides the left value over the right value, and returns the remainder of the division. |
^ | 4 ^ N | Raises the left value to the Nth power exponent, and returns the result. |
Function | Returns | Description |
---|---|---|
sqrt(N) | Returns the square root of the given value. | |
cbrt(N) | Returns the cubic root of the given value. | |
root(N₁,N₂) | Returns the N₂th root of the value N₁ | |
ln(N) | Performs a logarithm with base e on the given value. | |
log(N₁,N₂) | Performs a logarithm with an N₂th base on the given value N₁. | |
log2(N) | Performs a logarithm based 2 on the given value. | |
log10(N) | Performs a logarithm based 10 on the given value. | |
frexp(N) | Returns the mantissa and exponent of the given floating-point number as a vector2 (X component holds a mantissa, and Y component holds an exponent) | |
frac(N) |
Returns the decimal (fractional) component of a number. -1.4 returns -0.4, 2.6 returns 0.6. |
Number variables can be reassigned a new value based on one of the basic arithmetic operators by simply appending an equal sign after it.
The format A += B
, is equivalent to doing A = A + B
. This works for any arithmetic operation.
There is also a shorthand form of this to increment/decrement a variable by just 1.
Syntax | Example | Description |
---|---|---|
++ | A++ | Increments variable A by 1 directly. |
-- | B-- | Decrements variable B by 1 directly. |
+= | A += B - C | Sets the variable A equal to itself, plus B-C. |
-= | A -= B + C | Sets the variable A equal to itself, minus B+C. |
*= | A *= D | Sets A equal to A * D. |
/= | A /= E | Sets A equal to A / E. |
%= | A %= G | Sets A equal to A % G. |
^= | A ^= H | Sets A equal to A to the power of H. |
Rounds to the nearest integer.
Function | Returns | Description |
---|---|---|
round(N₁[,N₂]) | Rounds to the nearest integer, optionally up to N₂ number of decimal places, from .5 up and anything below down. | |
floor(N₁[,N₂]) |
Rounds a number down towards -infinity, optionally up to N₂ number of decimal places. -1.4 returns -2, 2.6 returns 2. |
|
ceil(N₁[,N₂]) |
Rounds a number up towards +infinity, optionally up to N₂ number of decimal places. -1.4 returns -1, 2.6 returns 3. |
|
int(N) |
Rounds a number towards 0 to the nearest integer. -1.4 returns -1, 2.6 returns 2. |
|
frac(N) |
Returns the decimal (fractional) component of a number. -1.4 returns -0.4, 2.6 returns 0.6. |
General arithmetic functions that are used to modify & manipulate values which don't fit into the other categories
Function | Returns | Description |
---|---|---|
abs(N) | Returns the positive form (magnitude) of the value, aka, the absolute value of the number. | |
sign(N) | Returns the sign of the given value. 1 for positive values, -1 for negative values, and 0 for anything else. | |
wrap(N₁,N₂) |
Performs (N₁+N₂) % (N₂*2) - N₂. Performs a wrapping calculation around 0 with a range of N₂. wrap(89,90) returns 89, wrap(92,90) returns -88. |
|
isnan(N) | Returns 1 when the given value is not a number (NaN). |
Scattah. A gift! For you!
(Note that trig functions in E2 work with degree-based values.)
Function | Returns | Description |
---|---|---|
toRad(N) | Converts the value's unit from degrees into radians. 90° == 𝜋/2 | |
toDeg(N) | Converts the value's unit from radians into degrees. 𝜋 radians == 180° | |
sin(N) | Returns the sine of value N. sin(90) = 1 | |
cos(N) | Returns the cosine of value N. cos(0) = 1 | |
tan(N) | Returns the tangent of value N. tan(45) = 1 | |
asin(N) | Returns the sine inverse (arc sine) of value N. | |
acos(N) | Returns the cosine inverse (arc cosine) of value N. | |
atan(N) | Returns the tangent inverse (arc tangent) of value N. | |
isnan(N) | Returns 1 when the given value is not a number (NaN). |
Function | Returns | Description |
---|---|---|
inf() | ∞ | |
pi() | 𝜋 | |
exp(N) | Returns e to the power of the Argument (same as e()^N but shorter and faster this way) |
Developed by: asiekierka, TomyLobo (made xor), and Divran (added operators)
Bitwise operators act on numbers as if they were decimal-represented binary numbers.The individual bits of a number have operations taken against them. Wikipedia has a good explanation of each function: http://en.wikipedia.org/wiki/Bitwise_operation
Tip: You can also use N:toString(2) and S:toNumber(2) to perform bitwise manipulation using the string functions.
Function | Returns | Description |
---|---|---|
bOr(N,N) | Performs bitwise OR against the two numbers (Operator: N || N) | |
bAnd(N,N) | Performs bitwise AND against the two numbers (Operator: N && N) | |
bXor(N,N) | Performs bitwise XOR against the two numbers (Operator: N ^^ N) | |
bShl(N,N) | Performs bitwise shift left on the first number by the amount of the second (Operator: N << N) | |
bShr(N,N) | Performs bitwise shift right on the first number by the amount of the second (Operator: N >> N) | |
bNot(N) | Performs a binary Not | |
bNot(N,N) | Performs a binary Not. The second argument is the length of the number you wish to perform Not on in bits. |
Please do not alter the e2 docs ...
pages manually.
They are autogenerated from the E2Helper. In the future, this will hopefully be its own dedicated website or tool.
Basic Features: core, debug, number, selfaware,
string, timer
🌎 World: angle, color, find, ranger, sound,
🔣 Math: bitwise, complex, matrix, quaternion, vector, vector2/4
📦 Entities: bone, constraint, egp, entity, hologram, npc
👨 Players: chat, console, player, weapon
📊 Data storage: array, files, globalvars, serialization, table
💬 Communication: datasignal, http, signal, wirelink,
❓ Informational: gametick, serverinfo, steamidconv, unitconv
Disabled by default: constraintcore, effects, propcore, remoteupload, wiring
Wire-Extras (repo): camera, ftrace, holoanim, light, stcontrol, tracesystem
Expression 2 ⚙️
- Syntax 🔣
- Directives 🎛️
- Editor 🖥️
- Ops 📊
- Learning & Getting Help 📚
- Triggers ⏲️
- Events 🎬
- Find Functions 🔍
- Physics 🚀
- EGP Basics 📈
- Lambdas λ
- Tips & Tricks 📘
Click To Expand
- 🟥 SPU
- 🟥 Address Bus
- 🟥 Extended Bus
- 🟥 Plug/Socket
- 🟥 Port
- 🟥 Transfer Bus
- 🟩 GPU
- 🟥 Dynamic Memory
- 🟥 Flash EEPROM
- 🟥 ROM
- 🟧 Beacon Sensor
- 🟧 Locator
- 🟧 Target Finder
- 🟧 Waypoint
- 🟥 XYZ Beacon
- 🟩 CPU
- 🟩 Expression 2
- 🟩 Gates
- 🟥 PID
- 🟧 CD Disk
- 🟥 CD Ray
- 🟧 DHDD
- 🟥 Keycard
- 🟥 RAM-card
- 🟧 Satellite Dish
- 🟧 Store
- 🟧 Transferer
- 🟥 Wired Wirer
- 🟧 Adv Entity Marker
- 🟧 Damage Detector
- 🟧 Entity Marker
- 🟧 GPS
- 🟧 Gyroscope
- 🟥 HighSpeed Ranger
- 🟧 Laser Pointer Receiver
- 🟥 Microphone
- 🟧 Ranger
- 🟧 Speedometer
- 🟧 Water Sensor
- 🟧 7 Segment Display
- 🟥 Adv. Hud Indicator
- 🟧 Console Screen
- 🟧 Control Panel
- 🟧 Digital Screen
- 🟧 EGP v3
- 🟧 Fix RenderTargets
- 🟥 GPULib Switcher
- 🟧 Hud Indicator
- 🟧 Indicator
- 🟧 Lamp
- 🟧 Light
- 🟧 Oscilloscope
- 🟧 Pixel
- 🟧 Screen
- 🟧 Sound Emitter
- 🟧 Text Screen
- 🟩 Cam Controller
- 🟧 Colorer
- 🟧 FX Emitter
- 🟧 HighSpeed Holoemitter
- 🟧 HoloEmitter
- 🟧 HoloGrid
- 🟥 Interactable Holography Emitter
- 🟥 Materializer
- 🟥 Painter
- 🟧 Adv. Input
- 🟧 Button
- 🟧 Constant Value
- 🟥 Door Controller
- 🟧 Dual Input
- 🟧 Dynamic Button
- 🟧 Eye Pod
- 🟧 Graphics Tablet
- 🟧 Keyboard
- 🟥 Lever
- 🟧 Numpad
- 🟧 Numpad Input
- 🟧 Numpad Output
- 🟧 Plug
- 🟧 Pod Controller
- 🟧 Radio
- 🟧 Relay
- 🟧 Text Receiver
- 🟧 Two-way Radio
- 🟧 Vehicle Controller
- 🟥 Door
- 🟥 Adv. Dupe. Teleporter
- 🟥 Buoyancy
- 🟧 Clutch
- 🟧 Detonator
- 🟧 Explosives
- 🟧 Explosives (Simple)
- 🟥 Forcer
- 🟩 Freezer
- 🟧 Gimbal (Facer)
- 🟧 Grabber
- 🟧 Hoverball
- 🟧 Hoverdrive Controller
- 🟥 Hydraulic
- 🟧 Igniter
- 🟧 Nailer
- 🟩 Prop Spawner
- 🟥 Servo
- 🟥 Simple Servo
- 🟧 Thruster
- 🟥 Touchplate
- 🟥 Trail
- 🟩 Turret
- 🟩 User
- 🟥 Vector Thruster
- 🟥 Vehicle Exit Point
- 🟧 Weight (Adjustable)
- 🟧 Weld/Constraint Latch
- 🟥 Wheel
- 🟥 Wire Magnet
- 🟥 Wired Npc Controller
- 🟧 Debugger
- 🟥 GUI Wiring
- 🟥 Multi Wire
- 🟧 Namer
- 🟥 Simulate Data
- 🟩 Wiring
- 🟥 Beam Reader
- 🟥 Implanter
- 🟥 Reader
- 🟥 Target Filter
- 🟥 User Reader
Gates 🚥
Click To Expand
TBD