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

Reply via email to