\input manualMacros.tex
\manBegin
\manPageInfo{RCCL Reference Manual}{}{}
\manTitle{addJnts}{3}
\manSection{NAME}
{\rightskip=0ptplus1fil
{\tt \manName{addJnts}},
{\tt \manName{subtractJnts}},
{\tt \manName{scaleJnts}},
{\tt \manName{combineJnts}},
{\tt \manName{zeroJnts}}
-- RCCL routines for manipulating {\tt JNTS} types.
}
\manSection{USAGE}
\cverbatim
#include <rccl.h>

JNTS *addJnts (jr, j1, j2)
   JNTS *jr, *j1, *j2;

JNTS *subtractJnts (jr, j1, j2)
   JNTS *jr, *j1, *j2;

JNTS *scaleJnts (jr, a, j1)
   JNTS *jr, *j1;
   float a;

JNTS *combineJnts (jr, a, j1, b, j2)
   JNTS *jr, *j1, *j2;
   float a, b;

JNTS *zeroJnts (jr)
   JNTS *jr;
@endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt jr} --}
Result joint values.
\manItem{{\tt j1}, {\tt j2} --}
Input joint values.
\manItem{{\tt a}, {\tt b} --}
Scale factors.
\manSection{DESCRIPTION}
These routines perform simple arithmetic operations on the
sets of joint values defined by the RCCL {\tt JNTS} type.
They are coded with unrolled loops, and so execute very quickly.
At the moment, these routines do not touch the {\tt type} or
{\tt num} fields of the result.

{\tt addJnts()} and {\tt subtractJnts()} compute ${\tt jr} = {\tt j1} + 
{\tt j2}$ and ${\tt jr} = {\tt j1} - {\tt j2}$, respectively.

{\tt scaleJnts()} computes the vector ${\tt jr} = {\tt a} \; {\tt j1}$.

{\tt combineJnts()} computes the linear combination ${\tt jr} = 
{\tt a} \; {\tt j1} + {\tt b} \; {\tt j2}$.

{\tt zeroJnts()} zeros the values of {\tt jr}.

Each of these routines returns a pointer to its result argument.

There are no special routines for printing or scanning joint
values. This can be done with the general vector routines (see
{\tt printVf(3)}).

\manSection{SEE ALSO}
\raggedright
{\tt printVf(3)}.
\manEnd
\end
