CUSIP: Difference between revisions
Content added Content deleted
m (diag, +1) |
|||
Line 482: | Line 482: | ||
cch = repeat(-1,256) |
cch = repeat(-1,256) |
||
for i='0' to '9' do |
for i='0' to '9' do |
||
cch[i |
cch[i] = i-'0' |
||
end for |
end for |
||
for i='A' to 'Z' do |
for i='A' to 'Z' do |
||
cch[i |
cch[i] = i-55 |
||
end for |
end for |
||
cch['*' |
cch['*'] = 36 |
||
cch['@' |
cch['@'] = 37 |
||
cch['#' |
cch['#'] = 38 |
||
end if |
end if |
||
if length(cusip)!=9 then return 0 end if |
if length(cusip)!=9 or find('\0',cusip) then return 0 end if |
||
for i=1 to 8 do |
for i=1 to 8 do |
||
c := cusip[i] |
c := cusip[i] |
||
v := cch[c |
v := cch[c] |
||
if v=-1 then |
if v=-1 then return 0 end if |
||
if remainder(i,2)=0 then |
if remainder(i,2)=0 then |
||
v *= 2 |
v *= 2 |