How JS & WebASM use a,b,i,c maths improves the total speed of application load & mouse control
How JS & WebASM use a,b,i,c maths improves the total speed of application load & mouse control
For reference to the functions of Curves, Elliptic & Cuboids that DRMV can run:
Architecture Fast Instructions for FMA
https://science.n-helix.com/2023/06/map.html
https://science.n-helix.com/2022/04/vecsr.html
FMA AVX Performance table: 2Flops per Cycle per FMA Unit
Architecture Fast Instructions for FMA
Reference Tables https://www.uio.no/studier/emner/matnat/ifi/IN3200/v19/teaching-material/avx512.pdf
Operators in C
● Arithmetic
a + b, a – b, a*b, a/b, a%b
● Bitwise
a | b, a & b, a ^ b, ~a
● Bit shift
a << b, a >> b (signed), a >> b (unsigned)
● Logical operators
a && b, a || b, !a
● Comparison operators
a == b, a != b, a < b, a <= b, a > b, a >= b
● Tertiary operator
x = a ? b : c
● Special functions:
sqrt(x), abs(x), fma(a,b,c), ceil(x), floor(x)
Fast division for constant divisors
Calculate r = a/b where b is a constant
With floating point we precompute (at compile time
or outside of the main loop) the inverse ib = 1.0/b.
r = iba
Floating point division with constant divisors
becomes multiplication
With integers the inverse is more complicated
ib,n = getmagicnumbers(b);
r = iba >> n
Integer division with constant divisors becomes
multiplication and a bit-shift
Fast Division Examples
● x/3 = x1431655766/2^32
271431655766/2^32 = 3
● x/1000 = x274877907/2^38
10000274877907/2^32 = 10
● x/314159 = x895963435/2
7314159*895963435/2^48 = 7
Dividing integers by a power of two can be done with a bit shift which is very fast.
RS
https://en.wikipedia.org/wiki/FMA_instruction_set
https://en.wikipedia.org/wiki/Advanced_Vector_Extensions
https://en.wikipedia.org/wiki/AArch64#Scalable_Vector_Extension_(SVE)
Direct Rendering Matrix Vectors (c)RS
a
__c
|
b
Now Matrix Vectors for vector rendering https://science.n-helix.com/2023/06/map.html
DRMV Direct Surface Draw : Laser Printers, Screen, GPU, CPU & Applications of DirectX, Vulkan & OpenCL & Direct Compute HTML5 & JS Buffer
With SiMD & Neon & AVX Features common to CPU & GPU, We can directly compose Vectors & Texture compose directly to the screen..
Using Matrix Formula Maths : a, b, c, 3D render; We are not simply limited to enhanced eliptic curve & cubic functions..
Optimised Eliptoid, Elliptic & Eccentric cuboid functions significantly improve a VESA Certified Render,
QNON, Ellipto-centric force physics & dimensional realities; Become a Vector Render Reality Matrix :
Holograms & Vector Drawing with SiMD, AVX, Matrix Units & FPU or Integers with RollINT.
We can draw Squares, Cubes, Curves, Ovoids, Ellipsoids, Shapes & Voxels & Tixels directly to any renderable surface; Including VESA Approved Monitor standards to VecSR Standards..
Directly from any available FPU, SiMD, Float or Integer unit.. Directly to any Video & Audio Buffer,
Therefore directly to Vector drawing surfaces such as: Laser Printers, Screen, GPU, CPU & Applications of DirectX, Vulkan & OpenCL & Direct Compute HTML5 & JS Buffer
For reference to the functions of Curves, Elliptic & Cuboids that DRMV can run:
Architecture Fast Instructions for FMA https://science.n-helix.com/2023/06/map.html
Rupert S
Reference operators
https://science.n-helix.com/2022/04/vecsr.html
https://science.n-helix.com/2023/06/map.html
https://science.n-helix.com/2022/10/ml.html
https://science.n-helix.com/2023/02/smart-compression.html
https://science.n-helix.com/2022/08/jit-dongle.html
https://science.n-helix.com/2022/06/jit-compiler.html
https://science.n-helix.com/2021/03/brain-bit-precision-int32-fp32-int16.html