« first day (1386 days earlier)      last day (1271 days later) » 

5:07 AM
@Adám ah yes 2048
 
 
2 hours later…
6:51 AM
Any good ways to shorten this? Try it online!
 
@Razetime -1
@Razetime Willing to use use 18.0/Extended?
 
sure why not
 
0
A: Each step of the Levenshtein distance

RazetimeAPL (Dyalog Extended), 43 40 bytes {⍺<⍥≢⍵:⍺∇⎕←1↓⍵⋄i←⊃⍸⍺≠⍵⋄⍺≢⍵:⍺∇⎕←⍺[i]@i⊢⍵} Try it online! A recursive function submission. -3 bytes from Adám. Input is taken as <s2> f <s1>. Explanation {⍺<⍥≢⍵:⍺∇⎕←1↓⍵⋄i←⊃⍸⍺≠⍵⋄⍺≢⍵:⍺∇⎕←⍺[i]@i⊢⍵} ⍺<⍥≢⍵: if the strings have differ...

 
@Razetime I don't think it solves the challenge
e.g. 'Saturday' f 'Sunday'
 
7:08 AM
> You can assume that the length of s1 will always be smaller than 30 and bigger than the length of s2.
@Razetime Are you sure this is right for 'abcdef' f 'abcdefX'?
 
7:22 AM
@Adám hm, I followed the js answer
maybe not too exactly
 
The JS answer is wrong in the first place
 
somehow accepted ⍨
 
Haskell answer looks correct, as it transforms Programming to Codegolf in 10 steps, not 11
@Razetime No, yours still takes 11 steps from Programming to Codegolf
(Good luck deciphering the Haskell answer though)
 
LEarned a bit for husk
but golfy haskell is scary
 
7:42 AM
I feel like an idiot. I just can't seem to get my head around the behaviour of ⍤.
I mean, I use it often enough in its simple form, but when you have multible arguments with negative values, it breaks down.
 
7:57 AM
@EliasMårtenson First, you expand the right operand to the 3-item vector form. Then you choose the numbers corresponding to the arguments. If a number is negative, add the rank of the corresponding argument to it. Personally I would then create an array of arrays for each argument, and then do ⊃processedLeft f¨processedRight,
 
@dzaima Oh, that sounds easy.
I can try to do that. Would you be able to give me a couple of expressions that I can put in my test cases for it?
 
@EliasMårtenson here's my BQN impl, which should match APL besides the BQN things that don't match
@EliasMårtenson some with 1 argument
 
@dzaima Thanks! I'll integrate those tests.
Could you help me make one with 2 or 3 args as well?
 
@dzaima (r() is rank, ia is shape product (item amount), f=⍶,g=⍹,w=⍺,x=⍵, MutVal.cut creates a subarray of an array (i.e. cells is ⊂⍤(-n) or something))
@EliasMårtenson if by 3 args you mean using something else than , then i'm on it
@dzaima (those are 1-indexed btw ಠ_ಠ)
 
@EliasMårtenson Check out the APL Wiki article and the Dyalog Webinar mini-series on Rank: 1, 2, 3.
 
8:10 AM
@dzaima ah, 2 or 3 args in the right argument ಠ_ಠ
 
@Razetime Ouch.
 
@Adám You mean Ouch
 
@EliasMårtenson some
 
@Razetime Yeah. Another test case you should use is ABCxDEFABCDEF.
 
8:14 AM
 
@dzaima (that doesn't test what should happen if the rank asked for is too high or too low (i.e. ⊂⍤99⊢2 3⍴⍳6) because i don't particularly like what it does)
 
@Razetime Ah, OK. While you're obviously not done yet, note that your code has a lot of golfing opportunities,
@dzaima I've always wondered why doesn't add leading axes when asking for too high rank. I guess the current behaviour is usually what one wants, but it does seem a bit odd.
 
@Adám yes lemme finish it first
 
@Adám well, my personal choice would be to error :P
 
@dzaima I meant something like A (FN ⍤ X Y Z) B. Where X, Y and Z are numbers.
 
8:20 AM
@EliasMårtenson yeah, understood that. my last batch has some
 
@dzaima Very much appreciated. I'll put them in the test cases and then work on the implementation.
 
a bit more with actually expected usage
 
