Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/SEDOLs/PL-I/sedols.pli
Normal file
23
Task/SEDOLs/PL-I/sedols.pli
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* Compute SEDOLs; includes check for invalid characters. */
|
||||
sedol: procedure options (main); /* 3 March 2012 */
|
||||
declare alphabet character (36) static initial
|
||||
('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
||||
declare weight (6) fixed static initial (1, 3, 1, 7, 3, 9);
|
||||
declare s character (6);
|
||||
declare (i, v, k) fixed;
|
||||
|
||||
do while ('1'b);
|
||||
get edit (s) (a(6));
|
||||
put skip edit (s) (a);
|
||||
/* Check for invalid characters: */
|
||||
if verify(s, '0123456789BCDFGHJKLMNPQRSTVWXYZ') > 0 then stop;
|
||||
v = 0;
|
||||
do i = 1 to 6;
|
||||
k = index(alphabet, substr(s, i, 1)) - 1;
|
||||
v = v + weight(i) * k;
|
||||
end;
|
||||
k = mod(v, 10);
|
||||
v = mod(10 - k, 10);
|
||||
put edit (s, v) (x(2), a, f(1)); put edit (' ') (a);
|
||||
end;
|
||||
end sedol;
|
||||
Loading…
Add table
Add a link
Reference in a new issue