digitalmars.D - Reed Solomon codes
- Era Scarecrow (8/8) Dec 04 2021 I'm curious if a ported/rewrite of a Reed Solomon library would
- Paul Backus (4/12) Dec 04 2021 Seems like a good idea for a dub package. Once you have something
- Era Scarecrow (11/19) Dec 04 2021 Oh it's working. I did a basic transition to make it compile in
- Imperatorn (2/14) Dec 04 2021 Cool, like Paul said. Make a dub package so people can find it 👍
- Era Scarecrow (4/5) Dec 04 2021 Alright, I'll clean it up some more, add some unittests and add
- Andre Pany (8/16) Dec 05 2021 Thanks for doing this work. A side note, the library you
- Era Scarecrow (6/11) Dec 05 2021 When i messaged Henry regarding porting this to D he seemed
- Andre Pany (7/18) Dec 05 2021 Yes, Boost 1.0 would be perfect if the coding should be
- Era Scarecrow (3/7) Dec 05 2021 He says he will grant an MIT license to the 'D Language' variant
- Era Scarecrow (15/15) Dec 20 2021 Ugg... Watching and reading and trying to understand Polynomial
I'm curious if a ported/rewrite of a Reed Solomon library would be wanted/needed in the library? Doing a search i don't see anything specific about adding it. This might be more for networking, QRcodes, storage/backup data or something where extra parity and error detection/correction is needed. The library I'm redoing in D is located here, thoughts? http://rscode.sourceforge.net/
Dec 04 2021
On Saturday, 4 December 2021 at 15:31:02 UTC, Era Scarecrow wrote:I'm curious if a ported/rewrite of a Reed Solomon library would be wanted/needed in the library? Doing a search i don't see anything specific about adding it. This might be more for networking, QRcodes, storage/backup data or something where extra parity and error detection/correction is needed. The library I'm redoing in D is located here, thoughts? http://rscode.sourceforge.net/Seems like a good idea for a dub package. Once you have something working, register it on code.dlang.org and make a post in the Announce forum to let people know.
Dec 04 2021
On Saturday, 4 December 2021 at 15:57:41 UTC, Paul Backus wrote:On Saturday, 4 December 2021 at 15:31:02 UTC, Era Scarecrow wrote:Oh it's working. I did a basic transition to make it compile in D, then I've been doing more D features and rewriting sections and removing unneeded sections, some which greatly simplifies the code, and some for speedups for knowing what certain calls are doing and working around to avoid unnecessary work. Though i wonder if the lookup tables (that fit as ubytes) should be ubyte or size_t; And if i should have it pre-calculate the polynomials to free up space in the struct or not (vs calculating them when you change it). The amount of processing isn't that high vs the space it may be taking up.I'm curious if a ported/rewrite of a Reed Solomon library would be wanted/needed in the library? Doing a search i don't see anything specific about adding it.Seems like a good idea for a dub package. Once you have something working, register it on code.dlang.org and make a post in the Announce forum to let people know.
Dec 04 2021
On Saturday, 4 December 2021 at 16:16:02 UTC, Era Scarecrow wrote:On Saturday, 4 December 2021 at 15:57:41 UTC, Paul Backus wrote:Cool, like Paul said. Make a dub package so people can find it 👍[...]Oh it's working. I did a basic transition to make it compile in D, then I've been doing more D features and rewriting sections and removing unneeded sections, some which greatly simplifies the code, and some for speedups for knowing what certain calls are doing and working around to avoid unnecessary work. Though i wonder if the lookup tables (that fit as ubytes) should be ubyte or size_t; And if i should have it pre-calculate the polynomials to free up space in the struct or not (vs calculating them when you change it). The amount of processing isn't that high vs the space it may be taking up.
Dec 04 2021
On Saturday, 4 December 2021 at 17:01:32 UTC, Imperatorn wrote:Cool, like Paul said. Make a dub package so people can find it 👍Alright, I'll clean it up some more, add some unittests and add it to the dub soon. (*How the math works is beyond me with how it's originally written so not sure about those*).
Dec 04 2021
On Saturday, 4 December 2021 at 15:31:02 UTC, Era Scarecrow wrote:I'm curious if a ported/rewrite of a Reed Solomon library would be wanted/needed in the library? Doing a search i don't see anything specific about adding it. This might be more for networking, QRcodes, storage/backup data or something where extra parity and error detection/correction is needed. The library I'm redoing in D is located here, thoughts? http://rscode.sourceforge.net/Thanks for doing this work. A side note, the library you translating from has the GPL license, therefore your D library needs to be GPL too, I assume. Including GPL parts into Phobos is not possible as far as I know. Therefore a Dub package make sense. Kind regards Andre
Dec 05 2021
On Sunday, 5 December 2021 at 10:35:35 UTC, Andre Pany wrote:Thanks for doing this work. A side note, the library you translating from has the GPL license, therefore your D library needs to be GPL too, I assume. Including GPL parts into Phobos is not possible as far as I know. Therefore a Dub package make sense.When i messaged Henry regarding porting this to D he seemed interested; I'll ask him if he would offer/allow it under another license to potentially include it in phobos. Looking in the FAQ it seems phobos uses the Boost 1.0 license. Is there any other licenses i should offer/ask for?
Dec 05 2021
On Sunday, 5 December 2021 at 15:40:19 UTC, Era Scarecrow wrote:On Sunday, 5 December 2021 at 10:35:35 UTC, Andre Pany wrote:Yes, Boost 1.0 would be perfect if the coding should be integrated into Phobos at some point in time. For a dub package also MIT and Mozilla is good. (Some companies tries to avoid GPL/ LGPL libraries as much as possible). Kind regards AndreThanks for doing this work. A side note, the library you translating from has the GPL license, therefore your D library needs to be GPL too, I assume. Including GPL parts into Phobos is not possible as far as I know. Therefore a Dub package make sense.When i messaged Henry regarding porting this to D he seemed interested; I'll ask him if he would offer/allow it under another license to potentially include it in phobos. Looking in the FAQ it seems phobos uses the Boost 1.0 license. Is there any other licenses i should offer/ask for?
Dec 05 2021
On Sunday, 5 December 2021 at 17:05:32 UTC, Andre Pany wrote:Yes, Boost 1.0 would be perfect if the coding should be integrated into Phobos at some point in time. For a dub package also MIT and Mozilla is good. (Some companies tries to avoid GPL/ LGPL libraries as much as possible).He says he will grant an MIT license to the 'D Language' variant of the code, the original C code stays GPL.
Dec 05 2021
Ugg... Watching and reading and trying to understand Polynomial math is melting my brain. I doubt i will be able to add in unittest to each function to prove they are working right other than the final result tests. I did some tests where i made it 16bit symbols and it worked just fine (*although a little slower*), the biggest advantage is the range the generated codeword uses covers a max of 131070 bytes vs 255 bytes, which would make it usable for say several blocks of sectors for say a tape backup or large compressed files in an archive. Probably I'll have 2 ports, one for 8bit symbols and another for any symbol size (*3bit-24bit supported, after 24bit it eats way too much memory for the tables generated that are used, 24bit tables would eat up 256Mb-512Mb, but looks like it would cover a 50Mb area*).
Dec 20 2021