public override int CompareTo(IOrbitalGroup other) { var bc = base.CompareShells(other); if (bc != null) { return(bc.Value); } switch (other) { case s_OrbitalGroup _: case sp_hybridizedOrbitalGroup _: case p_OrbitalGroup _: case d_OrbitalGroup _: case f_OrbitalGroup _: return(1); case g_OrbitalGroup _: return(0); default: return(-1); } }
protected int?CompareShells(IOrbitalGroup other) { if (other == null) { return(0); } var shellCompare = Shell.CompareTo(other.Shell); if (shellCompare != 0) { return(shellCompare); } return(null); }
public Orbital(IOrbitalGroup of) { Of = of ?? throw new ArgumentNullException(nameof(of)); SpinUp = new Electron(); SpinDown = new Electron(); }
public abstract int CompareTo(IOrbitalGroup other);
public int CompareTo(IOrbitalGroup other) { return(-1); }