Quite busy in the office today, and I had to do some errands over lunch so I didn't have time to work on this yet.
 
(also fwiw ngn/apls tests may be worth looking at, but doesn't give much here as ngn/apl doesn't have )
 
8:24 AM
@dzaima (and to think i didn't at all understand how worked before i implemented it for dzaima/BQN..)
 
@dzaima Best way to learn. :-) There are several APL primitives I didn't understand before implementing them.
 
@EliasMårtenson indeed
 
@EliasMårtenson Which ones? We should make a point of explaining them more.
 
a question is how lazy evaluation fits into this. Doing everything lazily would mean each item could be recalculated many times because it's needed (i.e. the 0 10 in 0 10(+⍤¯1)2 5⍴⍳10 has each item requested 5 times)
 
@RGS I see @rak1507 used ↑ to splice the arrays into one with a higher rank. Not sure if that's what you were waiting for me to find :) But +/↑⍳2 2 and +/¨⍳2 2 seem to give the same result in the end
 
8:30 AM
@Adám Most recently, ⌽ with array left argument.
 
Ah. Right.
 
@xificurC they achieve the same thing indeed. "exchanges" depth for rank
 
@Razetime 70
 
@dzaima they're also equally fast, so i'd even prefer +/¨⍳2 2
 
8:32 AM
@dzaima Yes, at least initially that would happen. For each function it's a judgement call whether to collapse any of the arguments before returning the lazy result. In this case, it may make sense to collapse it.
 
@Razetime Now combine the good stuff from ^^^ with your tricks, and you're good to go.
 
@EliasMårtenson here only one argument would be needed multiple times, so a strategy would be to collapse only it
 
@Adám looks like yours is shorter
 
@dzaima (which one that is, i don't know :P)
 
@dzaima how can I compare the runtime of the two? I saw people using ]runtime but forgot the API
 
8:35 AM
@xificurC ]runtime -c "+/↑⍳200 200" "+/¨⍳200 200"
 
@Razetime But you did some other stuff I don't have time to look at now.
 
not that much lol
I just copypasted an APLcart snippet
 
  +/¨⍳300 300 → 4.8E¯3 |  0% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
  +/↑⍳300 300 → 4.8E¯3 | -1% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
oh right, this chat hates multiline
 
@xificurC it does. You either monospace the whole message (ctrl+k), or none of it
@xificurC eh
 
I'd like to understand how this crying baby ⍤ works. I guess one can live without it but it seems to be used to simplify/tacify solutions
you provided the definition but an example where a longer solution is simplified by its usage would be more educational at this point
 
8:44 AM
@xificurC the usage in tacit code is a completely different thing than what we talked about implementing above fwiw
@xificurC recall that dice program of {⍳⍺⍴⍵}? With Crying Baby, it's just ⍳⍤⍴
 
RGS
@xificurC yes, I was thinking something along those lines. But the point of using the Mix function is that you can finish your solution completely in an array-based way, no need to ever loop over the several rolls
 
so pattern-wise f⍺g⍵ is f⍤g. That actually matches the definition you posted which was {⍺⍺ ⍺ ⍵⍵ ⍵} IIRC
 
@xificurC yep, precisely :D
 
but the solutions I see here are often crying babies pointing fingers
@RGS everything's a loop in the end :)
I understood ¨ as map
 
@xificurC but implicit loops are usually faster in APL than explicit ones
 
8:50 AM
@dzaima in this case ¨ was faster than ↑ though, as measurements showed, by a whopping 0-5%
 
@xificurC yeah, that's a side-effect of being very bad as it creates a bunch of tiny arrays
 
I don't see ¨ as an explicit loop though, there's no for(i=0;i<arr.length();i++) there :)
 
@xificurC f⍤⊢ and f⍤⊣? Those translate to {f⍺⊢⍵} (equal to {f⍵}) and {f⍺⊣⍵} (equal to {f⍺}) and so are just "apply f to left/right argument only"
@xificurC what's "explicit" is relative of course, but ¨ is plenty explicit in APL
 
my solution to yesterday's rolling problem was simplified by @Adám to {r/⍨⍺≤+/¨r←,⍳⊃⊢⍤/⍨/⍵}. There's a crying baby with a finger :)
 
