\doxysection{f2c\+\_\+lite.\+c}
\label{f2c__lite_8c_source}\index{src/libsphinxbase/util/f2c\_lite.c@{src/libsphinxbase/util/f2c\_lite.c}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#include\ <math.h>}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <string.h>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <assert.h>}}
\DoxyCodeLine{00006\ }
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ "{}sphinxbase/f2c.h"{}}}
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#ifdef\ \_MSC\_VER}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#pragma\ warning\ (disable:\ 4244)}}
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ }
\DoxyCodeLine{00014\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00015\ s\_wsfe(cilist\ *\ f)}
\DoxyCodeLine{00016\ \{;}
\DoxyCodeLine{00017\ \}}
\DoxyCodeLine{00018\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00019\ e\_wsfe(\textcolor{keywordtype}{void})}
\DoxyCodeLine{00020\ \{;}
\DoxyCodeLine{00021\ \}}
\DoxyCodeLine{00022\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00023\ do\_fio(integer\ *\ c,\ \textcolor{keywordtype}{char}\ *s,\ ftnlen\ l)}
\DoxyCodeLine{00024\ \{;}
\DoxyCodeLine{00025\ \}}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00027\ \textcolor{comment}{/*\ You'll\ want\ this\ if\ you\ redo\ the\ *\_lite.c\ files\ with\ the\ -\/C\ option}}
\DoxyCodeLine{00028\ \textcolor{comment}{\ *\ to\ f2c\ for\ checking\ array\ subscripts.\ (It's\ not\ suggested\ you\ do\ that}}
\DoxyCodeLine{00029\ \textcolor{comment}{\ *\ for\ production\ use,\ of\ course.)\ */}}
\DoxyCodeLine{00030\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{int}}
\DoxyCodeLine{00031\ s\_rnge(\textcolor{keywordtype}{char}\ *var,\ \textcolor{keywordtype}{int}\ index,\ \textcolor{keywordtype}{char}\ *routine,\ \textcolor{keywordtype}{int}\ lineno)}
\DoxyCodeLine{00032\ \{}
\DoxyCodeLine{00033\ \ \ \ \ fprintf(stderr,}
\DoxyCodeLine{00034\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{stringliteral}{"{}array\ index\ out-\/of-\/bounds\ for\ \%s[\%d]\ in\ routine\ \%s:\%d\(\backslash\)n"{}},\ var,}
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \ \ \ \ index,\ routine,\ lineno);}
\DoxyCodeLine{00036\ \ \ \ \ fflush(stderr);}
\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ assert(2+2\ ==\ 5);}
\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0;}
\DoxyCodeLine{00039\ \}}
\DoxyCodeLine{00040\ }
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00042\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00043\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{double}\ sqrt();}
\DoxyCodeLine{00044\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00045\ f\_\_cabs(real,\ imag)}
\DoxyCodeLine{00046\ \textcolor{keywordtype}{float}\ real,\ imag;}
\DoxyCodeLine{00047\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00048\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00049\ }
\DoxyCodeLine{00050\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00051\ f\_\_cabs(\textcolor{keywordtype}{float}\ real,\ \textcolor{keywordtype}{float}\ imag)}
\DoxyCodeLine{00052\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00053\ \{}
\DoxyCodeLine{00054\ \ \ \ \ \textcolor{keywordtype}{float}\ temp;}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \ \ \ \ \textcolor{keywordflow}{if}\ (real\ <\ 0)}
\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ real\ =\ -\/real;}
\DoxyCodeLine{00058\ \ \ \ \ \textcolor{keywordflow}{if}\ (imag\ <\ 0)}
\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ imag\ =\ -\/imag;}
\DoxyCodeLine{00060\ \ \ \ \ \textcolor{keywordflow}{if}\ (imag\ >\ real)\ \{}
\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ temp\ =\ real;}
\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ real\ =\ imag;}
\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ imag\ =\ temp;}
\DoxyCodeLine{00064\ \ \ \ \ \}}
\DoxyCodeLine{00065\ \ \ \ \ \textcolor{keywordflow}{if}\ ((imag\ +\ real)\ ==\ real)}
\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ ((\textcolor{keywordtype}{float})\ real);}
\DoxyCodeLine{00067\ }
\DoxyCodeLine{00068\ \ \ \ \ temp\ =\ imag\ /\ real;}
\DoxyCodeLine{00069\ \ \ \ \ temp\ =\ real\ *\ sqrt(1.0\ +\ temp\ *\ temp);\ \ \ \ \ \ \textcolor{comment}{/*overflow!!\ */}}
\DoxyCodeLine{00070\ \ \ \ \ \textcolor{keywordflow}{return}\ (temp);}
\DoxyCodeLine{00071\ \}}
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00073\ }
\DoxyCodeLine{00074\ VOID}
\DoxyCodeLine{00075\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00076\ s\_cnjg(r,\ z)}
\DoxyCodeLine{00077\ complex\ *r,\ *z;}
\DoxyCodeLine{00078\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00079\ s\_cnjg(complex\ *\ r,\ complex\ *\ z)}
\DoxyCodeLine{00080\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00081\ \{}
\DoxyCodeLine{00082\ \ \ \ \ r-\/>r\ =\ z-\/>r;}
\DoxyCodeLine{00083\ \ \ \ \ r-\/>i\ =\ -\/z-\/>i;}
\DoxyCodeLine{00084\ \}}
\DoxyCodeLine{00085\ }
\DoxyCodeLine{00086\ }
\DoxyCodeLine{00087\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00088\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00089\ r\_imag(z)}
\DoxyCodeLine{00090\ complex\ *z;}
\DoxyCodeLine{00091\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00092\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00093\ r\_imag(complex\ *\ z)}
\DoxyCodeLine{00094\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00095\ \{}
\DoxyCodeLine{00096\ \ \ \ \ \textcolor{keywordflow}{return}\ (z-\/>i);}
\DoxyCodeLine{00097\ \}}
\DoxyCodeLine{00098\ }
\DoxyCodeLine{00099\ }
\DoxyCodeLine{00100\ \textcolor{preprocessor}{\#define\ log10e\ 0.43429448190325182765}}
\DoxyCodeLine{00101\ }
\DoxyCodeLine{00102\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00103\ \textcolor{keywordtype}{double}\ log();}
\DoxyCodeLine{00104\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00105\ r\_lg10(x)}
\DoxyCodeLine{00106\ real\ *x;}
\DoxyCodeLine{00107\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00108\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00109\ }
\DoxyCodeLine{00110\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00111\ r\_lg10(real\ *\ x)}
\DoxyCodeLine{00112\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00113\ \{}
\DoxyCodeLine{00114\ \ \ \ \ \textcolor{keywordflow}{return}\ (log10e\ *\ log(*x));}
\DoxyCodeLine{00115\ \}}
\DoxyCodeLine{00116\ }
\DoxyCodeLine{00117\ }
\DoxyCodeLine{00118\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00119\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00120\ r\_sign(a,\ b)}
\DoxyCodeLine{00121\ real\ *a,\ *b;}
\DoxyCodeLine{00122\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00123\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00124\ r\_sign(real\ *\ a,\ real\ *\ b)}
\DoxyCodeLine{00125\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00126\ \{}
\DoxyCodeLine{00127\ \ \ \ \ \textcolor{keywordtype}{float}\ x;}
\DoxyCodeLine{00128\ \ \ \ \ x\ =\ (*a\ >=\ 0\ ?\ *a\ :\ -\/*a);}
\DoxyCodeLine{00129\ \ \ \ \ \textcolor{keywordflow}{return}\ (*b\ >=\ 0\ ?\ x\ :\ -\/x);}
\DoxyCodeLine{00130\ \}}
\DoxyCodeLine{00131\ }
\DoxyCodeLine{00132\ }
\DoxyCodeLine{00133\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00134\ \textcolor{keywordtype}{double}\ floor();}
\DoxyCodeLine{00135\ integer}
\DoxyCodeLine{00136\ i\_dnnt(x)}
\DoxyCodeLine{00137\ real\ *x;}
\DoxyCodeLine{00138\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00139\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00140\ }
\DoxyCodeLine{00141\ integer}
\DoxyCodeLine{00142\ i\_dnnt(real\ *\ x)}
\DoxyCodeLine{00143\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00144\ \{}
\DoxyCodeLine{00145\ \ \ \ \ \textcolor{keywordflow}{return}\ ((*x)\ >=\ 0\ ?\ floor(*x\ +\ .5)\ :\ -\/floor(.5\ -\/\ *x));}
\DoxyCodeLine{00146\ \}}
\DoxyCodeLine{00147\ }
\DoxyCodeLine{00148\ }
\DoxyCodeLine{00149\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00150\ \textcolor{keywordtype}{double}\ pow();}
\DoxyCodeLine{00151\ \textcolor{keywordtype}{double}}
\DoxyCodeLine{00152\ pow\_dd(ap,\ bp)}
\DoxyCodeLine{00153\ doublereal\ *ap,\ *bp;}
\DoxyCodeLine{00154\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00155\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00156\ }
\DoxyCodeLine{00157\ \textcolor{keywordtype}{double}}
\DoxyCodeLine{00158\ pow\_dd(doublereal\ *\ ap,\ doublereal\ *\ bp)}
\DoxyCodeLine{00159\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00160\ \{}
\DoxyCodeLine{00161\ \ \ \ \ \textcolor{keywordflow}{return}\ (pow(*ap,\ *bp));}
\DoxyCodeLine{00162\ \}}
\DoxyCodeLine{00163\ }
\DoxyCodeLine{00164\ }
\DoxyCodeLine{00165\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00166\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00167\ pow\_ri(ap,\ bp)}
\DoxyCodeLine{00168\ real\ *ap;}
\DoxyCodeLine{00169\ integer\ *bp;}
\DoxyCodeLine{00170\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00171\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00172\ pow\_ri(real\ *\ ap,\ integer\ *\ bp)}
\DoxyCodeLine{00173\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00174\ \{}
\DoxyCodeLine{00175\ \ \ \ \ \textcolor{keywordtype}{float}\ pow,\ x;}
\DoxyCodeLine{00176\ \ \ \ \ integer\ n;}
\DoxyCodeLine{00177\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ u;}
\DoxyCodeLine{00178\ }
\DoxyCodeLine{00179\ \ \ \ \ pow\ =\ 1;}
\DoxyCodeLine{00180\ \ \ \ \ x\ =\ *ap;}
\DoxyCodeLine{00181\ \ \ \ \ n\ =\ *bp;}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00183\ \ \ \ \ \textcolor{keywordflow}{if}\ (n\ !=\ 0)\ \{}
\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (n\ <\ 0)\ \{}
\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \ \ \ \ n\ =\ -\/n;}
\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \ \ \ \ x\ =\ 1\ /\ x;}
\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (u\ =\ n;;)\ \{}
\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (u\ \&\ 01)}
\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pow\ *=\ x;}
\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (u\ >>=\ 1)}
\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ x\ *=\ x;}
\DoxyCodeLine{00193\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00194\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00195\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00196\ \ \ \ \ \}}
\DoxyCodeLine{00197\ \ \ \ \ \textcolor{keywordflow}{return}\ (pow);}
\DoxyCodeLine{00198\ \}}
\DoxyCodeLine{00199\ }
\DoxyCodeLine{00200\ \textcolor{comment}{/*\ Unless\ compiled\ with\ -\/DNO\_OVERWRITE,\ this\ variant\ of\ s\_cat\ allows\ the}}
\DoxyCodeLine{00201\ \textcolor{comment}{\ *\ target\ of\ a\ concatenation\ to\ appear\ on\ its\ right-\/hand\ side\ (contrary}}
\DoxyCodeLine{00202\ \textcolor{comment}{\ *\ to\ the\ Fortran\ 77\ Standard,\ but\ in\ accordance\ with\ Fortran\ 90).}}
\DoxyCodeLine{00203\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00204\ \textcolor{preprocessor}{\#define\ NO\_OVERWRITE}}
\DoxyCodeLine{00205\ }
\DoxyCodeLine{00206\ }
\DoxyCodeLine{00207\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00208\ }
\DoxyCodeLine{00209\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00210\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00211\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{char}\ *F77\_aloc();}
\DoxyCodeLine{00212\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}\ free();}
\DoxyCodeLine{00213\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}\ exit\_();}
\DoxyCodeLine{00214\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00215\ }
\DoxyCodeLine{00216\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{char}\ *F77\_aloc(ftnlen,\ \textcolor{keywordtype}{char}\ *);}
\DoxyCodeLine{00217\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00218\ }
\DoxyCodeLine{00219\ \textcolor{preprocessor}{\#endif\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ NO\_OVERWRITE\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00221\ VOID}
\DoxyCodeLine{00222\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00223\ s\_cat(lp,\ rpp,\ rnp,\ np,\ ll)}
\DoxyCodeLine{00224\ \textcolor{keywordtype}{char}\ *lp,\ *rpp[];}
\DoxyCodeLine{00225\ ftnlen\ rnp[],\ *np,\ ll;}
\DoxyCodeLine{00226\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00227\ s\_cat(\textcolor{keywordtype}{char}\ *lp,\ \textcolor{keywordtype}{char}\ *rpp[],\ ftnlen\ rnp[],\ ftnlen\ *\ np,\ ftnlen\ ll)}
\DoxyCodeLine{00228\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00229\ \{}
\DoxyCodeLine{00230\ \ \ \ \ ftnlen\ i,\ nc;}
\DoxyCodeLine{00231\ \ \ \ \ \textcolor{keywordtype}{char}\ *rp;}
\DoxyCodeLine{00232\ \ \ \ \ ftnlen\ n\ =\ *np;}
\DoxyCodeLine{00233\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00234\ \ \ \ \ ftnlen\ L,\ m;}
\DoxyCodeLine{00235\ \ \ \ \ \textcolor{keywordtype}{char}\ *lp0,\ *lp1;}
\DoxyCodeLine{00236\ }
\DoxyCodeLine{00237\ \ \ \ \ lp0\ =\ 0;}
\DoxyCodeLine{00238\ \ \ \ \ lp1\ =\ lp;}
\DoxyCodeLine{00239\ \ \ \ \ L\ =\ ll;}
\DoxyCodeLine{00240\ \ \ \ \ i\ =\ 0;}
\DoxyCodeLine{00241\ \ \ \ \ \textcolor{keywordflow}{while}\ (i\ <\ n)\ \{}
\DoxyCodeLine{00242\ \ \ \ \ \ \ \ \ rp\ =\ rpp[i];}
\DoxyCodeLine{00243\ \ \ \ \ \ \ \ \ m\ =\ rnp[i++];}
\DoxyCodeLine{00244\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (rp\ >=\ lp1\ ||\ rp\ +\ m\ <=\ lp)\ \{}
\DoxyCodeLine{00245\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ ((L\ -\/=\ m)\ <=\ 0)\ \{}
\DoxyCodeLine{00246\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ n\ =\ i;}
\DoxyCodeLine{00247\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00248\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00249\ \ \ \ \ \ \ \ \ \ \ \ \ lp1\ +=\ m;}
\DoxyCodeLine{00250\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{continue};}
\DoxyCodeLine{00251\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00252\ \ \ \ \ \ \ \ \ lp0\ =\ lp;}
\DoxyCodeLine{00253\ \ \ \ \ \ \ \ \ lp\ =\ lp1\ =\ F77\_aloc(L\ =\ ll,\ \textcolor{stringliteral}{"{}s\_cat"{}});}
\DoxyCodeLine{00254\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00255\ \ \ \ \ \}}
\DoxyCodeLine{00256\ \ \ \ \ lp1\ =\ lp;}
\DoxyCodeLine{00257\ \textcolor{preprocessor}{\#endif\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{/*\ NO\_OVERWRITE\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00258\ \ \ \ \ \textcolor{keywordflow}{for}\ (i\ =\ 0;\ i\ <\ n;\ ++i)\ \{}
\DoxyCodeLine{00259\ \ \ \ \ \ \ \ \ nc\ =\ ll;}
\DoxyCodeLine{00260\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (rnp[i]\ <\ nc)}
\DoxyCodeLine{00261\ \ \ \ \ \ \ \ \ \ \ \ \ nc\ =\ rnp[i];}
\DoxyCodeLine{00262\ \ \ \ \ \ \ \ \ ll\ -\/=\ nc;}
\DoxyCodeLine{00263\ \ \ \ \ \ \ \ \ rp\ =\ rpp[i];}
\DoxyCodeLine{00264\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (-\/-\/nc\ >=\ 0)}
\DoxyCodeLine{00265\ \ \ \ \ \ \ \ \ \ \ \ \ *lp++\ =\ *rp++;}
\DoxyCodeLine{00266\ \ \ \ \ \}}
\DoxyCodeLine{00267\ \ \ \ \ \textcolor{keywordflow}{while}\ (-\/-\/ll\ >=\ 0)}
\DoxyCodeLine{00268\ \ \ \ \ \ \ \ \ *lp++\ =\ \textcolor{charliteral}{'\ '};}
\DoxyCodeLine{00269\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00270\ \ \ \ \ \textcolor{keywordflow}{if}\ (lp0)\ \{}
\DoxyCodeLine{00271\ \ \ \ \ \ \ \ \ memmove(lp0,\ lp1,\ L);}
\DoxyCodeLine{00272\ \ \ \ \ \ \ \ \ free(lp1);}
\DoxyCodeLine{00273\ \ \ \ \ \}}
\DoxyCodeLine{00274\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00275\ \}}
\DoxyCodeLine{00276\ }
\DoxyCodeLine{00277\ }
\DoxyCodeLine{00278\ \textcolor{comment}{/*\ compare\ two\ strings\ */}}
\DoxyCodeLine{00279\ }
\DoxyCodeLine{00280\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00281\ integer}
\DoxyCodeLine{00282\ s\_cmp(a0,\ b0,\ la,\ lb)}
\DoxyCodeLine{00283\ \textcolor{keywordtype}{char}\ *a0,\ *b0;}
\DoxyCodeLine{00284\ ftnlen\ la,\ lb;}
\DoxyCodeLine{00285\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00286\ integer}
\DoxyCodeLine{00287\ s\_cmp(\textcolor{keywordtype}{char}\ *a0,\ \textcolor{keywordtype}{char}\ *b0,\ ftnlen\ la,\ ftnlen\ lb)}
\DoxyCodeLine{00288\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00289\ \{}
\DoxyCodeLine{00290\ \ \ \ \ \textcolor{keyword}{register}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ *a,\ *aend,\ *b,\ *bend;}
\DoxyCodeLine{00291\ \ \ \ \ a\ =\ (\textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ *)\ a0;}
\DoxyCodeLine{00292\ \ \ \ \ b\ =\ (\textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ *)\ b0;}
\DoxyCodeLine{00293\ \ \ \ \ aend\ =\ a\ +\ la;}
\DoxyCodeLine{00294\ \ \ \ \ bend\ =\ b\ +\ lb;}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00296\ \ \ \ \ \textcolor{keywordflow}{if}\ (la\ <=\ lb)\ \{}
\DoxyCodeLine{00297\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (a\ <\ aend)}
\DoxyCodeLine{00298\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (*a\ !=\ *b)}
\DoxyCodeLine{00299\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*a\ -\/\ *b);}
\DoxyCodeLine{00300\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{00301\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++a;}
\DoxyCodeLine{00302\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++b;}
\DoxyCodeLine{00303\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00304\ }
\DoxyCodeLine{00305\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (b\ <\ bend)}
\DoxyCodeLine{00306\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (*b\ !=\ \textcolor{charliteral}{'\ '})}
\DoxyCodeLine{00307\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (\textcolor{charliteral}{'\ '}\ -\/\ *b);}
\DoxyCodeLine{00308\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00309\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++b;}
\DoxyCodeLine{00310\ \ \ \ \ \}}
\DoxyCodeLine{00311\ }
\DoxyCodeLine{00312\ \ \ \ \ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{00313\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (b\ <\ bend)}
\DoxyCodeLine{00314\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (*a\ ==\ *b)\ \{}
\DoxyCodeLine{00315\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++a;}
\DoxyCodeLine{00316\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++b;}
\DoxyCodeLine{00317\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00318\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00319\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*a\ -\/\ *b);}
\DoxyCodeLine{00320\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (a\ <\ aend)}
\DoxyCodeLine{00321\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (*a\ !=\ \textcolor{charliteral}{'\ '})}
\DoxyCodeLine{00322\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (*a\ -\/\ \textcolor{charliteral}{'\ '});}
\DoxyCodeLine{00323\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00324\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ++a;}
\DoxyCodeLine{00325\ \ \ \ \ \}}
\DoxyCodeLine{00326\ \ \ \ \ \textcolor{keywordflow}{return}\ (0);}
\DoxyCodeLine{00327\ \}}
\DoxyCodeLine{00328\ }
\DoxyCodeLine{00329\ \textcolor{comment}{/*\ Unless\ compiled\ with\ -\/DNO\_OVERWRITE,\ this\ variant\ of\ s\_copy\ allows\ the}}
\DoxyCodeLine{00330\ \textcolor{comment}{\ *\ target\ of\ an\ assignment\ to\ appear\ on\ its\ right-\/hand\ side\ (contrary}}
\DoxyCodeLine{00331\ \textcolor{comment}{\ *\ to\ the\ Fortran\ 77\ Standard,\ but\ in\ accordance\ with\ Fortran\ 90),}}
\DoxyCodeLine{00332\ \textcolor{comment}{\ *\ as\ in\ \ a(2:5)\ =\ a(4:7)\ .}}
\DoxyCodeLine{00333\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00334\ }
\DoxyCodeLine{00335\ }
\DoxyCodeLine{00336\ }
\DoxyCodeLine{00337\ \textcolor{comment}{/*\ assign\ strings:\ \ a\ =\ b\ */}}
\DoxyCodeLine{00338\ }
\DoxyCodeLine{00339\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00340\ VOID}
\DoxyCodeLine{00341\ s\_copy(a,\ b,\ la,\ lb)}
\DoxyCodeLine{00342\ \textcolor{keyword}{register}\ \textcolor{keywordtype}{char}\ *a,\ *b;}
\DoxyCodeLine{00343\ ftnlen\ la,\ lb;}
\DoxyCodeLine{00344\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00345\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00346\ s\_copy(\textcolor{keyword}{register}\ \textcolor{keywordtype}{char}\ *a,\ \textcolor{keyword}{register}\ \textcolor{keywordtype}{char}\ *b,\ ftnlen\ la,\ ftnlen\ lb)}
\DoxyCodeLine{00347\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00348\ \{}
\DoxyCodeLine{00349\ \ \ \ \ \textcolor{keyword}{register}\ \textcolor{keywordtype}{char}\ *aend,\ *bend;}
\DoxyCodeLine{00350\ }
\DoxyCodeLine{00351\ \ \ \ \ aend\ =\ a\ +\ la;}
\DoxyCodeLine{00352\ }
\DoxyCodeLine{00353\ \ \ \ \ \textcolor{keywordflow}{if}\ (la\ <=\ lb)}
\DoxyCodeLine{00354\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00355\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (a\ <=\ b\ ||\ a\ >=\ b\ +\ la)}
\DoxyCodeLine{00356\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00357\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (a\ <\ aend)}
\DoxyCodeLine{00358\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *a++\ =\ *b++;}
\DoxyCodeLine{00359\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00360\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00361\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (b\ +=\ la;\ a\ <\ aend;)}
\DoxyCodeLine{00362\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *-\/-\/aend\ =\ *-\/-\/b;}
\DoxyCodeLine{00363\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00364\ }
\DoxyCodeLine{00365\ \ \ \ \ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{00366\ \ \ \ \ \ \ \ \ bend\ =\ b\ +\ lb;}
\DoxyCodeLine{00367\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00368\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (a\ <=\ b\ ||\ a\ >=\ bend)}
\DoxyCodeLine{00369\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00370\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (b\ <\ bend)}
\DoxyCodeLine{00371\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *a++\ =\ *b++;}
\DoxyCodeLine{00372\ \textcolor{preprocessor}{\#ifndef\ NO\_OVERWRITE}}
\DoxyCodeLine{00373\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{00374\ \ \ \ \ \ \ \ \ \ \ \ \ a\ +=\ lb;}
\DoxyCodeLine{00375\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (b\ <\ bend)}
\DoxyCodeLine{00376\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *-\/-\/a\ =\ *-\/-\/bend;}
\DoxyCodeLine{00377\ \ \ \ \ \ \ \ \ \ \ \ \ a\ +=\ lb;}
\DoxyCodeLine{00378\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00379\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00380\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (a\ <\ aend)}
\DoxyCodeLine{00381\ \ \ \ \ \ \ \ \ \ \ \ \ *a++\ =\ \textcolor{charliteral}{'\ '};}
\DoxyCodeLine{00382\ \ \ \ \ \}}
\DoxyCodeLine{00383\ \}}
\DoxyCodeLine{00384\ }
\DoxyCodeLine{00385\ }
\DoxyCodeLine{00386\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00387\ \textcolor{keywordtype}{float}\ f\_\_cabs();}
\DoxyCodeLine{00388\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00389\ z\_abs(z)}
\DoxyCodeLine{00390\ complex\ *z;}
\DoxyCodeLine{00391\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00392\ \textcolor{keywordtype}{float}\ f\_\_cabs(\textcolor{keywordtype}{float},\ \textcolor{keywordtype}{float});}
\DoxyCodeLine{00393\ \textcolor{keywordtype}{float}}
\DoxyCodeLine{00394\ z\_abs(complex\ *\ z)}
\DoxyCodeLine{00395\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00396\ \{}
\DoxyCodeLine{00397\ \ \ \ \ \textcolor{keywordflow}{return}\ (f\_\_cabs(z-\/>r,\ z-\/>i));}
\DoxyCodeLine{00398\ \}}
\DoxyCodeLine{00399\ }
\DoxyCodeLine{00400\ }
\DoxyCodeLine{00401\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00402\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}\ sig\_die();}
\DoxyCodeLine{00403\ VOID}
\DoxyCodeLine{00404\ z\_div(c,\ a,\ b)}
\DoxyCodeLine{00405\ complex\ *a,\ *b,\ *c;}
\DoxyCodeLine{00406\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00407\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}\ sig\_die(\textcolor{keywordtype}{char}\ *,\ \textcolor{keywordtype}{int});}
\DoxyCodeLine{00408\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00409\ z\_div(complex\ *\ c,\ complex\ *\ a,\ complex\ *\ b)}
\DoxyCodeLine{00410\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00411\ \{}
\DoxyCodeLine{00412\ \ \ \ \ \textcolor{keywordtype}{float}\ ratio,\ den;}
\DoxyCodeLine{00413\ \ \ \ \ \textcolor{keywordtype}{float}\ abr,\ abi;}
\DoxyCodeLine{00414\ }
\DoxyCodeLine{00415\ \ \ \ \ \textcolor{keywordflow}{if}\ ((abr\ =\ b-\/>r)\ <\ 0.)}
\DoxyCodeLine{00416\ \ \ \ \ \ \ \ \ abr\ =\ -\/abr;}
\DoxyCodeLine{00417\ \ \ \ \ \textcolor{keywordflow}{if}\ ((abi\ =\ b-\/>i)\ <\ 0.)}
\DoxyCodeLine{00418\ \ \ \ \ \ \ \ \ abi\ =\ -\/abi;}
\DoxyCodeLine{00419\ \ \ \ \ \textcolor{keywordflow}{if}\ (abr\ <=\ abi)\ \{}
\DoxyCodeLine{00420\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*Let\ IEEE\ Infinties\ handle\ this\ ;(\ */}}
\DoxyCodeLine{00421\ \ \ \ \ \ \ \ \ \textcolor{comment}{/*if(abi\ ==\ 0)}}
\DoxyCodeLine{00422\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ sig\_die("{}complex\ division\ by\ zero"{},\ 1);\ */}}
\DoxyCodeLine{00423\ \ \ \ \ \ \ \ \ ratio\ =\ b-\/>r\ /\ b-\/>i;}
\DoxyCodeLine{00424\ \ \ \ \ \ \ \ \ den\ =\ b-\/>i\ *\ (1\ +\ ratio\ *\ ratio);}
\DoxyCodeLine{00425\ \ \ \ \ \ \ \ \ c-\/>r\ =\ (a-\/>r\ *\ ratio\ +\ a-\/>i)\ /\ den;}
\DoxyCodeLine{00426\ \ \ \ \ \ \ \ \ c-\/>i\ =\ (a-\/>i\ *\ ratio\ -\/\ a-\/>r)\ /\ den;}
\DoxyCodeLine{00427\ \ \ \ \ \}}
\DoxyCodeLine{00428\ }
\DoxyCodeLine{00429\ \ \ \ \ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{00430\ \ \ \ \ \ \ \ \ ratio\ =\ b-\/>i\ /\ b-\/>r;}
\DoxyCodeLine{00431\ \ \ \ \ \ \ \ \ den\ =\ b-\/>r\ *\ (1\ +\ ratio\ *\ ratio);}
\DoxyCodeLine{00432\ \ \ \ \ \ \ \ \ c-\/>r\ =\ (a-\/>r\ +\ a-\/>i\ *\ ratio)\ /\ den;}
\DoxyCodeLine{00433\ \ \ \ \ \ \ \ \ c-\/>i\ =\ (a-\/>i\ -\/\ a-\/>r\ *\ ratio)\ /\ den;}
\DoxyCodeLine{00434\ \ \ \ \ \}}
\DoxyCodeLine{00435\ }
\DoxyCodeLine{00436\ \}}
\DoxyCodeLine{00437\ }
\DoxyCodeLine{00438\ }
\DoxyCodeLine{00439\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00440\ \textcolor{keywordtype}{double}\ sqrt();}
\DoxyCodeLine{00441\ \textcolor{keywordtype}{double}\ f\_\_cabs();}
\DoxyCodeLine{00442\ VOID}
\DoxyCodeLine{00443\ z\_sqrt(r,\ z)}
\DoxyCodeLine{00444\ complex\ *r,\ *z;}
\DoxyCodeLine{00445\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00446\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00447\ }
\DoxyCodeLine{00448\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{float}\ f\_\_cabs(\textcolor{keywordtype}{float},\ \textcolor{keywordtype}{float});}
\DoxyCodeLine{00449\ \textcolor{keywordtype}{void}}
\DoxyCodeLine{00450\ z\_sqrt(complex\ *\ r,\ complex\ *\ z)}
\DoxyCodeLine{00451\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00452\ \{}
\DoxyCodeLine{00453\ \ \ \ \ \textcolor{keywordtype}{float}\ mag;}
\DoxyCodeLine{00454\ }
\DoxyCodeLine{00455\ \ \ \ \ \textcolor{keywordflow}{if}\ ((mag\ =\ f\_\_cabs(z-\/>r,\ z-\/>i))\ ==\ 0.)}
\DoxyCodeLine{00456\ \ \ \ \ \ \ \ \ r-\/>r\ =\ r-\/>i\ =\ 0.;}
\DoxyCodeLine{00457\ \ \ \ \ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (z-\/>r\ >\ 0)\ \{}
\DoxyCodeLine{00458\ \ \ \ \ \ \ \ \ r-\/>r\ =\ sqrt(0.5\ *\ (mag\ +\ z-\/>r));}
\DoxyCodeLine{00459\ \ \ \ \ \ \ \ \ r-\/>i\ =\ z-\/>i\ /\ r-\/>r\ /\ 2;}
\DoxyCodeLine{00460\ \ \ \ \ \}}
\DoxyCodeLine{00461\ \ \ \ \ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{00462\ \ \ \ \ \ \ \ \ r-\/>i\ =\ sqrt(0.5\ *\ (mag\ -\/\ z-\/>r));}
\DoxyCodeLine{00463\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (z-\/>i\ <\ 0)}
\DoxyCodeLine{00464\ \ \ \ \ \ \ \ \ \ \ \ \ r-\/>i\ =\ -\/r-\/>i;}
\DoxyCodeLine{00465\ \ \ \ \ \ \ \ \ r-\/>r\ =\ z-\/>i\ /\ r-\/>i\ /\ 2;}
\DoxyCodeLine{00466\ \ \ \ \ \}}
\DoxyCodeLine{00467\ \}}
\DoxyCodeLine{00468\ }
\DoxyCodeLine{00469\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00470\ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{}
\DoxyCodeLine{00471\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00472\ }
\DoxyCodeLine{00473\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00474\ \ \ \ \ integer\ pow\_ii(ap,\ bp)\ integer\ *ap,\ *bp;}
\DoxyCodeLine{00475\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00476\ \ \ \ \ integer\ pow\_ii(integer\ *\ ap,\ integer\ *\ bp)}
\DoxyCodeLine{00477\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00478\ \ \ \ \ \{}
\DoxyCodeLine{00479\ \ \ \ \ \ \ \ \ integer\ pow,\ x,\ n;}
\DoxyCodeLine{00480\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ u;}
\DoxyCodeLine{00481\ }
\DoxyCodeLine{00482\ \ \ \ \ \ \ \ \ \ x\ =\ *ap;}
\DoxyCodeLine{00483\ \ \ \ \ \ \ \ \ \ n\ =\ *bp;}
\DoxyCodeLine{00484\ }
\DoxyCodeLine{00485\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (n\ <=\ 0)\ \{}
\DoxyCodeLine{00486\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (n\ ==\ 0\ ||\ x\ ==\ 1)}
\DoxyCodeLine{00487\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 1;}
\DoxyCodeLine{00488\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (x\ !=\ -\/1)}
\DoxyCodeLine{00489\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ x\ !=\ 0\ ?\ 1\ /\ x\ :\ 0;}
\DoxyCodeLine{00490\ \ \ \ \ \ \ \ \ \ \ \ \ n\ =\ -\/n;}
\DoxyCodeLine{00491\ \ \ \ \ \ \ \ \ \}\ u\ =\ n;}
\DoxyCodeLine{00492\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (pow\ =\ 1;;)\ \{}
\DoxyCodeLine{00493\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (u\ \&\ 01)}
\DoxyCodeLine{00494\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pow\ *=\ x;}
\DoxyCodeLine{00495\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (u\ >>=\ 1)}
\DoxyCodeLine{00496\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ x\ *=\ x;}
\DoxyCodeLine{00497\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{00498\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{break};}
\DoxyCodeLine{00499\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00500\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ (pow);}
\DoxyCodeLine{00501\ \ \ \ \ \}}
\DoxyCodeLine{00502\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00503\ \}}
\DoxyCodeLine{00504\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00505\ }
\DoxyCodeLine{00506\ \textcolor{preprocessor}{\#ifdef\ KR\_headers}}
\DoxyCodeLine{00507\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{void}\ f\_exit();}
\DoxyCodeLine{00508\ VOID}
\DoxyCodeLine{00509\ s\_stop(s,\ n)}
\DoxyCodeLine{00510\ \textcolor{keywordtype}{char}\ *s;}
\DoxyCodeLine{00511\ ftnlen\ n;}
\DoxyCodeLine{00512\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00513\ \textcolor{preprocessor}{\#undef\ abs}}
\DoxyCodeLine{00514\ \textcolor{preprocessor}{\#undef\ min}}
\DoxyCodeLine{00515\ \textcolor{preprocessor}{\#undef\ max}}
\DoxyCodeLine{00516\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00517\ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{}
\DoxyCodeLine{00518\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00519\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00520\ \ \ \ \ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{}
\DoxyCodeLine{00521\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00522\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ f\_exit(\textcolor{keywordtype}{void});}
\DoxyCodeLine{00523\ }
\DoxyCodeLine{00524\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ s\_stop(\textcolor{keywordtype}{char}\ *s,\ ftnlen\ n)}
\DoxyCodeLine{00525\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00526\ \ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{00527\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ i;}
\DoxyCodeLine{00528\ }
\DoxyCodeLine{00529\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (n\ >\ 0)\ \{}
\DoxyCodeLine{00530\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}STOP\ "{}});}
\DoxyCodeLine{00531\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (i\ =\ 0;\ i\ <\ n;\ ++i)}
\DoxyCodeLine{00532\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ putc(*s++,\ stderr);}
\DoxyCodeLine{00533\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fprintf(stderr,\ \textcolor{stringliteral}{"{}\ statement\ executed\(\backslash\)n"{}});}
\DoxyCodeLine{00534\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00535\ \textcolor{preprocessor}{\#ifdef\ NO\_ONEXIT}}
\DoxyCodeLine{00536\ \ \ \ \ \ \ \ \ \ \ \ \ f\_exit();}
\DoxyCodeLine{00537\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00538\ \ \ \ \ \ \ \ \ \ \ \ \ \ exit(0);}
\DoxyCodeLine{00539\ }
\DoxyCodeLine{00540\ \textcolor{comment}{/*\ We\ cannot\ avoid\ (useless)\ compiler\ diagnostics\ here:\ \ \ \ \ \ \ \ \ */}}
\DoxyCodeLine{00541\ \textcolor{comment}{/*\ some\ compilers\ complain\ if\ there\ is\ no\ return\ statement,\ \ \ \ \ */}}
\DoxyCodeLine{00542\ \textcolor{comment}{/*\ and\ others\ complain\ that\ this\ one\ cannot\ be\ reached.\ \ \ \ \ \ \ \ \ */}}
\DoxyCodeLine{00543\ }
\DoxyCodeLine{00544\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0;\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{/*\ NOT\ REACHED\ */}}
\DoxyCodeLine{00545\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{00546\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00547\ \ \ \ \ \}}
\DoxyCodeLine{00548\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00549\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00550\ \}}
\DoxyCodeLine{00551\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
