Here, I lied by accident.
https://scontent.fper6-1.fna.fbcdn.net/v/t1.0-9/81434916_1079649742383082_1648964143958458368_n.jpg?_nc_cat=110&_nc_ohc=BkVhMVTVN6QAQkedo-b7o6h-wbzxx0McDJ3XOGKhl56sqOL2rmM0ec5aQ&_nc_ht=scontent.fper6-1.fna&oh=bd041e830c521c16434248f1386a5658&oe=5EB26B67
its actually 90 adders! but thats serial + parallel. Is that any faster than
a matrix multiply?
So ill think about that, but I went and fixed the code again, and the
actually assembler steps over "plain english steps" is 7 compared to 90.
So heres the new lot of updated code. (theres more of it.)
Some of the code isnt there, and where there is a big parallel switch, theres
about 3 adders in each one, and that was really the thing i missed, that the
series is quite small, but if you include the parallel its very large. (90)
//HERES THE ROTATE THEN->
//GIVE ME THE QUADRANT IM IN
FULLTTAB(XPOLARITY,YPOLARITY) = then you set the 2 bits of the quadrant
QUANDRANT AM. //and this is followed by a set so its ok.
//GET THE ABSOLUTE X AND Y
if(X POLARITY==1) {X2=SHIFTMORE(X,1);NEXTX2=SUB(X,X2);} else NEXTX2=X;
if(Y POLARITY==1) {Y2=SHIFTMORE(Y,1);NEXTY2=SUB(X,Y2);} else NEXTY2=Y;
//THEN GET THE BOX SIZE (from whats greater out of x and y)
SUBXY=SUB(NEXTX2,NEXTY2)
if(subxy POLARITY==1) BOXSIZE=SHIFTMORE(NEXTY2,1) else
BOXSIZE=SHIFTMORE(NEXTX2,1)
ANGLESCALE=SHIFTLESS(BOXSIZE,LOGANGLESINQUADRANT) //i think you need 3/4 and
1/4.
//this comes in from the qbits.
//ANGLEAMOUNTDIVQUAD//ANGLEAMOUNTMODQUAD
//ADVANCE THE QUADRANT
NEWQUADANGLE0=ADD(ANGLEAMOUNTMODQUAD,QUADRANTAM)
IF(NEWQUADANGLE0 POLARITY==1){NEWQUADANGLE2=ADD(NEWQUADANGLE0, 4);} //CHECK IF
I WRAP FORWARD
else{
NEWQUADANGLE1=SUB(NEWQUADANGLE0, 3);
if(NEWQUADANGLE1 POLARITY==1){NEWQUADANGLE2=ADD(NEWQUADANGLE0, -4);} //CHECK
IF I WRAP BACK
}
//GET THE ANGLE AMOUNT WHERE I AM
if(fullquadrant==00) //& the sig bit of the bit im setting. your getting a
value from 0 - AMOUNT OF ANGLES IN QUADRANT
{
// __
// \ |
// \|
}
else
if(fullquadrant==01)
{
// /|
// / |
// ---
}
else
if(fullquadrant==10)
{
// |\
// | \
// ---
}
else
{
// __
// | /
// |/
}
NEWANGLE=ADD(ANGLEAMOUNTMODQUAD, ANGLEAM) //new angle can go negative.
////////
//
// CHECK IF I CROSS THE QUADRANT BOUNDARY
if(NEW ANGLE POLARITY = 1) //I DO THE POSITIVE CHECK FOR OVER QUAD BOUNDARY
{
NEWANGLE2=SUB(NEWANGLE,ANGLESINQUADRANT)
IF(NEWANGLE2 POLARITY=1)
{
NEWANGLE3=SUB(NEWANGLE2,ANGLESINQUADRANT)
NEWQUADANGLE3=ADD1(NEWQUADANGLE2);
NEWQUADANGLE4=SUB(NEWQUADANGLE3,3);
IF(NEWQUADANGLE4 POLARITY==1)
{
NEWQUADANGLE5=ADD(NEWQUADANGLE3, -4)
}
}
}
else //I DO THE NEGATIVE CHECK FOR OVER THE QUAD
BOUNDARY
{
ANGLESINQUADRANT2=SHIFTMORE(ANGLESINQUADRANT,1)
ANGLESINQUADRANT3=SUB(ANGLESINQUADRANT,ANGLESINQUADRANT2)
NEWANGLE2=SUB(NEWANGLE,ANGLESINQUADRANT3)
IF(NEWANGLE2 POLARITY=1)
{
NEWANGLE3=SUB(NEWANGLE2,ANGLESINQUADRANT)
NEWQUADANGLE3(ADD1,NEWQUADANGLE2); //increment myself one step
because i went over on the quadrant
IF(NEWQUADANGLE3 POLARITY==1) //then the quadrant wrapped(the
quadrant can wrap)
{
NEWQUADANGLE5=ADD(NEWQUADANGLE3, 4)
NEWANGLE4=SUB(ANGLESINQUADRANT,NEWANGLE2)
}
}
}
//36 + 18*3 = 90 adders. * ripple
//2880 - bigger than i thought- BUT! still might be good, and makes me think
maybe i can just put peoples exes in and crack em automatic, and that is not
normal, ask hotz.
//*3 axis rotate
//*(3+2) rlr testing+final rotate
//*hinges
// * TIMESTEPS
//
//51 million for 100 times steps. 500 million for 1000!!! - but he doesnt
have many hinges, but they can have varied resonse in this one.
//got the new 2 angles->
NEWANGLEQUAD2- new quadrant
NEWANGLE4 - angle in the quadrant
//render where i am on the circle->
if(NEWANGLEQUAD2) //oct0
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
if(ABSPOSANGLE<HALFANGLESINQUADRANT)
{
//DO THE FIRST ONE
//IF YOU CROSS OVER GO TO NEXT ONE
}
else
{
//DO ONE AT END
}
}
else
{
if(ABSPOSANGLE<HALFANGLESINQUADRANT)
{
//COME IN FROM THE BACK, DO THE FIRST ONE.
//CHECK A THRESHOLD
//IF YOU CROSS OVER GO TO NEXT ONE
}
else
{
//DO ONE AT END
}
}
}
else
if(quadrant==1) //oct1
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
else
if(quadrant==2) //oct2
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
else //oct3
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
if(quadrant==0) //oct4
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
else
if(quadrant==1) //oct5
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
else
if(quadrant==2) //oct6
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
else //oct7
{
if(polarity)
{
//coming out of the front - i go thru the gradient mark forwards
}
else
{
//coming out of the back - i go thru the gradient mark back
}
}
------------------------------------------
Artificial General Intelligence List: AGI
Permalink:
https://agi.topicbox.com/groups/agi/T6396a91307d96c85-Mbf5bb23175794137f6d805ef
Delivery options: https://agi.topicbox.com/groups/agi/subscription