Perhaps I should just rename the function:
Code:

Function SignNeutralFactorialPreservingPositiveOrNegativeStateOfInput()
...
EndFunction



and don't get me started on "0!". Bloody mathematitions, nearly as bad as physicists.