so far after i bumped the thing out of sight for the drawing tablet, nothing came back yet so dunno lol back to pretty happy with it just bizarre happend it first place
finally took some time after busy as week, did little bit of it during the week but mostly yesterday and this morning workin on the perfect loop thing for the program mode, since bunch of that work can be reused for the divide functions did that one first
some more testing and gotta comment out the debugging output stuff should be fast enough for that part doesnt warrant having any output before total segments(if isnt already before it does the final placement stuff move it up)
edit:
lel some the debugging output was printing the first number instead of the second one(has 2 running numbers at a time for checking if its equal to or the second divides with no remainder) but the numbers was right/half of it was showing the right so knew what it was doin
gotta do more testing in random numbers and stuff, double check the overflow protection and stuff(since it can make super massive numbers very fast like 6 7 8 9 10 11 13 17 is like 6,125,000, i mean upper limits of long long is pretty good like 18 whole digits and a partial 19th, but might put in a opt out warning or something if its big like over a mil or somethin idk have to think about it i guess
edit2: had a lel moment actually worked first hit on this last situation to account for when i went back to it after eatin
was workin on multi list entries of same length exclusion stuff, if you have multiple entries of the same length that are different lists, that also have multiple entries of the same list, to exclude the other ones its not even checking yet/then skip checking them later. and double checking/fixing conditions for multiple lists of same length for the math by moving it out of the inner exclusion checking loop to the one right past it(it reads in one entry from list then compares to all other entries beneath it that arent excluded already) and then enters the inner multi check/condition loop parsing all the rest of the numbers
so now it does all strictly divisible numbers corrently in one pass, as bascically every divisible number is increase the length by the longest number that divides into, say 52 if you had a 26 or a 13 you have to increase by 52 every time, as this is the number of episodes that play not the number of loops, if you add 26 episodes to that 52, you have to play the 26 twice to have the 52 end at the end at same time as the 26, the 13 would just play 4 times to make up the difference but then all end at the same time again
gotta check for multiple occurrences of same length in divisible ones tho but should be mostly same deal
multiedits later:
messed with it in theory was workin but not in results, although that earlier one worked put a more complicated list to have every scenario at once bascially, divisible, multi divisble, multi divisible with multi entry, single entry with no divisible with anything, multi entry not divisible with anything, was getting a number did perfectly divide all of them but they werent ending at the same, tryin a that number x the number of entries seems to work so far but idfk semi advanced maths or something
bunch later edit:
looks like still workin but tryin some testing looks like should be fine to refactor the code to just not bother with the duplicate ones and just treat them as the same(basically was doin the same math anyways in the end) just for readability in the future having less possible conditions to check for, also some specific scenario can make the thing shorter by not treating them as the longer length, like if it was for a 13 but longest list is 24, having a 13x3 would be 39 would end up like 39 * number of divisible lists so 13 or whatever also increases by 39 every time before it would then multiply that total by 24
so sometimes shorter, but mostly easier to read, and will be more similar to the other part for the divide stuff when start working on that, since that would never have the duplicate stuff either
bedit2: was messin with refactoring and doin some testing while gettin it goin noticed it seemed to work even when it was way simpler/part wasnt working
seems like might work if just do each highest [unique non divisible into another number]
(e.g. if had 52 26 and 13 ignore the lower divisible numbers and just count 52) times every other [highest unique number]
, then at the end times the [total the number of entries]
in total(including all the excluded ones)
so far seemin to work but gotta do testin before finalize obviously, makes sense mostly, in that its a number is divisible by every entry, and that final times all entries, is how many entries is 1 loop
, and trying to get it to have them all end within 1 loop
got the other way workin same as before can just change comment out to try different ones to compare currently, just tryin to get it to the lowest number that works reliably, if just multiply all of them will work every time is just exponentially larger