Merge branch 'main' of https://github.com/mcDandy/more_math
This commit is contained in:
@@ -14,30 +14,31 @@ You can also get the node from comfy manager under the name of More math.
|
||||
|
||||
# Features
|
||||
|
||||
- expression parsing with support for functions and variables:
|
||||
- functions:
|
||||
- run expressions on both components of CONDITIONING (not that I know what they do), LATENT, IMAGE, NOISE and FLOAT
|
||||
- math operators (binary and unary +,- and ^,*,/,%)
|
||||
- boolean operators (false = 0.0; true = 1.0) (<,<=,>,>=,==,!=)
|
||||
- sin, cos, tan
|
||||
- asin, acos, atan (can produce NaN outside range -1...1)
|
||||
- atan2 (x,y)
|
||||
- sinh, cosh, tanh
|
||||
- asinh, acosh, atanh (can produce NaN outside range -1...1)
|
||||
- abs, sqrt (produces NaN on negative numbers), ln (log with base e), log (base 10), exp, pow
|
||||
- smin, tmin, smax, tmax, tnorm, snorm (norm and t prefixed are not applicable on float math node)
|
||||
- s prefixed return one number
|
||||
- t prefixed work element-wise
|
||||
- floor, ceil, round, gamma, clamp, sigm (sigmoid)
|
||||
- angle (audio node)
|
||||
- variables
|
||||
- a, b, c, d : inputs of type based on node
|
||||
- w, x, y, z : each node allows use of 4 additional floats
|
||||
- W : Width of tensor - does not work on FLOAT and CONDITIONING
|
||||
- H : Height of tensor - does not work on FLOAT and CONDITIONING
|
||||
- C : Channel of tensor - used as color chanel in IMAGE or as information channel in others. does not work on FLOAT and CONDITIONING
|
||||
- B : Batch - does not work on FLOAT and CONDITIONING
|
||||
- X : X position in tensor - does not work on FLOAT and CONDITIONING
|
||||
- Y : Y position in tensor - does not work on FLOAT and CONDITIONING
|
||||
- I : Tensor used to initalise sampler before noise injection - usually zeroed out and generated by Empty Latent Image node - Exclusive for NOISE
|
||||
- use constant e and pi
|
||||
- functions and variables in math expressions
|
||||
- Nodes for CONDITIONING, LATENT, IMAGE, NOISE, FLOAT, and AUDIO
|
||||
|
||||
## Operators
|
||||
- Math: `+`, `-`, `*`, `/`, `%`, `^`
|
||||
- Boolean: `<`, `<=`, `>`, `>=`, `==`, `!=`
|
||||
(`false = 0.0`, `true = 1.0`)
|
||||
|
||||
## Functions
|
||||
- Basic: `abs`, `sqrt`, `ln`, `log`, `exp`, `pow`
|
||||
- Trigonometric: `sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `atan2`
|
||||
- Hyperbolic: `sinh`, `cosh`, `tanh`, `asinh`, `acosh`, `atanh`
|
||||
- Aggregates: `smin`, `smax` , `snorm` (scalar), `tmin`, `tmax`, `tnorm` (elementwise)
|
||||
- Other: `floor`, `ceil`, `round`, `gamma`, `clamp`, `sigm` (sigmoid), `angle` (in ifft only)
|
||||
- Audio-specific: `fft` (short-time FFT), `ifft` (inverse sFFT **always return audio back to time domain before leaving node**)
|
||||
|
||||
## Variables
|
||||
- **Inputs**: `a`, `b`, `c`, `d` (matches node input type)
|
||||
- **Extra floats**: `w`, `x`, `y`, `z`
|
||||
- **Tensor positions**: `C` (channel), `B` (batch), `X`, `Y`, `W` (width), `H` (height) (not for FLOAT/AUDIO/CONDITIONING)
|
||||
- **Special**:
|
||||
- `I` – sampler init tensor (for NOISE only)
|
||||
- `S` – current audio sample (AUDIO only)
|
||||
- `T` – audio length (AUDIO only)
|
||||
- `R` – sample rate (AUDIO only)
|
||||
- `F` – frequency count (freq domain, iFFT only)
|
||||
- `K` – current frequency (freq domain, iFFT only)
|
||||
- Constants: `e`, `pi`
|
||||
|
||||
Reference in New Issue
Block a user