Research:
I have been looking for some time online. everything i know in-fact. ive liked sparse matrix representations, i have found gate level sharing optimization after 'formula reduction' and Inter-Thread Communication Storage. In parallel processing, in particular machine learning, multiple cores seem so important and there are many papers to this effect. There are so many interesting topics i have found out about that all seem to need this.
Double barreled Question
are word sizes are the only standard in machine computation?
word sizes, where 8 bits can represent 256 discrete values and all others are combinations of this standard? If the first answer is yes, why are structures not used in hardware?
Structure - If a byte had 9 bits i probably wouldnt be asking this question. An 81 bit wordsize (that is a page, a cube would be better (8 cubes, each 9 pages of 9x9 trits would be even better.)) would allow for any rotation/position/vector etc to relate to each other with simple bitshifts rather than software trig functions. an example use is the 3d game i made using the structure as global reference (with fractal to/from/through micro/macro scaleabilities) in the same project.
\$9(9(3*3)\$ trits to express \$((9^9)^3)^3\$ positions per cube so, potentially expressing 999999999,999999999,999999999 3 times per cube
\$(1000-n)^(9n)^(45) \$ positions per cube. \$(1000-n)^(9n)^(360) \$ with 8 cubes.
this is vector representation from 0,0,0 up to +/- 81 decimal digits per plane. a register perfectly fitting that range for every degree in the 3 planes. a full 64 is made of 216 cubes
the structure has a fractal growth of \$((8*27)^(27^(27)^9)^2\$ each repeating layer counting up the power by 1.
Orientation/Lateral motion - trig functions are avoided by my input style. the mouse click controls orientation. dragging horizontally controls roll and dragging vertically controls scale. these are in the RotIn2 sprite. wasdeq controls are lateral motion and rely entirely on the orientation to control distance in each plane; ie W = forward 3 (positive 3 z plane). the direction script, at the very bottom left of terminal sprite in my scratch project.
set moveX to (abs(-1 +(abs(currentX-180)/90)
set moveY to (abs(-1 +(abs(currentY-180)/90)
set moveZ to (abs(-1 +(abs(currentZ-180)/90)
\this calculates alignment of the current xyz (where x,y and z can each be 1-360) each is now between 1 and 0 where 1 is a 90 degree tangent to 0
if z plane (forward/back), set X2 to 3*(moveZ-moveX), set Y2 to 3*(moveZ-moveY), set Z2 to 3*moveZ
if x plane (strafe) set X2 to 3*moveX, set Y2 to 3*(moveX-moveY), set Z2 to 3*(moveX-moveZ)
if y plane (vert/drop) set X2 to 3*(moveX-moveZ), set Y2 to 3*moveY, set Z2 to 3*(moveY-moveZ)
set currentX to currentX+X2, set currentY to CurrentY+Y2, set currentZ to currentZ+Z2. \$
Representations
Using this structure to represent positions allows representations of triangles very simply. Therefor Regular Polygons. The costumes of sprite 4; i asked myself
A regular polygon drawn with x=0 y=0 as centre point, in simplex (x>0,y=0)v(x2,y2) of {s}. "what smallest X gives the smallest digit count(dc()) for dc(x,y,z)+dc(x2,y2,z2)"
if s=4, representing a square's edge, then x=1 and y2=1. 2 active trits of 9. Easily reproduced in 1 byte through a masked Xor gate.
int masksqx128 masksqy16. square|=sqxsqy. if (byte = 10001000) then it is a square where L= squareroot of 2. As a simplex {4} . simplex are new to me, and awesome, but i have a few ideas as to what else this necessitates mechanically.
if s=5, x=(1+ 2/3) x2=1 y2=1. 4 active trits of 9 (or x=5 x2=3 y2=3. 3 active trits of 27)
in binary coded decimal (if(Xor 01010011)=0)and(if(Xor 00110000)=0) then these 2 bytes are a pentagon.{5}.
if s=6, x=2/3 x2=1/3 y2=1/3. 3 active trits. again, 2 bytes of bcd for 6,3,3 to express all that is needed to make a hexagon and from this all further 2d regular polygons can be made as this is a positive equilateral triangle, L=x.
This can be expanded into an edge of a 3d triangular based pyramid, a tetrahedron, when z2=1/3. L=x. This is equally a cone with hight 1/3 and base radius of 1/6 in 4 active trits of 9. It is possible to express this pyramid in 2 bytes 6,3 and 3,3 for x,x2 and y2,z2 respectively and binary is only just behind by 7 bits, or {3,3} to generalise L.
There is a full representation of a dodecahedron, 12 pentagons = 20 corners = 20 (x,y,z)s, where only 23 trits are active in a single address space with all the required information. what is the optimal expression of a dodecahedron in binary. a Schläfli_symbol? what processes are required to make use of it?
i believe there are many other uses and have been trying to lay this problem onto the structure most recently.
OverFlow
using a representation of .1 to .9 or 1. to 9. probably both, we have a +-81 decimal digits either side of zero in a cube with little effort. a 0. or .0 or even a mid number string of 0 representation could simply be a zero counter. i'd standard 5 trit for up to 10^(162) but potentially up to a 9trit counter.
The neatest way of lining this up with current tech is to split each 8 bit byte into 1 bit for each of the 8 cubes and using 9*81 bytes in representing 8 cubes and an insane amount of control code. Accessing a single trit in the structure would add 2 trits onto the Digit or tryte address...
Addressing - In scratch i have not used the adder and gates, only the scratch blocks +,-, abs etc. (but i did build them and the 9bit base 10 bitshift adder with carry) i have not actually used the trit addressing system, I simply put the x,y,z's into lists and pretended.
1Digit..............1 page...........................9^3trits= 1cube
9trits..............81trits............each page now stacks as a Zco-ord.
.X,Y,Z............Y............Z............................Y
.00 10 20.
.01 11 21...........10...........20
.02 12 22.
.....01...............11.............21........................10
.....02...............12............22.
.
.................... 01
this is the repeated pattern throughout to Address positions
a full 64 (216cubes) can store 5832 decimal digits for each axis in the energy saving 9 bit base 10.
full 64 (216cubes) stores 52487 decimal digits in base 3 (if structure is trits) and a single 1st fractal trit can store 472383 decimal digits.
i say trits because the structure can be more easily addressed by trits \$((81^(81)^(216))^((6561)^(216))\$ = the fractal 64 in sprite2 costumes, 20trit address (1,162,261,467 trits)*3 or (2,324,522,934 bits)*3 for equivelency= 7 TB at 5 bytes per adress
\$((((81^(81)^(216) ^(6561)^(216)^(6561)^(216)^(6561)^(216)^(6561)^(216)^(6561)^(216)^(6561)^(216)^(6561)^3\$ =81 trits. a page of structure or 162 bits to address (if wordsize was not an issue).
Please Again, i ask can someone explain what i have done wrong or have misunderstood, if you have a problem, tell me. do not simply downvote for the question to be deleted leaving me no better off.
I have used a representation/simulation of a structure (buried in a busy scratch project) that can be used to express complicated relations succinctly. I am asking if anyone had found structures useful enough to build rather than simulate. could structures not simply be a more ordered word size?
For now i think others can make better use of this (link to scratch profile) if you can dig out the best bits of my efforts. (i have used 'dimensions' often in my project to mean discrete values.)
Thank you :D