@xificurC ⊢⍤/ is quite a special case. It expands to {⍺/⍵}, but because / is schizophrenic, we can't just use / in the expression or it'll choose, against our will, to go with its operator personality
 
9:06 AM
So ⊢⍤/⍨/⍵ becomes {⍺/⍵}⍨/⍵, which becomes {⍵/⍺}/⍵, so reverse-replicate-reduce. Since ⍵ has 2 items, it expands to ⊂ ⍵[1] {⍵/⍺} ⍵[2]⊂ ⍵[2] / ⍵[1]. Since there's a pointless there, we it and now you have the argument of ready as just ⍵[2] / ⍵[1]
@xificurC also ⊢⍤/ can be replaced with for 2 golfed chars
 
 
1 hour later…
10:36 AM
finally did projecteuler.net/problem=31 after putting it off for a while, my solution is a bit bad though, does anyone have a nice more array oriented solution?
 
RGS
@xificurC Like dzaima said, the loops the C implementation does are generally better than explicit APL loops
@rak1507 do you know generating functions?
 
A bit
 
RGS
I'm sure there's a solution with generating functions for that that is elegant in APL
 
10:55 AM
Yep, generating function approach was almost instant
 
RGS
You already did it? XD
I'm still fixing bugs in mine ahahaha
 
lol
 
RGS
gimme a sec, I want to finish mine before seeing yours
 
Yours will probably be better, mine is bodged together
Ofc
 
RGS
@rak1507 I wouldn't be so sure xD
 
11:02 AM
This is really weird, the functionality of APL has just changed
My code doesn't work any more, after clearing the WS, restarting, etc
 
@rak1507 ⎕IO?
 
Still the same, I'm gonna restart my PC I think...
I feel like an idiot, it was ⎕IO, it was on 0 for some reason, oops...
I have no idea how it changed back though
 
We've all been there.
 
