Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,48 +0,0 @@
|
|||
function Get-CheckDigitCUSIP {
|
||||
[CmdletBinding()]
|
||||
[OutputType([int])]
|
||||
Param ( # Validate input
|
||||
[Parameter(Mandatory=$true, Position=0)]
|
||||
[ValidatePattern( '^[A-Z0-9@#*]{8}\d$' )] # @#*
|
||||
[ValidateScript({$_.Length -eq 9})]
|
||||
[string]
|
||||
$cusip
|
||||
)
|
||||
$sum = 0
|
||||
0..7 | ForEach { $c = $cusip[$_] ; $v = $null
|
||||
if ([Char]::IsDigit($c)) { $v = [char]::GetNumericValue($c) }
|
||||
if ([Char]::IsLetter($c)) { $v = [int][char]$c - [int][char]'A' +10 }
|
||||
if ($c -eq '*') { $v = 36 }
|
||||
if ($c -eq '@') { $v = 37 }
|
||||
if ($c -eq '#') { $v = 38 }
|
||||
if($_ % 2){ $v += $v }
|
||||
$sum += [int][Math]::Floor($v / 10 ) + ($v % 10)
|
||||
}
|
||||
[int]$checkDigit_calculated = ( 10 - ($sum % 10) ) % 10
|
||||
return( $checkDigit_calculated )
|
||||
}
|
||||
|
||||
function Test-IsCUSIP {
|
||||
[CmdletBinding()]
|
||||
[OutputType([bool])]
|
||||
Param (
|
||||
[Parameter(Mandatory=$true, Position=0)]
|
||||
[ValidatePattern( '^[A-Z0-9@#*]{8}\d$' )]
|
||||
[ValidateScript({$_.Length -eq 9})]
|
||||
[string]
|
||||
$cusip
|
||||
)
|
||||
[int]$checkDigit_told = $cusip[-1].ToString()
|
||||
$checkDigit_calculated = Get-CheckDigitCUSIP $cusip
|
||||
($checkDigit_calculated -eq $checkDigit_told)
|
||||
}
|
||||
|
||||
$data = @"
|
||||
037833100`tApple Incorporated
|
||||
17275R102`tCisco Systems
|
||||
38259P508`tGoogle Incorporated
|
||||
594918104`tMicrosoft Corporation
|
||||
68389X106`tOracle Corporation (incorrect)
|
||||
68389X105`tOracle Corporation
|
||||
"@ -split "`n"
|
||||
$data |%{ Test-IsCUSIP $_.Split("`t")[0] }
|
||||
Loading…
Add table
Add a link
Reference in a new issue