This is a special case of the general source specification included for backward compatibility.
The n+ and n- are the positive and negative nodes, respectively. Current flow is from the positive node, through the source, to the negative node. The parameter vnam is the name of a voltage source or inductor through which the controlling current flows. If vnam refers to a voltage source, the direction of positive controlling current flow is from the positive node, through the source, to the negative node. If vnam names an inductor, the current flow is from the first node specified for the inductor, through the inductor, to the second node.
In the first form, if the expr is a constant, it represents the linear current gain. If no expression is given, a unit constant value is assumed. Otherwise, the expr computes the source current, where the variable ``x'' if used in the expr is taken to be the controlling current (i(vnam)). In this case only, the pwl construct if used in the expr takes as its input variable the value of ``x'' rather than time, thus a piecewise linear transfer function can be implemented using a pwl statement. The second form is similar, but ``x'' is not defined. The keywords ``function'' and ``cur'' are equivalent. The third form allows use of the SPICE2 poly construct.
More information of the function specification can be found in 2.15, and the poly specification is described in 2.15.2.
If the ac parameter is given and the table keyword follows, then the named table is taken to contain complex transfer coefficient data, which will be used in ac analysis (and possibly elsewhere, see below). For each frequency, the source output will be the interpolated transfer coefficient from the table multiplied by the input. The table must be specified with a .table line, and must have the ac keyword given.
If an ac table is specified, and no dc/transient transfer function or coefficient is given, then in transient analysis, the source transfer will be obtained through Fourier analysis of the table data. This is somewhat experimental, and may be prone to numerical errors.
In ac analysis, the transfer coefficient can be real or complex. If complex, the imaginary value follows the real value. Only constants or constant expressions are valid in this case. If the source function is specified in this way, the real component is used in dc and transient analysis. This will also override a table, if given.