示例#1
0
        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);
            }
        }
示例#2
0
        protected int?CompareShells(IOrbitalGroup other)
        {
            if (other == null)
            {
                return(0);
            }
            var shellCompare = Shell.CompareTo(other.Shell);

            if (shellCompare != 0)
            {
                return(shellCompare);
            }
            return(null);
        }
示例#3
0
 public Orbital(IOrbitalGroup of)
 {
     Of       = of ?? throw new ArgumentNullException(nameof(of));
     SpinUp   = new Electron();
     SpinDown = new Electron();
 }
示例#4
0
 public abstract int CompareTo(IOrbitalGroup other);
示例#5
0
 public int CompareTo(IOrbitalGroup other)
 {
     return(-1);
 }