/// Create a new primary unit.
///
/// # Example
///
/// ```
/// use moore_vhdl::ty2::{PhysicalUnit, BigInt};
/// use moore_common::name::get_name_table;
///
/// let name = get_name_table().intern("fs", false);
/// let unit = PhysicalUnit::primary(name, 1);
///
/// assert_eq!(unit.name, name);
/// assert_eq!(unit.abs, BigInt::from(1));
/// assert_eq!(unit.rel, None);
/// ```
Create a new primary unit.
Create a new primary unit .
pub fn primary<A>(name: Name, abs: A) -> PhysicalUnit
    where
        BigInt: From<A>,
    {
        PhysicalUnit {
            name: name,
            abs: abs.into(),
            rel: None,
        }
    }
pub fn primary < A > ( name : Name , abs : A ) -> PhysicalUnit where BigInt : From < A > , { PhysicalUnit { name : name , abs : abs . into ( ) , rel : None , } }
Create a new primary unit.
Create a new primary unit .
name
Name
abs
A
example
```
use moore_vhdl::ty2::{PhysicalUnit, BigInt};
use moore_common::name::get_name_table.

let name = get_name_table().intern("fs", false);
let unit = PhysicalUnit::primary(name, 1).

assert_eq!(unit.name, name);
assert_eq!(unit.abs, BigInt::from(1));
assert_eq!(unit.rel, None);
```
` ` ` use moore_vhdl :: ty2 :: { PhysicalUnit BigInt } ; use moore_common :: name :: get_name_table . let name = get_name_table () . intern ( " fs " false ) ; let unit = PhysicalUnit :: primary ( name 1 ) . assert_eq! ( unit . name name ) ; assert_eq! ( unit . abs BigInt :: from ( 1 )) ; assert_eq! ( unit . rel None ) ; ` ` `