`
 
@Adám I was just about to type exactly that...
 
11:09 AM
⋄⎕CY 'dfns'⋄{2{⍺/⍨⍺≠⍵}/(⊂∘⍋⌷⊢)↓⍵[pmat≢⍵]}3 1 5
 
@Razetime
Illegal code
VALUE ERROR
 
@RGS got your solution yet? xD
 
@Razetime Bot doesn't allow copying in (potentially unsafe) code.
 
oh well
 
RGS
@rak1507 I think I'm making some mistake in encoding the combinations as the coefficients of a polynomial
I can show you what I've got so far
⋄ ⎕IO ← 0 ⋄ p ← ⍸⍣¯1⊢1 2 5 10 20 50 100 200 ⋄ ⊃⌽{l←≢⍵ ⋄ p+l↑+⌿(-⍳l)⌽(0⍴⍨l-0 1),⍨p∘.×⍵}⍣199 ⊢ p
 
11:11 AM
@RGS 2.360520943E46
 
RGS
Which is waaaaaaay too much
 
$BIGNUM
 
no idea what you're doing there
I outer product-ed the 'infinite' sums up to n=200
 
RGS
@rak1507 Supposedly that is what I am doing
What polynomial did you use?
 
Oh maybe you need ∘.+ not ∘.×? not sure
 
RGS
11:15 AM
1 + x + x^2 + x^5 + x^10 + x^20 + x^50 + x^100 + x^200?
 
@Adám Just realized, why do I have 3 active bounties?
 
(1+x+x^2+x^3...)(1+x^2+x^4+x^6...)(1+x^5+x^10+x^15...) etc
 
RGS
@rak1507 What, really..?
 
@Razetime You're the only one with requests.
 
RGS
That does make sense, but I can't seem to understand the problem with my approach
 
11:17 AM
Yeah, I looked it up, I don't really get it 100%
 
oh lol
 
RGS
ah I get it, mine is wrong because I am overcounting things
 
My solution is still not very optimal, it WS-fulls for 290+, considering I'm storing all the exponents and then doing +/⍵=..., there must be a better way to just store the coefficients and do maths on that instead
 
RGS
⋄ ⎕IO ← 0 ⋄ mult ← {l←≢⍺ ⋄ +⌿(-⍳l)⌽(0⍴⍨l-0 1),⍨⍺∘.×⍵} ⋄ ⊃⌽201↑⊃(201∘↑⍤mult)/{201⍴1,0⍴⍨⍵-1}¨1 2 5 10 20 50 100 200
 
@RGS 73682
 
RGS
11:24 AM
Hm extra 201↑ there
⋄ ⎕IO ← 0 ⋄ mult ← {l←≢⍺ ⋄ +⌿(-⍳l)⌽(0⍴⍨l-0 1),⍨⍺∘.×⍵} ⋄ ⊃⌽⊃(201∘↑⍤mult)/{201⍴1,0⍴⍨⍵-1}¨1 2 5 10 20 50 100 200
 
@RGS 73682
 
RGS
That only keeps the relevant coefficients
 
That's it
Mine was 1 2 5 10 20 50 100 200{+/⍵=⊃⍵{⍺⍺{⍵/⍨⍵≤⍺⍺},⍺∘.+⍵}/⍵{⍵/⍨⍵≤⍺}¨0,¨↓⍺×⍤0 1⊢⍳⍵}200
 
RGS
Improved (?) to ⋄ ⎕IO ← 0 ⋄ coins ← 1 2 5 10 20 50 100 200 ⋄ mult ← {l←≢⍺ ⋄ +⌿(-⍳l)⌽(0⍴⍨l-0 1),⍨⍺∘.×⍵} ⋄ M ← 1+⌈/coins ⋄ ⊃⌽⊃(M∘↑⍤mult)/~×coins|↓coins∘.⊢⍳M
 
@RGS 73682
 
RGS
11:33 AM
@Adám APLCart's is tacit and mine is not, but how would you stack my polynomial multiplication against yours?
      p ← ?500⍴10
      q ← ?500⍴10
      myMult ← {l←≢⍺ ⋄ +⌿(-⍳l)⌽(0⍴⍨l-0 1),⍨⍺∘.×⍵}
      aMult ← (+⌿∘↑(,\0×⊣)(1↓,)¨×∘⊂)
      ]runtime -c "p myMult q" "p aMult q"

  p myMult q → 6.0E¯4 |   0% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
  p aMult q  → 8.3E¯4 | +39% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
Mine doesn't look that bad, hun? Who would've known
 
12:09 PM
1 2 5 10 20 50 100 200{⊃⊃{+⌿⍺↓⍤0 1⊢⍵}/(⍺×⍳¨1+⌊⍵÷⍺),⊂0,⌽⍵↑1}200 this solution is the best I've come up with so far
0.1 ms, not bad
 
RGS
@rak1507 how do I measure the time of mine?
 
Yours seems to be about 0.64 ms
 
RGS
@rak1507 but how do you measure it? :P
 
      ]runtime -repeat=1s '⊃⌽⊃(M∘↑⍤mult)/~×coins|↓coins∘.⊢⍳M'

* Benchmarking "⊃⌽⊃(M∘↑⍤mult)/~×coins|↓coins∘.⊢⍳M", repeat=1s
                     (ms)
 CPU (avg):  0.640625
 Elapsed:    0.6416015625
      1 2 5 10 20 50 100 200 {⊃⊃{+⌿⍺↓⍤0 1⊢⍵}/(⍺×⍳¨1+⌊⍵÷⍺),⊂0,⌽⍵↑1}200
73682
      ]runtime -repeat=1s '1 2 5 10 20 50 100 200 {⊃⊃{+⌿⍺↓⍤0 1⊢⍵}/(⍺×⍳¨1+⌊⍵÷⍺),⊂0,⌽⍵↑1}200'

* Benchmarking "1 2 5 10 20 50 100 200 {⊃⊃{+⌿⍺↓⍤0 1⊢⍵}/(⍺×⍳¨1+⌊⍵÷⍺),⊂0,⌽⍵↑1}200", repeat=1s
                     (ms)
 CPU (avg):  0.1153428819
 
RGS
Ah nice
Thanks for teaching me that
 
12:19 PM
Np
There's also a straightforward ]runtime -repeat=n which does it n times
 
RGS
Yes, thanks! :D
 
Haha, you beat me to posting in the forum!
What's your friend key
 
RGS
12:38 PM
@rak1507 Add yours as well!
534307_txd2aog2HljcEXHnWGOtlQlbd2h3KVKa
 
It's crazy how old project euler is, I didn't realise it had been going for so long
 
RGS
Yup, pretty impressive
 
 
2 hours later…
2:31 PM
I just found 2⊢/ in some code I'd written... what was I thinking
 
@rak1507 probably what would happen if you did that
 
It's just 1↓, I don't know why I didn't do that instead
 
Argh, in implementing support for ⍤, I have across a parser problem. Due to the way the parser generates code, the expression A (FN ⍤ X) B ends up being evaluated in the order B,A,X, instead of the expected B,X,A. This is annoying.
Basically, the evaluator always evaluates the arguments B followed by A and then calls the function. The function is derived from the operator, so it can only evaluate X after it's been called.
Not asking anyone to solve my problem, just want to rant a bit in order to clear my head :-)
 
3:17 PM
@EliasMårtenson btw, what are your rules about functions with side-effects?
 
@dzaima "you're on your own", pretty much. Or perhaps, "be careful"
If you rely on the side effects, you have to make sure the result is collapsed. In many cases, that's not really a problem since if your program contains something like: "print foo", then that function call will be called immediately and that's that.
You can also do something like print¨foo. now, this will also do what you expect, since a function that is run without the return value used, will always be collapsed.
 
@EliasMårtenson personally I don't think that's of too much of a problem. Is operator derivation lazily evaluated or is it just that your evaluator derives the operator after the left argument in any case?
 
The operator is derived when the function is called. I can't resolve it earlier because as parse time there is no evaluation context (RuntimeContext)
 
if you had function assignment, i'd suggest testing (f 4) (f←-) 5 but you don't :/
 
With side-effects one has to be careful anyway, since something like foo¨bar could call foo multiple times in parallel if threading is enabled.
 
3:23 PM
@dzaima (with side-effects being "you're on your own" it's even less of a problem)
 
Hmm, I just realised another thing about ⍤. I can't return a lazy value, because the dimensions of the result is determined only after evaluating all the cells.
@dzaima Yeah, I was just justifying why it's that way. I prefer to leave it open for exploitation by clever programmers, than trying to use the type system to guarantee it never happens.
 
Can't you calculate it?
 
@EliasMårtenson ah right, that'd implicitly be done in the implicit , so you're best off collapsing
 
@dzaima Exactly.
 
@rak1507 that'd require a turing complete "calculator", which is no better than just evaluating
 
3:27 PM
Is there something special about ⍤ that means you can't calculate the dimensions without evaluating? Maybe I'm missing something
 
@rak1507 the dimensions depend on the results of . It's the same reason you can't know the shape of (Dyalog syntax) ↑f¨x from just x
 
@rak1507 Yes. Consider the following: ({X,⍵}⍤1) 2 3 ⍴ ⍳10. The dimensions of the result depends on X, which is only evaluated inside the function.
 
Wouldn't that be the same with any operator then?
 
@rak1507 No. With ¨ for example, the resulting dimension is always the same as the argument.
I don't have to evaluate the base function to determine the dimensions. So I can return a synthetic array that just defers the evaluation until a value is requested.
 
@RGS It doesn't seem to handle ≠⍥≢
 
RGS
4:05 PM
@Adám What do you mean..?
 
4:49 PM
@RGS E.g. (x+2)(3x²+4)=3x³+6x²+4x+8, i.e. 1 2 f 3 0 4 gives 3 6 4 8.
 
RGS
My input is ltr
index 0 for degree 0
1 + 2x + 10x^2 is 1 2 10 for me
 
But all the other polynomials are descending.
(I should add that description to this one, though.)
Originally, APLcart had a mess of ascending and descending expressions, so I normalised them all to be descending.
Hm Difference is missing
 
RGS
Didn't notice that
Just implemented it the way it seemed more obvious
but i'm sure mine is easy to adapt
 
5:15 PM
One of the reasons to prefer descending is that it is more complicated (using twice) and so it is quite obvious how to amend for ascending.
 
I prefer my method :P
Somehow I only just realised that I must have entered my name in wrong when signing up to dyalog 20, and now it has an extra r at the start, oops
 
@rak1507 Yeah, I was wondering why, figuring it was an additional first name.
My wife put her name in lowercase, so the system kept referring to her like that.
 
I can't even spell my own name properly
 
Hey, it took me 10 years to learn to spell mine.
 
Everyone should have symbols for names, the APL way
 
5:27 PM
Like in East Asia?
Hi, I'm ⍺⍨
 
lol
 
Hi, I'm ⊆⊤∊⌈⍺∩, sort of
 
I already have one character in my name that gives me no end of problems here in Singapore.
And you'd think they'd be able to handle it given their large number of people using chinese and tamil.
 
⋄ 'Mårtenson'≡'Mårtenson'
 
@Adám 1
 
5:40 PM
@DyalogAPL Wat?
⋄ 'Mårtenson',⍥≢'Mårtenson'
 
@Adám 9 9
 
Wait a minute, does SE chat normalise?
 
@Adám Raku possibly does, SE chat doesn't (you can copy the different chars out)
 
@dzaima Ah, so it is because the bot is in Raku!
 
@Adám exactly my guess
 
5:42 PM
@xpqz Or ⌈~∊_⍺⊤
ngn's business card from when he worked at Dyalog:
 
Well, time to go to sleep. Thanks for all your help again.
 
6:00 PM
@Adám that's ace
Meta-q: how do you embed images in SE chat like that?
 
@Adám I changed them to be ascending in BQNcrate.
 
@xpqz I paste here then right-click → "View image", then copy the URL and paste that in chat.
@Marshall Yup, but BQN uses 0-based indexing.
 
RGS
7:01 PM
@Adám I had heard about this
But now I'm disappointed, I thought the APL code ngn had in his card actually worked :P
 
7:18 PM
Did he get fired when he whitnified the entire code base? haha
 
7:59 PM
@rak1507 No, although it took some effort for people to pick up the Whitnified RIDE source.
 
Did he actually code like that at dyalog?
 
Yes.
 
@Adám is that a "no" for not being fired for that, not doing that, or was the code already whitney-style?
or did ngn only work on RIDE?
 
I didn't think people would code like that in a team
 
@rak1507 i mean i'd assume that too, but who knows
 
8:12 PM
@dzaima No as in "false premise" (changing the entire code base). Also, he didn't get fired.
@dzaima He worked on other things too, but I've not looked at any of that code
 
Out of fear?
 
RGS
8:32 PM
@rak1507 that would be my reason, at least
 
@rak1507 What are you asking? If he refrained from Whitnifying out of fear or if I avoided looking at the code out of fear?
 
If you avoided looking at the code out of fear
 
No, but I don't speak C, so I gain very little from spending time looking at the interpreter sources.
 
 
1 hour later…
9:59 PM
If I have a list of numbers 1 2 3 4 5 6, is there an easy way to convert it to 12 34 56?
 
@rak1507 In Extended and dzaima, yes.
 
how about regular
 
⋄ {10⊥⍵}⌺(⍪2 2)⊢1 2 3 4 5 6
 
@Adám 12 34 56
 
Longer, but more efficient vanilla: ⋄ 10⊥⍉(⊢⍴⍨2,⍨2÷⍨≢)1 2 3 4 5 6
 
10:07 PM
@Adám 12 34 56
 
ngn
@Adám @xpqz there's also an "upload..." button to the right of where you type
 
@ngn But unfortunately, it doesn't allow pasting from clipboard.
 
ngn
@rak1507 :) i have been fired before but not for my coding
@rak1507 while i was there, i was the only one hacking on ride's js ui. btw, i wouldn't say that's whitnified, just slightly more compact :)
 
I think your idea of compact is probably more extreme than average...
 
ngn
10:23 PM
@rak1507 yes, of course
when i think about it, anything other than average is more extreme than average, by definition ;)
 
RGS
@ngn I wonder why :p
 
ngn
@RGS it's complicated
 
ngn
10:41 PM
@RGS have you tried implementing residue for polynomials?
 
ooh, fun problem
 
ngn
Aug 23 at 17:31, by ngn
cmc[1]: given two polynomials over {0,1} as length-8 boolean vectors, multiply them modulo the polynomial p(x) = x^8 + x^4 + x^3 + x + 1, i.e. implement multiplication in GF(2^8) with p as the reducing polynomial
 
bit rusty on my finite fields, do you mind giving a test case?
 
ngn
@rak1507 there
 
thanks :)
 
RGS
11:33 PM
@ngn I don't think I have, no. Your getting fired is related to implementing residue for polynomials?
 

« first day (1386 days earlier)      last day (1271 days later) »