[fpc-pascal] Reed-Solomon algorithm

James Richters james at productionautomation.net
Thu Sep 15 19:27:00 CEST 2016


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.

 

 

 

From: fpc-pascal-bounces at lists.freepascal.org [mailto:fpc-pascal-bounces at lists.freepascal.org] On Behalf Of Sandro Cumerlato
Sent: Thursday, September 15, 2016 12:52 PM
To: FPC-Pascal users discussions <fpc-pascal at lists.freepascal.org>
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" <octopushole at gmail.com <mailto:octopushole at gmail.com> > 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  -  fpc-pascal at lists.freepascal.org <mailto:fpc-pascal at lists.freepascal.org> 
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20160915/0102a253/attachment.html>


More information about the fpc-pascal mailing list