Skip to content

Instantly share code, notes, and snippets.

@dotps1
Created November 2, 2017 19:49
Show Gist options
  • Save dotps1/55c42d81bec6b416b1bcf5035fb40455 to your computer and use it in GitHub Desktop.
Save dotps1/55c42d81bec6b416b1bcf5035fb40455 to your computer and use it in GitHub Desktop.
Convert Lovibond to SRM.
<#PSScriptInfo
.Version
1.0
.Guid
bf215750-33c6-473e-8562-fbbd52d2e124
.Author
Thomas Malkewitz @dotps1
.Tags
Lovibond, SRM
.ProjectUri
https://github.com/dotps1/PSFunctions
.ReleaseNotes
Initial Release.
#>
<#
.Synopsis
Converts Lovibond to SRM.
.Description
Converts lovibond to SRM.
.Inputs
System.Double
.Outputs
System.Double
.Parameter Lovibond
System.Double
The Lovibond value to convert
.Example
PS C:\> ConvertFrom-Lovibond -Lovibond 3.5
4.7
.Notes
SRM = °L + 0.04662*(°L)^2
.Link
https://dotps1.github.io
.Link
https://homebrew.stackexchange.com/questions/2632/how-do-you-convert-between-srm-and-lovibond
.Link
https://grposh.github.io
#>
[CmdletBinding()]
[OutputType(
[Double]
)]
param (
[Parameter(
Mandatory = $true,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName = $true
)]
[Double[]]
$Lovibond
)
process {
foreach ($lovibondValue in $Lovibond) {
try {
$srm = $lovibondValue + 0.04662 * [Math]::Pow( $lovibondValue, 2 )
Write-Output -InputObject ( [Math]::Round( $srm, 2 ))
} catch {
$PSCmdlet.WriteError(
$_
)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment