log☇︎
85400+ entries in 0.015s
asciilifeform: work out the arithmetic
asciilifeform: what's L in your case, mod6 ?
asciilifeform: likewise the ability to refer to Foo'First and Foo'Last -- arrays know their size; and taking a slice from a nonexistent portion behaves SANELY (i.e. is a slice of size 0, and it is legal to assign another array to it, this is a null op)
asciilifeform: the 'index arrays from whatever' thing in ada is genius, it abolished the megatonnes of increments and decrements that litter c proggies and inevitably lead to 'fencepost' eggog
asciilifeform: ( which is WHY i numbered'em from 1 !! )
asciilifeform: ergo foo.Z(foo.Z'First .. 4) gives you the lower 4 words, for instance
asciilifeform: so you can see that the words are indexed from 1
asciilifeform: mod6: note, Z : Words(1 .. WLength) := (others => 0);
asciilifeform: mod6: look at ffa.ads
asciilifeform: ACHTUNG s.nsa customers!! all outstanding-through-today FUCKGOATS have shipped
asciilifeform: ( see ffa.ads )
asciilifeform: however we don't have 0length Zs
asciilifeform: sure does, see ada spec
asciilifeform: ... just read it, probably will make moar sense than my explaining it ( and if this is not so, then it is not written correctly )
asciilifeform: grr
asciilifeform: ben_vulpes: ben_vulpes: f also 'fixed' !1111
asciilifeform: ben_vulpes: finite field arithmetic
asciilifeform: likewise, whole thing is 100% cpu arch AND endianity (!) independent, having any asm in the mix would ruin this.
asciilifeform: mod6: ffa has to stay an algebraic, if you will, whole, or you cannot prove that it works.
asciilifeform: it defeats entire point of the entire thing.
asciilifeform: mod6: i haven't tried and have 0 intention of
asciilifeform: wb mircea_popescu
asciilifeform: pleeez, folx, write in re typos, or any item that is unclear ( unclear is in itself a bug in critical code )
asciilifeform: ( oh, typo in comment : '-- J1 := Remaining J of Y' of course oughta be '-- Y1 := Remaining J of Y' )
asciilifeform: mod6, phf , et al -- see if you grasp how the thing worx.
asciilifeform: so there is no handwave away, 'average case will be better'. there IS no average case distinct from the others here.
asciilifeform: there are NO best-cases, or worst-cases.
asciilifeform: also gotta understand what the F in 'ffa' means. it means that N**2 takes exactly same time as N**N ☟︎
asciilifeform: ( or, charitably, because ada committee could not rely on ALL cpu having ability to return top word of mul, or even HAVING an iron mul )
asciilifeform: this is all because compiler is maliciously retarded
asciilifeform: not to mention the shift and AND in the bottomhw/tophw subs
asciilifeform: doing FIVE ( yes, it's five ) machine muls, in there, and 5 machine adds ( instead of motherfucking ZERO ) JUST TO GET THE UPPER WORD of word*word mul, is not. ☟︎
asciilifeform: the former is also afaik going nowhere.
asciilifeform: main thing nuking the speed is the W_Mul thing and the fact that we copy EVERY split. the latter is not avoidable given as we ban pointers
asciilifeform: mod6: i mentioned all of the ones i could think of -- larger base case ( trivially necessary ), and parallelized recursing ( unacceptable in the msdos port, or on single-cored machines of whatever type, however )
asciilifeform: ( not to mention ~worthless for mircea_popescu's prize-problem of 'pure rsa link b/w 2 machines' )
asciilifeform: at best.
asciilifeform: mod6: understand, that translates into a YEAR or two of 4096bit rsa keygenning time.
asciilifeform: in that i still do not know if the problem can even be solved satisfactorily.
asciilifeform: so far this has been a quite depressing exercise
asciilifeform: *speedwise
asciilifeform: mod6: understand, we're still an entire order of magnitude away from being able to so much as miller-rabin.
asciilifeform: and yes, one can inline asm it. however the EXPLICIT spec was : NO ASM!!!!!
asciilifeform: ( see procedure W_Mul )
asciilifeform: so we end up having to do FOUR multiplications !! and buncha additions, to get it
asciilifeform: the INFURIATING thing is that, just as with the addition/subtraction carry bit (last month's thread), the compiler DOES NOT give us portable access to the upper word of MUL reg,reg
asciilifeform: ( 8192bit exponentiation: ~10min with egyptological mul; 20.5s was with first-grade mul; 17.7 with karatsuba posted today ) ☟︎
asciilifeform: base case definitely should not be 1.
asciilifeform: mod6: interestingly, there is veeeeery little improvement so far, http://btcbase.org/log/2017-05-23#1660607 turns into 17.7 sec !! ☝︎
asciilifeform: ^ this oughta suffice, for whoever wants to try.
asciilifeform: but keep in mind mod6 et al that where before you had package ALU is new FFA(Width => Width, Word => OS.Machine_Word); you will now have, e.g., package ALU is new FFA(Word => OS.Machine_Word);
asciilifeform: likewise 'bitness' of an FZ refers solely to the number of bits available in it, and does NOT and never will depend on their ~contents~ ( unlike non-fixed bignumatrons )
asciilifeform: ( you physically cannot have karatsuba or anything of the kind if you cannot make FZs of several sizes. however the F remains, it is still impermissible to involve FZs of variant bitnesses in any arithmetical operation when invoking . )
asciilifeform: in all other respects, same semantics as previously.
asciilifeform: mod6: if you want to test, keep in mind that you gotta Foo : FZ(Bits) ; now, rather than Foo : FZ;
asciilifeform: not yet.
asciilifeform: not as nice as needed
asciilifeform: also it is almost certainly possible to have less copying in there.
asciilifeform: the 'egyptological' mul has been removed, it is not useful
asciilifeform: also can probably be simplified slightly.
asciilifeform: ^ veeeery prelim. version, i still gotta prove that it worx always and forever.
asciilifeform: >>>>> http://wotpaste.cascadianhacker.com/pastes/Zy27g/?raw=true <<<<< ( CAUTION, mod6 , phf , et al ! the invocation syntax has changed !! )
asciilifeform: i'ma about to post, momentarily,
asciilifeform: phf: aactually thing got ~shorter~
asciilifeform: and, unrelatedly, karatsuba parallelizes (into 3 forks) without any substantial effort, so can also speed up whatever the bare bone speed ends up being, 3x
asciilifeform: because at present the base case of the recursion is L=1 , and probably ought to be 4, or even 8 machinewords;
asciilifeform: ACHTUNG, PANZERS! preliminary result of http://btcbase.org/log/2017-06-18#1672101 is that http://btcbase.org/log/2017-05-19#1659220 nao takes <3 sec. which can still be improved further, ☝︎☝︎
asciilifeform: iirc is supposed to make victim somewhat less cautious in general
asciilifeform: i'd be surprised if it worked exactly same in man as in mouse
asciilifeform: toxoplasmosis comes to mind also
asciilifeform: ^
asciilifeform: more like the kind you exorcise
asciilifeform: approx
asciilifeform: lolyes
asciilifeform not aficionado
asciilifeform: kabuki-style
asciilifeform: i thought star dreck was mostly about fucking peculiarly humanoid alien chix
asciilifeform: shinohai: ' It can handle chat, audio and video calling, photo/video/file sharing, voice conferences, etc.' << lol! over bitcoin tx?!
asciilifeform: shinohai: that dun sound like gossipd, sounds moar like http://www.loper-os.org/?p=1490
asciilifeform: just one with a topdeck, like (afaik) all of'em
asciilifeform: mircea_popescu: nope, lol
asciilifeform: ( where the 3mo limit is imposed by the practical load of food, and little else )
asciilifeform: you're thinking of today's atomic monsters, mod6
asciilifeform: or even close
asciilifeform: mod6: no ww2 sub was capable of 3 month patrol
asciilifeform: ( ww2 sub folx -- certainly did, witness the group photos )
asciilifeform: nothing keeps the mariner from hanging out on the deck when weather is fine, neh
asciilifeform: mircea_popescu: funnily enough, i have that part ( if little else ) solved.
asciilifeform: https://archive.hnsa.org/ships/img/kaiten.jpg << probably the sub mircea_popescu was thinking of !111
asciilifeform: lol dun have to be solitary, does it
asciilifeform: while we're on subj of storms at sea -- i admit to having wondered why orlol isn't designing a small sub ( it doesn't need to have gigantic pressure hull, or even ~any maneuvering ability while under -- but only to ride out storms by submerging). afaik it dun get any moar storm-proof than a sub.
asciilifeform: ( or petrol, for that matter )
asciilifeform: i dun think an orloltron carries 12 wks of food/water
asciilifeform: sets in after a month..?
asciilifeform: mircea_popescu: what's the 'late' ?
asciilifeform: much less physical contraption like boat
asciilifeform: it is hard enough to buy massless, teleportable btc, even
asciilifeform: getting to where you can buy outside of the reservation is also not phree
asciilifeform: that may or may not be +ev
asciilifeform: mircea_popescu: my observation was the the 'warranty' of new item is a very, very expensive thing