Lines Matching refs:np
40 static uint nargs(NODE *np);
41 static NODE *dosub(NODE *np, int glob);
42 static NODE *docasetr(NODE *np, int upper);
56 f_exp(NODE *np)
60 if ((na = nargs(np)) > 1)
62 return (realnode(exp(exprreal(na==0 ? field0 : getlist(&np)))));
71 f_int(NODE *np)
75 if ((na = nargs(np)) > 1)
77 return (intnode(exprint(na==0 ? field0 : getlist(&np))));
86 f_log(NODE *np)
90 if ((na = nargs(np)) > 1)
92 return (realnode(log(exprreal(na==0 ? field0 : getlist(&np)))));
101 f_sqrt(NODE *np)
105 if ((na = nargs(np)) > 1)
107 return (realnode(sqrt(exprreal(na==0 ? field0 : getlist(&np)))));
115 f_sin(NODE *np)
117 if (nargs(np) != 1)
119 return (realnode(sin(exprreal(getlist(&np)))));
127 f_cos(NODE *np)
129 if (nargs(np) != 1)
131 return (realnode(cos(exprreal(getlist(&np)))));
139 f_atan2(NODE *np)
143 if (nargs(np) != 2)
145 y = (double)exprreal(getlist(&np));
146 x = (double)exprreal(getlist(&np));
156 f_srand(NODE *np)
162 if ((na = nargs(np)) > 1)
166 seed = (uint)exprint(getlist(&np));
178 f_rand(NODE *np)
184 if (nargs(np) != 0)
197 f_sub(NODE *np)
199 return (dosub(np, 1));
208 f_gsub(NODE *np)
210 return (dosub(np, 0));
218 dosub(NODE *np, int glob)
228 if ((na = nargs(np)) != 2 && na != 3)
230 rp = getregexp(getlist(&np));
231 sub = exprstring(getlist(&np));
233 left = getlist(&np);
262 f_match(NODE *np)
269 if (nargs(np) != 2)
271 text = exprstring(getlist(&np));
272 rp = getregexp(getlist(&np));
290 f_system(NODE *np)
294 if (nargs(np) != 1)
297 retcode = system(mbunconvert(exprstring(getlist(&np))));
306 f_index(NODE *np)
312 if (nargs(np) != 2)
314 s1 = (wchar_t *)exprstring(getlist(&np));
315 s2 = (wchar_t *)exprstring(getlist(&np));
338 f_length(NODE *np)
342 if ((na = nargs(np)) > 1)
346 na = wcslen((wchar_t *)exprstring(getlist(&np)));
355 f_split(NODE *np)
368 if ((n = nargs(np))<2 || n>3)
370 ep = exprstring(snp = getlist(&np));
371 tnp = getlist(&np);
375 sep = getlist(&np);
461 f_sprintf(NODE *np)
466 if (nargs(np) == 0)
468 length = xprintf(np, (FILE *)NULL, &cp);
469 np = stringnode(cp, FNOALLOC, length);
470 return (np);
478 f_substr(NODE *np)
485 if ((n = nargs(np))<2 || n>3)
487 str = exprstring(getlist(&np));
488 if ((start = (int)exprint(getlist(&np))-1) < 0)
492 x = (int)exprint(getlist(&np));
508 np = stringnode(str, FALLOC, len);
510 return (np);
517 f_close(NODE *np)
522 if (nargs(np) != 1)
524 name = mbunconvert(exprstring(getlist(&np)));
540 f_ord(NODE *np)
542 if (nargs(np) != 1)
544 return (intnode((INT)*exprstring(getlist(&np))));
553 f_tolower(NODE *np)
555 return (docasetr(np, 0));
564 f_toupper(NODE *np)
566 return (docasetr(np, 1));
580 f_asort(NODE *np)
589 if (nargs(np) != 2)
591 array = getlist(&np);
597 funcname = exprstring(getlist(&np));
656 nargs(NODE *np)
660 if (np == NNULL)
663 while (np!=NNULL && np->n_type==COMMA) {
664 np = np->n_right;
674 docasetr(NODE *np, int upper)
681 if ((na = nargs(np)) > 1)
683 str = strsave(na==0 ? linebuf : exprstring(getlist(&np)));