/// Create a new secondary 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::secondary(name, 1, 1000, 0);
///
/// assert_eq!(unit.name, name);
/// assert_eq!(unit.abs, BigInt::from(1));
/// assert_eq!(unit.rel, Some((BigInt::from(1000), 0)));
/// ```
Create a new secondary unit.
Create a new secondary unit .
pub fn secondary<A, R>(name: Name, abs: A, rel: R, rel_to: usize) -> PhysicalUnit
    where
        BigInt: From<A> + From<R>,
    {
        PhysicalUnit {
            name: name,
            abs: abs.into(),
            rel: Some((rel.into(), rel_to)),
        }
    }
pub fn secondary < A , R > ( name : Name , abs : A , rel : R , rel_to : usize ) -> PhysicalUnit where BigInt : From < A > + From < R > , { PhysicalUnit { name : name , abs : abs . into ( ) , rel : Some ( ( rel . into ( ) , rel_to ) ) , } }
Create a new secondary unit.
Create a new secondary unit .
name
Name
abs
A
rel
R
rel_to
usize
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::secondary(name, 1, 1000, 0).


` ` ` use moore_vhdl :: ty2 :: { PhysicalUnit BigInt } ; use moore_common :: name :: get_name_table . let name = get_name_table () . intern ( " fs " false ) ; let unit = PhysicalUnit :: secondary ( name 1 1000 0 ) .