Description :
On dispose d'un array[0..9525]of cardinal permettant de gérer un BigInteger de 300 000 bits.
Le tableau est déjà rempli ou peut être initialisé par random pour test.

Je recherche 3 algorithmes optimisés et donc rapide pour SHL, SHR, AND.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
function shr_ArrayOfCardinal(const Seq: TArray<Cardinal>;ShrBy: cardinal) : TArray<Cardinal>;
 
function shl_ArrayOfCardinal(const Seq: TArray<Cardinal>;ShlBy: cardinal) : TArray<Cardinal>;
 
ShrBy et ShlBy compris entre 1..150000
 
 
function and_ArrayOfCardinal(const Seq1,Seq2: TArray<Cardinal>) : TArray<Cardinal>;
 
 
et éventuellement :
 
function ror_ArrayOfCardinal(const Seq: TArray<Cardinal>;RorBy: cardinal) : TArray<Cardinal>;
 
function rol_ArrayOfCardinal(const Seq: TArray<Cardinal>;RolBy: cardinal) : TArray<Cardinal>;
 
RorBy et RolBy compris entre 1..299999