IsPrime.psm1
#region IsPrimeFunction Function IsPrime { Param( [Parameter(Mandatory=$true, HelpMessage="Input integer to be validated.")] [ValidateNotNullOrEmpty()] [ValidatePattern('\d+')] [Int32] $InputInteger ) #region Begin Begin { Write-Verbose "Begin Invocation IsPrime for input: $InputInteger"; } #endregion Begin #region Process Process { Write-Verbose "Processing $InputInteger..."; if($InputInteger -eq 1 -or $InputInteger -eq 0) { Write-Verbose "$InputInteger is not prime. Prime numbers start from 2."; return $false; } $IsPrime = $true; for($i=2; $i -le ([math]::Sqrt($InputInteger)); $i++ ) { $quotient = $InputInteger / $i; if( $quotient -is [Int32]) { Write-Verbose "Validation failed for $i!" $IsPrime = $false; break; } } if($IsPrime) { Write-Verbose "$InputInteger is prime!" } else { Write-Verbose "$InputInteger is not prime!" } return $IsPrime; } #endregion Process #region End End { Write-Verbose "End Invocation IsPrime for input: $InputInteger"; } #endregion End } #endregion IsPrimeFunction #begin Export Export-ModuleMember -Function IsPrime #endregion |