## all functions - l

l2ll
```
z = l2ll(x)

convert 2-by-dims 32 bit integer X to 64 bit integer
(only works if sizeof(long)=8)
Interpreted function, defined at i/idlsave.i   line 316

```

lagrange
```
lagrange

Interpreted function, defined at i/demo3.i   line 78

```

laguerre
```
laguerre(a,x)

Given the coefficients a(1:m+1) of the m'th degree
complex polynomial Sum(a(i)*x^(i-1)) and a guess x, returns a root.
See Numerical Recipes (Press, et. al., Cambridge Univ. Press 1988),
section 9.5.
Interpreted function, defined at i/zroots.i   line 70

```

laplacian
```
laplacian

Interpreted function, defined at i/demo2.i   line 158

```

lcm
```
lcm(a,b)

returns the LCM (least common multiple) of A and B, which must
be one of the integer data types.  A and B may be conformable
arrays; the semantics of the lcm call are the same as any other
binary operation.
The absolute values of A and B are taken before the operation
commences; if either A or B is 0, the return value will be 0.
Interpreted function, defined at i/gcd.i   line 47

```

legal
```
legal

Prints the legal details of Yorick's copyright, licensing,
and lack of warranty.
Interpreted function, defined at i0/std.i   line 88

```

legndr
```
legndr(l,m, x)

return the associated Legendre function Plm(x).  The X may
be an array (-1<=x<=1), but L and M (0<=M<=L) must be scalar
values.  For m=0, these are the Legendre polynomials Pl(x).
Relation of Plm(x) to Pl(x):
Plm(x) = (-1)^m (1-x^2)^(m/2) d^m/dx^m(Pl(x))
Relation of Plm(x) to spherical harmonics Ylm:
Ylm(theta,phi)= sqrt((2*l+1)(l-m)!/(4*pi*(l+m)!)) *
Plm(cos(theta)) * exp(1i*m*phi)
Interpreted function, defined at i/legndr.i   line 12

```

library
```
library

print the Y_SITE/i/README file at the terminal.
Interpreted function, defined at i0/std.i   line 2442

```

light3
```
light3, ambient=a_level,
diffuse=d_level,
specular=s_level,
spower=n,
sdir=xyz

Sets lighting properties for 3D shading effects.
A surface will be shaded according to its to its orientation
relative to the viewing direction.
The ambient level A_LEVEL is a light level (arbitrary units)
that is added to every surface independent of its orientation.
The diffuse level D_LEVEL is a light level which is proportional
to cos(theta), where theta is the angle between the surface
normal and the viewing direction, so that surfaces directly
facing the viewer are bright, while surfaces viewed edge on are
unlit (and surfaces facing away, if drawn, are shaded as if they
faced the viewer).
The specular level S_LEVEL is a light level proportional to a high
power spower=N of 1+cos(alpha), where alpha is the angle between
the specular reflection angle and the viewing direction.  The light
source for the calculation of alpha lies in the direction XYZ (a
3 element vector) in the viewer's coordinate system at infinite
distance.  You can have ns light sources by making S_LEVEL, N, and
XYZ (or any combination) be vectors of length ns (3-by-ns in the
case of XYZ).  (See source code for specular_hook function
definition if powers of 1+cos(alpha) aren't good enough for you.)
EXAMPLES:
light3, diffuse=.1, specular=1., sdir=[0,0,-1]
(dramatic "tail lighting" effect)
light3, diffuse=.5, specular=1., sdir=[1,.5,1]
(classic "over your right shoulder" lighting)
light3, ambient=.1,diffuse=.1,specular=1.,
sdir=[[0,0,-1],[1,.5,1]],spower=[4,2]
(two light sources combining previous effects)
Interpreted function, defined at i/pl3d.i   line 262

```

lightwf
```
lightwf, cmax

Sets the cmax= parameter interactively, assuming the current
3D display list contains the result of a previous plwf call.
This changes the color of the brightest surface in the picture.
The darkest surface color can be controlled using the ambient=
keyword to light3.
Interpreted function, defined at i/plwf.i   line 131

```

limit3
```
limit3, xmin,xmax, ymin,ymax
or limit3, xmin,xmax, ymin,ymax, zmin,zmax

Set the 3D axis limits for use with the cage.
Use keyword aspect=[ax,ay,az] to set the aspect ratios of the
cage to ax:ay:az -- that is, the ratios of the lengths of the
cage axes will become ax:ay:az.
Interpreted function, defined at i/pl3d.i   line 181

```

