[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