User talk:Rcgldr
Re: LZ77 LZ78 article
[edit]Hello, I know absolutely nothing about the subject of this article. I only did a history merge on it in August 2009. By the way, it is generally considered bad form to blank your user talk page; archiving is the preferred method of cleaning out old messages, but having a talk page archive for just one message is a bit ridiculous. Therefore, would you mind restoring the old message on your talk page? Graham87 03:01, 14 May 2011 (UTC)
- I don't post at wiki very often. If I remember correctly, my discussion page got corrupted (at least it wasn't working with Internet Explorer 8 at the time) and I couldn't figure out how to repair it other than to start a new one. There was only one message and response with someone named crowsnest which is still in my history. Rcgldr (talk) 02:22, 15 May 2011 (UTC)
Merge sort c vs garbage collected
[edit]I'm not sure how it works, but I'm just letting you know that I answered to your feedback to the c->c# change on my talk page.
Peace! maju (talk) 02:02, 11 April 2013 (UTC)
Notification of automated file description generation
[edit]Your upload of File:Aplprime.jpg or contribution to its description is noted, and thanks (even if belatedly) for your contribution. In order to help make better use of the media, an attempt has been made by an automated process to identify and add certain information to the media's description page.
This notification is placed on your talk page because a bot has identified you either as the uploader of the file, or as a contributor to its metadata. It would be appreciated if you could carefully review the information the bot added. To opt out of these notifications, please follow the instructions here. Thanks! Message delivered by Theo's Little Bot (opt-out) 12:09, 30 December 2013 (UTC)
- Another one of your uploads, File:Aplexample1.jpg, has also had some information automatically added. If you get a moment, please review the bot's contributions there as well. Thanks! Message delivered by Theo's Little Bot (opt-out) 12:12, 31 December 2013 (UTC)
quicksort
[edit]What does Knuth say about it? Gah4 (talk) 04:52, 25 March 2020 (UTC)
- @Gah4: - I don't know if Knuth has a simple explanation. Consider the best case. On the initial pass, n-1 compares done of elements versus the pivot, the partition splits the array in half and goes to the next level of recursion, each half does n/2-1 compares versus pivot, again a 50/50 split and so on. So best case, it's O(ceil(log2(n))) comparisons, even if no data is moved. A simple example of best case is data already sorted, Hoare partition scheme using middle element. This results in 50/50 splits, no data is swapped, but it's still O(n log2(n)) compares. Rcgldr (talk) 05:43, 25 March 2020 (UTC)
- OK, having not thought about this for a while, sometimes sort algorithms are measured based on comparisons and sometimes on swaps. The latter allows for some non-compare based sort algorithms. It looks like the table in question either ignores this, or assumes that compares and swaps take the same time, and are the unit of time measurement. I didn't get my Knuth v.3 out yet. I believe when I first knew about this, we did it based on swaps, and not compares. Gah4 (talk) 17:44, 25 March 2020 (UTC)
- @Gah4: - time complexity indicates the highest order dependency of total time versus number of elements, regardless of how that time is spent (moves, swaps, compares, other overheads). So for sorted data, Hoare partition, middle element as pivot, zero swaps, but (n-r) compares for each level of recursion, where r = 1 for the initial call. In this specific case, other than recursion overhead, the total time is a function of the compares. This results in a time complexity O(n log2(n)) best case, or since constants are ignored, O(n log(n)). Rcgldr (talk) 21:20, 25 March 2020 (UTC)
- I can't find my Knuth right now. You are supposed to have a reference for things like this, that aren't obvious math answers, even when you are sure that it is right. Gah4 (talk) 22:15, 25 March 2020 (UTC)
- @Gah4: - time complexity indicates the highest order dependency of total time versus number of elements, regardless of how that time is spent (moves, swaps, compares, other overheads). So for sorted data, Hoare partition, middle element as pivot, zero swaps, but (n-r) compares for each level of recursion, where r = 1 for the initial call. In this specific case, other than recursion overhead, the total time is a function of the compares. This results in a time complexity O(n log2(n)) best case, or since constants are ignored, O(n log(n)). Rcgldr (talk) 21:20, 25 March 2020 (UTC)
- OK, having not thought about this for a while, sometimes sort algorithms are measured based on comparisons and sometimes on swaps. The latter allows for some non-compare based sort algorithms. It looks like the table in question either ignores this, or assumes that compares and swaps take the same time, and are the unit of time measurement. I didn't get my Knuth v.3 out yet. I believe when I first knew about this, we did it based on swaps, and not compares. Gah4 (talk) 17:44, 25 March 2020 (UTC)
- There should be a source in Sorting_algorithm, since it also list quicksort's best case as O(n log(n)). But if you want add another reference, this was the first one I found doing a web search: khan academy quicksort analysis. Rcgldr (talk) 23:10, 25 March 2020 (UTC)
ArbCom 2020 Elections voter message
[edit]
Edit to finite fields - added error correction code
[edit]I'm not sure how to use users' talk pages, so sorry if this is in the wrong place. I think the discussion should probably be on the finite field's talk page.
You wrote: ""The finite field almost always has characteristic of 2, since computer data is stored in binary" - true, with the main exception PDF417 bar code which uses GF(929), but GF(929) is used in the Wiki Reed Solomon examples. It might be worth noting in one of the articles that usage of GF(929) is not that common."
I was fine with saying on the finite field page that it "almost always has characteristic of 2"
You wrote: ""Some CPUs have special instructions to perform operations on these finite fields." - I'm only aware of carryless multiply ...."
The x86 instruction GF2P8MULB operates on an 8-bit Galois field. Also, 64-bit Galois fields are supported by the instruction CLMUL, that you mentioned. Intel says how to implement a 128-bit field using PCLMUL instructions in this paper: https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/carry-less-multiplication-instruction-in-gcm-mode-paper.pdf ARM has an instruction extension called "NEON" with a VMULL instruction. VMULL.P8 will do eight 8-bit Galois field multiplications at once.
If you like, I can add references. I was just letting people know that these things exist, so that they know that they can look on a search engine.
You wrote: "Rcgldr (talk) 20:59, 26 June 2021 (UTC)"
Mdnahas (talk) 22:59, 28 June 2021 (UTC)
- @Mdnahas: I updated the applications sections to include BCH code as well as Reed Solomon code as examples. Noted the PDF417 GF(929) exception. Noted that the special instructions are variations of carryless multiply. I did not mention AVX512 instruction GF2P8AFFINEQB, which is an 8x8 matrix times 8 bit vector carryless multiply, since it's only available on a few processors. AMD never implemented AVX512, and what instructions are included in Intel's AVX512 has been a moving target. operations can just use table lookup, so carryless multiply is mostly useful for larger fields, such as . For modulo generator, a multiply by precomputed (2^64 / generator) is done to produce a quotient, then quotient times generator to produce a product, then xor original number with product to get the modulo. PSHUFB can be used for parallel table lookup using 4 bit indexes. The operand is split up into 4 bit chunks, and then 16 lookups can be done in parallel. This can be used for parallel table lookup to multiply a set of values by a single value. Jerasure which is an erasure code for blocks of data can be sped up using PSHUFB. Rcgldr (talk) 17:12, 29 June 2021 (UTC)
ArbCom 2021 Elections voter message
[edit]ArbCom 2022 Elections voter message
[edit]Hello! Voting in the 2022 Arbitration Committee elections is now open until 23:59 (UTC) on Monday, 12 December 2022. All eligible users are allowed to vote. Users with alternate accounts may only vote once.
The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to impose binding solutions to disputes between editors, primarily for serious conduct disputes the community has been unable to resolve. This includes the authority to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail.
If you wish to participate in the 2022 election, please review the candidates and submit your choices on the voting page. If you no longer wish to receive these messages, you may add {{NoACEMM}}
to your user talk page. MediaWiki message delivery (talk) 00:43, 29 November 2022 (UTC)
ArbCom 2023 Elections voter message
[edit]Hello! Voting in the 2023 Arbitration Committee elections is now open until 23:59 (UTC) on Monday, 11 December 2023. All eligible users are allowed to vote. Users with alternate accounts may only vote once.
The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to impose binding solutions to disputes between editors, primarily for serious conduct disputes the community has been unable to resolve. This includes the authority to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail.
If you wish to participate in the 2023 election, please review the candidates and submit your choices on the voting page. If you no longer wish to receive these messages, you may add {{NoACEMM}}
to your user talk page. MediaWiki message delivery (talk) 00:33, 28 November 2023 (UTC)
ArbCom 2024 Elections voter message
[edit]Hello! Voting in the 2024 Arbitration Committee elections is now open until 23:59 (UTC) on Monday, 2 December 2024. All eligible users are allowed to vote. Users with alternate accounts may only vote once.
The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to impose binding solutions to disputes between editors, primarily for serious conduct disputes the community has been unable to resolve. This includes the authority to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail.
If you wish to participate in the 2024 election, please review the candidates and submit your choices on the voting page. If you no longer wish to receive these messages, you may add {{NoACEMM}}
to your user talk page. MediaWiki message delivery (talk) 00:20, 19 November 2024 (UTC)