limits
```
limits
or limits, xmin, xmax, ymin, ymax,
square=0/1, nice=0/1, restrict=0/1
or old_limits= limits()
or limits, old_limits

In the first form, restores all four plot limits to extreme values.
In the second form, sets the plot limits in the current coordinate
system to XMIN, XMAX, YMIN, YMAX, which may be nil or omitted to
leave the corresponding limit unchanged, a number to fix the
corresponding limit to a specified value, or the string "e" to
make the corresponding limit take on the extreme value of the
currently displayed data.
If present, the square keyword determines whether limits marked
as extreme values will be adjusted to force the x and y scales
to be equal (square=1) or not (square=0, the default).
If present, the nice keyword determines whether limits will be
adjusted to nice values (nice=1) or not (nice=0, the default).
There is a subtlety in the meaning of "extreme value" when one
or both of the limits on the OPPOSITE axis have fixed values --
does the "extreme value" of the data include points which
will not be plotted because their other coordinate lies outside
the fixed limit on the opposite axis (restrict=0, the default),
or not (restrict=1)?
If called as a function, limits returns an array of 5 doubles;
OLD_LIMITS(1:4) are the current xmin, xmax, ymin, and ymax,
and int(OLD_LIMITS(5)) is a set of flags indicating extreme
values and the square, nice, restrict, and log flags.
In the fourth form, OLD_LIMITS is as returned by a previous
limits call, to restore the limits to a previous state.
In an X window, the limits may also be adjusted interactively
with the mouse.  Drag left to zoom in and pan (click left to zoom
in on a point without moving it), drag middle to pan, and click
(and drag) right to zoom out (and pan).  If you click just above
or below the plot, these operations will be restricted to the
x-axis; if you click just to the left or right, the operations
are restricted to the y-axis.  A ctrl-left click, drag, and
release will expand the box you dragged over to fill the plot
(other popular software zooms with this paradigm).  If the
rubber band box is not visible with ctrl-left zooming, try
ctrl-middle or ctrl-right for alternate XOR masks.  Such
mouse-set limits are equivalent to a limits command specifying
all four limits EXCEPT that the unzoom command can revert to
the limits before a series of mouse zooms and pans.
Holding the shift key and pressing the left mouse button is
equivalent to pressing the middle mouse button.  Similarly,
pressing meta-left is equivalent to the right button.  This
machines (e.g.- most laptops) with two button or one button
mice.
The limits you set using the limits or range functions carry over
to the next plot -- that is, an fma operation does NOT reset the
limits to extreme values.
Builtin function, documented at i0/graph.i   line 771

```

ln_gamma
```
ln_gamma(z)

returns natural log of the gamma function.
Error is less than 1e-13 for real part of z>=1.
Use lngamma if you know that all z>=1, or if you don't care much about
accuracy for z<1.
Interpreted function, defined at i/gamma.i   line 16

```

lngamma
```
lngamma(x)

returns natural log of the gamma function.
Error is less than 1e-13 for real part of x>=1.
Use ln_gamma if some x<1.
Interpreted function, defined at i/gamma.i   line 37

```

log
```
log(x)

returns the natural logarithm of its argument (inverse of exp).
Builtin function, documented at i0/std.i   line 660

```

log10
```
log10(x)

returns the base 10 logarithm of its argument (inverse of 10^x).
Builtin function, documented at i0/std.i   line 666

```

log1p
```
log1p(x)

return log(1+X) accurate to machine precision (even for X<<1)
from Goldberg, ACM Computing Surveys, Vol 23, No 1, March 1991,
apparently originally from HP-15C Advanced Functions Handbook
Interpreted function, defined at i0/std.i   line 684

```

logxy
```
logxy, xflag, yflag

sets the linear/log axis scaling flags for the current coordinate
system.  XFLAG and YFLAG may be nil or omitted to leave the
corresponding axis scaling unchanged, 0 to select linear scaling,
or 1 to select log scaling.
Builtin function, documented at i0/graph.i   line 848

```

lon_lat
```
lon_lat

Interpreted function, defined at i/kepler.i   line 474

```

lon_subtract
```
lon_subtract

Interpreted function, defined at i/kepler.i   line 481

```

lookup_akap
```
lookup_akap

Interpreted function, defined at i/ylmdec.i   line 360

```

lsdir
```
files = lsdir(directory_name)
or files = lsdir(directory_name, subdirs)

List DIRECTORY_NAME.  The return value FILES is an array of
strings or nil; the order of the filenames is unspecified;
it does not contain "." or ".."; it does not contain the
names of subdirectories.  If SUBDIRS is given and is a simple
variable name, it is set to a list of subdirectory names (or
nil if there are no subdirectories).
If DIRECTORY_NAME does not exist, the return value is the
integer 0 rather than nil.
Builtin function, documented at i0/std.i   line 2464

```