153500+ entries in 0.096s

apeloyee: you sort
them at
the biginning, using a mux.
apeloyee: let a, b be inputs; a > b. shift b left so
that it has one digit less
than a (using CLZ and secretshift), subtract b from a repeatedly (at most
thrice). b:= new result, a:=b
apeloyee: just do some muxes in
the end. 2*bitness divisions obv suffice (actually less, but I'm sleepy now)
apeloyee: I'm simply saying
trial division is better
than what you have
apeloyee: you gcd is O(N^3), and so is
trial divisiom
apeloyee: asciilifeform: just do
trial division.
apeloyee: now let's
try generalizing
to standard barrett (the error will grow
to 2 of course). let L be number of digits in N: 2^(L-1) <= N < L. L is calc'd with
the CLZ algorithm
deedbot: asciilifeform updated rating of apeloyee from 1
to 2 << A - N*floor(A*R/4^K) < 2*N
apeloyee: and in one side only, as obv can't be bigger
than (A/N)*4^K
apeloyee: which is equal
to (A/N - 1)*4^K
apeloyee: A <4^K, so
the above strictly >(A*4^K)/N - A.
apeloyee: let rewind. A*R = A*(4^K - B)/N = (A*4^K)/N - A*B/N; as B <= N,
then
the previous >= (A*4^K)/N - A. clear?
apeloyee: A - N*floor(A*R/4^K) < 2*N <- do you agree with
this? (the proof is unnecessarily complicated in
that paste)
apeloyee: in
the posted version exactly ONE is needed
apeloyee: meaning you divide 4^K - 1 by
the modulus, not 4^K
apeloyee: if N is 2^(K-1),
then ordinary quotient won't fit in K+1 bits. but pseudo-quotient (one less
the actual quotient) still works.
a111: Logged on 2017-10-05 16:15 asciilifeform:
the (unsurprising) surprise is
that ^method is wholly absent from
the public lit
trinque: but
this is getting ridiculous
trinque: when I get around
to it sure
apeloyee: no
thinking
that i can
think of.
trinque: yes, and I barfed
the key out of same gpg
to put it on
the wot site
mircea_popescu: trinque well in fairness, it does say BAD right
there in
the leadup
trinque: apeloyee: gpg: BAD04B14A4545828FABCE63C3DB30625393C0BB1: skipped: unusable public key << gpg has
this
to say about your fp
☟︎ apeloyee: per spec
the bitness is a power of
two
apeloyee: I assumed
the elementary shift doesn't leak. whatever, just do
the sub-word shifts with
the same algorithm (with word size 1)
apeloyee: goddamnit. it's FIXED!!! first sub-word one (which doesn't leak in our model),
then by 1 word,
then by 2,
then 4, 8 and so on
apeloyee: asciilifeform: write
to gmp authors
that you got your 4096-bit mul faster
than
that.
trinque: apeloyee: you
tried sending a private message
to deedbot with !!up ?
apeloyee: log(bitness) passes over and
the same number of muxes are "massive costs" in your universe?
a111: Logged on 2017-09-21 16:22 asciilifeform: !~later
tell apeloyee i studied your algo, it (aside from
truly massive cost,
that would annihilate savings from newton, or barrett, or just about any other
trick) ~still leaks~, because shifting by >wordsize is a fundamentally different op from shifting <wordsize; and
the only way for
this
to not be
true is for all shifts
to happen as a series of wordsize shifts; and a shift by ffawidth-1 (max shiftness) would
then consist of ffawor
apeloyee: (except
the first sub-word one)
apeloyee: the operations
themselves leak anyway. i
thought
they shouldn't leak operands?
mircea_popescu: apeloyee but now you can
tell what size
the shift was,
to some degree, by
timing.
apeloyee: a shift by multiple of
the wordsize
takes considerably less
time
than by not << and a multiply
takes more
time
than add, what.
apeloyee: leaks _what_? it does
the same fixed shifts, regardless of operands
mircea_popescu: ben_vulpes
technology is built by steps. so far, being able
to put in machine
terms a "ask all
the bots see which one mentions 'payments' as a string" is a legitimately useful ability.
mircea_popescu: the part what's under discussion is
the ~why~ nobody implemented
the json/sexpr part of
the spec./
ben_vulpes: and what, a machine-understandable description of what each extra-spec command does? i didn't
think anyone here operated machines
that /thought/.
mircea_popescu: well yes.
the part where
the spec should be followed is not under discussion.
ben_vulpes: the response from
the bots
to what
they can do. either
they're all spec-compliant, respond
the same way
to
the same set of commands, or
they don't.
apeloyee: and ftr secret shift does work. if asciilifeform
thinks it's slower
than division, he must be chugging really strong stuff.
mircea_popescu: but practice aside, shouldn't i have
the ability
to query a bank of seated whores, "what can you do ?"
mircea_popescu: exactly like
the original url worked, in practice
the spec never delivered
this magical ability
to query servers for resources
to
the end user.
mircea_popescu: well
the original case was
to end up with a proper universal api.
ben_vulpes: i am struggling
to see
the case of ever. someone programming against bots should read
the help
themselves and implement
the api described.
mircea_popescu: now
the question here is, do we actually want
to ditch
the machine portable portion of
the help ?
mircea_popescu: ok so results of audit : Framedragger, shinohai, phf : your bot has no help implemented whatsoever, in spite of spec.
trinque Framedragger you don't follow
the json/sexpr portion, bot simply puts out
the same help.
☟︎☟︎ lobbesbot: mircea_popescu: (help [<plugin>] [<command>]) --
This command gives a useful description of what <command> does. <plugin> is only necessary if
the command is in more
than one plugin. You may also want
to use
the 'list' command
to list all available plugins and commands.