This AdaptableUnaryFunction computes the unit part of a given ring element.
The mathematical definition of unit part is as follows: Two ring elements a and b are said to be associate if there exists an invertible ring element (i.e. a unit) u such that a = ub. This defines an equivalence relation. We can distinguish exactly one element of every equivalence class as being unit normal. Then each element of a ring possesses a factorization into a unit (called its unit part) and a unitnormal ring element (called its unit normal associate).
For the integers, the nonnegative numbers are by convention unit normal, hence the unitpart of a nonzero integer is its sign. For a Field, every nonzero element is a unit and is its own unit part, its unit normal associate being one. The unit part of zero is, by convention, one.
AdaptableUnaryFunction
AlgebraicStructureTraits::UnitPart::result_type  
Is AlgebraicStructureTraits::Type.
 
AlgebraicStructureTraits::UnitPart::argument_type  
Is AlgebraicStructureTraits::Type.

result_type  unit_part ( argument_type x )  returns the unit part of x. 