original_docstring: Create a lineshape for the DNMR spectrum of two uncoupled nuclei
      undergoing exchange.
  
      Arguments
      ---------
      va : float
          the frequency of nucleus 'a' at the slow exchange limit
      vb : float
          the frequency of nucleus 'b' at the slow exchange limit
      ka : float
          the rate of nuclear exchange
      Wa : float
          the width at half heigh of the signal for nucleus a (at the slow
          exchange limit).
      Wb : float
          the width at half height of the signal for nucleus b (at the slow
          exchange limit).
      pa : float
          the fraction of the population in state a (vs. state b)
  
      Returns
      -------
      ([float...], [float...])
          a tuple of numpy arrays for frequencies (x coordinate) and
          corresponding intensities (y coordinate). Hard-coded for 800 data
          points and a frequency range from vb-50 to va+50.
  
      TODO: throughout nmrtools there is hard-coding of defaults, based on
      needs of applications. Consider the needs of other users and make more
      universal.
      
docstring: Create a lineshape for the DNMR spectrum of two uncoupled nuclei
  undergoing exchange.
  
  Arguments
  
  va : float
  the frequency of nucleus 'a' at the slow exchange limit
  vb : float
  the frequency of nucleus 'b' at the slow exchange limit
  ka : float
  the rate of nuclear exchange
  Wa : float
  the width at half heigh of the signal for nucleus a (at the slow
  exchange limit).
  Wb : float
  the width at half height of the signal for nucleus b (at the slow
  exchange limit).
  pa : float
  the fraction of the population in state a (vs. state b)
  
  Returns
  
  ([float...], [float...])
  a tuple of numpy arrays for frequencies (x coordinate) and
  corresponding intensities (y coordinate). Hard-coded for 800 data
  points and a frequency range from vb-50 to va+50.
  
  throughout nmrtools there is hard-coding of defaults, based on
  needs of applications. Consider the needs of other users and make more
  universal.
docstring_tokens: Create a lineshape for the DNMR spectrum of two uncoupled nuclei undergoing exchange . Arguments va : float the frequency of nucleus ' a ' at the slow exchange limit vb : float the frequency of nucleus ' b ' at the slow exchange limit ka : float the rate of nuclear exchange Wa : float the width at half heigh of the signal for nucleus a ( at the slow exchange limit ) . Wb : float the width at half height of the signal for nucleus b ( at the slow exchange limit ) . pa : float the fraction of the population in state a ( vs . state b ) Returns ( [ float ... ] [ float ... ] ) a tuple of numpy arrays for frequencies ( x coordinate ) and corresponding intensities ( y coordinate ) . Hard - coded for 800 data points and a frequency range from vb - 50 to va + 50 . throughout nmrtools there is hard - coding of defaults based on needs of applications . Consider the needs of other users and make more universal .
code: def dnmrplot_2spin(va, vb, ka, Wa, Wb, pa):
      """Create a lineshape for the DNMR spectrum of two uncoupled nuclei
      undergoing exchange.
  
      Arguments
      ---------
      va : float
          the frequency of nucleus 'a' at the slow exchange limit
      vb : float
          the frequency of nucleus 'b' at the slow exchange limit
      ka : float
          the rate of nuclear exchange
      Wa : float
          the width at half heigh of the signal for nucleus a (at the slow
          exchange limit).
      Wb : float
          the width at half height of the signal for nucleus b (at the slow
          exchange limit).
      pa : float
          the fraction of the population in state a (vs. state b)
  
      Returns
      -------
      ([float...], [float...])
          a tuple of numpy arrays for frequencies (x coordinate) and
          corresponding intensities (y coordinate). Hard-coded for 800 data
          points and a frequency range from vb-50 to va+50.
  
      TODO: throughout nmrtools there is hard-coding of defaults, based on
      needs of applications. Consider the needs of other users and make more
      universal.
      """
      """A decision needs to be made on the final function to apply along the 
      linspace."""
      if vb > va:
          va, vb = vb, va
          Wa, Wb = Wb, Wa
          pa = 1 - pa
      l_limit = vb - 50
      r_limit = va + 50
      x = np.linspace(l_limit, r_limit, 800)
      # y = dnmr_2spin(x, va, vb, ka, Wa, Wb, pa)
  
      # OR:
  
      dfunc = d2s_func(va, vb, ka, Wa, Wb, pa)
      y = dfunc(x)
  
      # OR:
      # y = reich(x, va, vb, ka, Wa, Wb, pa)
  
      return x, y
code_tokens: def dnmrplot_2spin ( va , vb , ka , Wa , Wb , pa ) : """A decision needs to be made on the final function to apply along the 
      linspace.""" if vb > va : va , vb = vb , va Wa , Wb = Wb , Wa pa = 1 - pa l_limit = vb - 50 r_limit = va + 50 x = np . linspace ( l_limit , r_limit , 800 ) dfunc = d2s_func ( va , vb , ka , Wa , Wb , pa ) y = dfunc ( x ) return x , y
short_docstring: Create a lineshape for the DNMR spectrum of two uncoupled nuclei
  undergoing exchange.
short_docstring_tokens: Create a lineshape for the DNMR spectrum of two uncoupled nuclei undergoing exchange .
comment: """Create a lineshape for the DNMR spectrum of two uncoupled nuclei
      undergoing exchange.
  
      Arguments
      ---------
      va : float
          the frequency of nucleus 'a' at the slow exchange limit
      vb : float
          the frequency of nucleus 'b' at the slow exchange limit
      ka : float
          the rate of nuclear exchange
      Wa : float
          the width at half heigh of the signal for nucleus a (at the slow
          exchange limit).
      Wb : float
          the width at half height of the signal for nucleus b (at the slow
          exchange limit).
      pa : float
          the fraction of the population in state a (vs. state b)
  
      Returns
      -------
      ([float...], [float...])
          a tuple of numpy arrays for frequencies (x coordinate) and
          corresponding intensities (y coordinate). Hard-coded for 800 data
          points and a frequency range from vb-50 to va+50.
  
      TODO: throughout nmrtools there is hard-coding of defaults, based on
      needs of applications. Consider the needs of other users and make more
      universal.
      """$SEP$"""A decision needs to be made on the final function to apply along the 
      linspace."""$SEP$# y = dnmr_2spin(x, va, vb, ka, Wa, Wb, pa)$SEP$# OR:$SEP$# OR:$SEP$# y = reich(x, va, vb, ka, Wa, Wb, pa)