Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2016-09

Reed-Solomon algorithm

7 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

duilio foschi

can somebody point me to the algorithm above written in Pascal ?

As an alternative, can somebody point me to the algorithm above written in some DLL I could use from FPC ?

Thank you

Peppe Polpo

Reply by email

Sandro Cumerlato

A quick search on Google pointed me to:

https://github.com/catid/longhair

It is a C library implementing the Reed Solomon algorithm.

I think that it's possible to build a dll from sources and create the corresponding fpc binding from the .h include file.

Best regards.

Sandro Cumerlato

On 15 Sep 2016 18:29, "duilio foschi" wrote:

can somebody point me to the algorithm above written in Pascal ?

As an alternative, can somebody point me to the algorithm above written in some DLL I could use from FPC ?

Thank you

Peppe Polpo

Reply by email

James Richters
to Sandro Cumerlato

I was able to use a C library by creating the following unit, the hardest part was getting variable types to match. Perhaps this example of linking a C library to Free Pascal will help.

James

Unit InpOut32;
Interface
   Function IsInpOutDriverOpen:Boolean;{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Function IsXP64Bit:Boolean;{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Function  Inp32(Port:LongInt):Byte;{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Procedure Out32(Port:LongInt; Value:Byte);{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Function DlPortReadPortUChar(Port:LongInt):Char;{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Procedure DlPortWritePortUChar(Port:LongInt; Value:Char);{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Function DlPortReadPortUShort(Port:LongInt):Word;{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
   Procedure DlPortWritePortUShort(Port:LongInt; Value:Word);{$Ifndef Win32} cdecl {$Else} stdcall {$EndIf};
Implementation
   Function IsInpOutDriverOpen; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Function IsXP64Bit; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Function Inp32; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Procedure Out32; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Function DlPortReadPortUChar; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Procedure DlPortWritePortUChar; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Function DlPortReadPortUShort; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
   Procedure DlPortWritePortUShort; {$Ifndef Win32} cdecl {$Else} stdcall {$EndIf}; external 'inpout32.DLL';
End.
Earlier message 31 lines
From: On Behalf Of Sandro Cumerlato Sent: Thursday, September 15, 2016 12:52 PM To: FPC-Pascal users discussions Subject: Re: [fpc-pascal] Reed-Solomon algorithm A quick search on Google pointed me to: https://github.com/catid/longhair It is a C library implementing the Reed Solomon algorithm. I think that it's possible to build a dll from sources and create the corresponding fpc binding from the .h include file. Best regards. Sandro Cumerlato On 15 Sep 2016 18:29, "duilio foschi" < > wrote: can somebody point me to the algorithm above written in Pascal ? As an alternative, can somebody point me to the algorithm above written in some DLL I could use from FPC ? Thank you Peppe Polpo

Reply by email

duilio foschi
to Sandro Cumerlato: A quick search on Google pointed me to: https://github.com/catid/longhair It is a C…

https://sourceforge.net/projects/rscode/?source=typ_redirect

The code above seems much easier to use.

Thank you
Peppe

2016-09-15 18:52 GMT+02:00 Sandro Cumerlato :

Show quoted text 33 lines
A quick search on Google pointed me to: https://github.com/catid/longhair It is a C library implementing the Reed Solomon algorithm. I think that it's possible to build a dll from sources and create the corresponding fpc binding from the .h include file. Best regards. Sandro Cumerlato On 15 Sep 2016 18:29, "duilio foschi" wrote: can somebody point me to the algorithm above written in Pascal ? As an alternative, can somebody point me to the algorithm above written in some DLL I could use from FPC ? Thank you Peppe Polpo _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

duilio foschi
to Ralf Quint

Hi Ralf.

thank you for the hint re the Jedi RS algorithm.

The code is inspirational, but weak:

[from file readme.txt]

"As far as I can tell it works, but I made some rather rash assumptions which need to be confirmed by someone who knows what they are doing"

I need code I can trust, so will stay with the code from sourceforge.

This has been tested far and wide :)

Thank you
Peppe

2016-09-16 1:48 GMT+02:00 Ralf Quint :

Show quoted text 19 lines
On 9/15/2016 3:07 PM, duilio foschi wrote: > > https://sourceforge.net/projects/rscode/?source=typ_redirect > > The code above seems much easier to use. > There is also some code in the Delphi JEDI library at http://www.delphi-jedi.org/toolslibrary.html Ralf --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

Ralf Quint
to duilio foschi
duilio foschi wrote 15 lines
Hi Ralf. thank you for the hint re the Jedi RS algorithm. The code is inspirational, but weak: [from file readme.txt] "As far as I can tell it works, but I made some rather rash assumptions which need to be confirmed by someone who knows what they are doing" I need code I can trust, so will stay with the code from sourceforge. This has been tested far and wide :)

I just remembered that I saw some related code when looking for something else a short while ago, never used it myself. If it helps you great, if not...

Ralf ;-)

---
This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus

Reply by email