Heiner's SHELLdorado
AWK Compatibility List
SHELLdorado - your UNIX shell scripting resource
HomeGood Shell Coding PracticesExample Shell ScriptsShell Scripting LinksShell Scripting Tips+TricksShell Scripting Articles

Articles Home
  AIX 3.2
AIX 4.2
AIX 4.3
AIX 4.3.3
AIX 5.3
Cygnus B19
DGUX 4.20
DJGPP 2.01
Digital OSF1 V4.0
EP/IX 2.2.1AA
Fedora Core 2
Fedora Core 3
Fedora Core 6
FreeBSD 2.2.7
FreeBSD 3.0
FreeBSD 4.3
FreeBSD 5.3
FreeBSD 6.2
HP-UX 09.05
HP-UX 10.20
HP-UX 11.0
HP-UX 11.11
IBM OS/390
IRIX 5.3 mips
IRIX 6.5
Interix 3.0
Linux 2.0.29
Linux 2.0.35
Linux 2.2.3
Linux 2.4.10
Linux 2.4.3
Linux 2.6.10
Linux 2.6.22[New]
MKS 4.1d
MKS 8.5
MacOS X 10.2.1 PPC
MacOS X 10.3.3
MaxOS X 10.0.4
MaxOS X 10.4.9 i386
NeXTstep 4.2
NetBSD 1.6
OpenBSD 3.2
OpenBSD 3.7
OpenBSD 4.0[Update]
OpenBSD 4.1[New]
RedHat 7.3
SCO UNIX 5.0.5
SCO UNIX 5.0.7
SCO UNIX 6.0.0
Solaris 10
Solaris 10 (i86pc)
Solaris 2.5
Solaris 2.6
Solaris 2.7
Solaris 2.8
Solaris 2.8
Solaris 9
SunOS 4.1.4
SunOS 4.1.4c
Tru64 5.0
Tru64 5.1
UWin 1.40
Unicos 9
UnixWare 2.1.3
UnixWare 7.1.3

These tables list features of different AWK versions on different operating systems.
If you want to help to complete this list, download the script testawk.sh run it on your system (sh testawk.sh), and mail the results to heiner.steven@shelldorado.com.
The table caption lists a short name for the operating system, e.g. "Solaris 2.8", followed by the shortened output of "uname -a", e.g. "SunOS 5.8 sun4u sparc SUNW,Ultra-5_10".
Legend
+ Feature is implemented
- Feature is not implemented
! Feature seems to be implemented, but did not produce the expected results

  Top

AIX 3.2
thanks to Raffaele Guide Della Valle <valle@aronte.fci.unibo.it>
  /bin/awk
-v option +
ARGIND -
ENVIRON +
ERRNO -
IGNORECASE -
\x escapes -
array "in" +
array delete -
array delete elem +
assignment to $0 +
assoc array +
atan2() +
conditional exp +
cos() +
exp() +
functions +
gensub() -
getline +
gsub() +
index() +
int() +
length() +
log() +
match() +
operator ** +
operator ^ +
printf() +
rand() +
sin() +
split() +
sprintf() +
sqrt() +
srand() +
strftime() -
sub() +
substr() +
system() +
systime() -
tolower() +
toupper() +
var regexp +
var=val pairs +

  Top

AIX 4.2
  /usr/bin/awk /usr/bin/nawk
-v option + +
assoc array + +
atan2() + +
cos() + +
exp() + +
gensub() - -
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var=val pairs + +

  Top

AIX 4.3
thanks to Damien Mulligan <damo@csn.ul.ie>, Harald Knierim <h.knierim@web.de>
/usr/bin/awk /usr/bin/nawk
-v option + +
ARGIND - -
ENVIRON + +
ERRNO - -
IGNORECASE - -
\x escapes - -
array "in" + +
array delete - -
array delete elem + +
assignment to $0 + +
assoc array + +
atan2() + +
conditional exp + +
cos() + +
exp() + +
functions + +
gensub() - -
getline + +
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + +
operator ^ + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var regexp + +
var=val pairs + +

  Top

AIX 4.3.3
thanks to ikpark@darumtech.co.kr
  /usr/bin/awk /usr/bin/nawk
-v option + +
ARGIND - -
ENVIRON + +
ERRNO - -
IGNORECASE - -
\x escapes - -
array "in" + +
array delete - -
array delete elem + +
assignment to $0 + +
assoc array + +
atan2() + +
conditional exp + +
cos() + +
exit() + +
exp() + +
functions + +
gensub() - -
getline + +
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + +
operator ^ + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var regexp + +
var=val pairs + +

  Top

AIX 5.3
thanks to Wolfgang Anger <Wolfgang.Anger@t-systems.com>$
/bin/awk /bin/gawk /bin/igawk /bin/nawk /bin/pgawk /usr/bin/awk /usr/bin/gawk /usr/bin/igawk /usr/bin/nawk /usr/bin/pgawk
-v option + + + + + + + + + +
ARGIND - + + - + - + + - +
ENVIRON + + + + + + + + + +
ERRNO - - - - - - - - - -
IGNORECASE - + + - + - + + - +
\x escapes - + + - + - + + - +
array "in" + + + + + + + + + +
array delete - + + - + - + + - +
array delete elem + + + + + + + + + +
assignment to $0 + + + + + + + + + +
assoc array + + + + + + + + + +
atan2() + + + + + + + + + +
conditional exp + + + + + + + + + +
cos() + + + + + + + + + +
exit() + + + + + + + + + +
exp() + + + + + + + + + +
functions + + + + + + + + + +
gensub() - + + - + - + + - +
getline + + + + + + + + + +
gsub() + + + + + + + + + +
index() + + + + + + + + + +
int() + + + + + + + + + +
length() + + + + + + + + + +
log() + + + + + + + + + +
match() + + + + + + + + + +
operator ** + + + + + + + + + +
operator ^ + + + + + + + + + +
printf() + + + + + + + + + +
rand() + + + + + + + + + +
sin() + + + + + + + + + +
split() + + + + + + + + + +
sprintf() + + + + + + + + + +
sqrt() + + + + + + + + + +
srand() + + + + + + + + + +
strftime() - + + - + - + + - +
sub() + + + + + + + + + +
substr() + + + + + + + + + +
system() + + + + + + + + + +
systime() - + + - + - + + - +
tolower() + + + + + + + + + +
toupper() + + + + + + + + + +
var regexp + + + + + + + + + +
var=val pairs + + + + + + + + + +

  Top

Cygnus B19 (Windows 95 / Cygnus cygwin32 B19)
thanks to 6xtippet@CyberJunkie.com
  gawk 3.0.3
-v option +
var=val pairs +
assoc array +
atan2() +
cos() +
exp() +
int() +
index() +
length() +
log() +
gensub() +
gsub() +
match() +
printf() +
rand() +
sin() +
split() +
sprintf() +
sqrt() +
srand() +
sub() +
substr() +
system() +
systime() +
strftime() !
toupper() +
tolower() +

  Top

DGUX 4.20 (dgux R4.20MU05 AViiON PentiumPro)
thanks to Ted G. Reed II <ted.reed@mail.sprint.com>
  /usr/bin/awk /usr/bin/nawk
-v option + +
ARGIND - -
ENVIRON + +
ERRNO - -
IGNORECASE - -
\x escapes + +
array "in" + +
array delete - -
array delete elem + +
assignment to $0 + +
assoc array + +
atan2() + +
conditional exp + +
cos() + +
exp() + +
functions + +
gensub() - -
getline + +
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + +
operator ^ + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var regexp + +
var=val pairs + +

  Top

DJGPP 2.01 (Windows 95 / DJGPP 2.01; BASH 1.14.7(2) r3.1)
thanks to Peter J. Farley III <pjfarley@dorsai.org>
  //D/UT/awk.exe //D/UT/gawk.exe //D/UT/mawk.exe /BIN/awk.exe /BIN/gawk.exe /BIN/igawk
-v option + + - + + +
assoc array + + + + + +
atan2() + + + + + +
cos() + + + + + +
exp() + + + + + +
gensub() + + - + + +
gsub() + + + + + +
index() + + + + + +
int() + + + + + +
length() + + + + + +
log() + + + + + +
match() + + + + + +
printf() + + + + + +
rand() + + + + + +
sin() + + + + + +
split() + + + + + +
sprintf() + + + + + +
sqrt() + + + + + +
srand() + + + + + +
strftime() + + - + + +
sub() + + + + + +
substr() + + + + + +
system() + + - + + +
systime() + + - + + +
tolower() + + - + + +
toupper() + + - + + +
var=val pairs + + + + + +

  Top

Digital OSF1 V4.0 (Digital OSF1 V4.0 alpha)
thanks to Finn Arve K. Strand <faks@rocketmail.com>
  /usr/bin/awk /usr/bin/gawk /usr/bin/nawk /usr/bin/oawk
-v option + + + -
assoc array + + + +
atan2() + + + -
cos() + + + !
exp() + + + +
gensub() - - - -
gsub() + + + -
index() + + + +
int() + + + +
length() + + + +
log() + + + +
match() + + + -
operator ** + + + -
printf() + + + +
rand() + + + -
sin() + + + +
split() + + + +
sprintf() + + + +
sqrt() + + + +
srand() + + + -
strftime() - + - -
sub() + + + -
substr() + + + +
system() + + + +
systime() - + - -
tolower() + + + !
toupper() + + + !
var=val pairs + + + +

  Top

EP/IX 2.2.1AA (2.2.1AA RISCos mips)
thanks to Rodolfo Martín <amnesiac@telefonica.net>
/bin/awk /usr/bin/awk
-v option + +
ARGIND - -
ENVIRON + +
ERRNO - -
IGNORECASE - -
\x escapes + +
array "in" + +
array delete - -
array delete elem + +
assignment to $0 + +
assoc array + +
atan2() + +
conditional exp + +
cos() + +
exit() + +
exp() + +
functions + +
gensub() - -
getline + +
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + +
operator ^ + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var regexp + +
var=val pairs + +

  Top

Fedora Core 2 (Linux kernel 2.6.9)
thanks to Mike Weiner <MWeiner@ag.com>
  /bin/awk /bin/gawk /bin/igawk /bin/pgawk /usr/bin/awk /usr/bin/gawk
ARGIND + + + + + +
array delete + + + + + +
array delete elem + + + + + +
array "in" + + + + + +
assignment to $0 + + + + + +
assoc array + + + + + +
atan2() + + + + + +
conditional exp + + + + + +
cos() + + + + + +
ENVIRON + + + + + +
ERRNO - - - - - -
exit() + + + + + +
exp() + + + + + +
functions + + + + + +
gensub() + + + + + +
getline + + + + + +
gsub() + + + + + +
IGNORECASE + + + + + +
index() + + + + + +
int() + + + + + +
length() + + + + + +
log() + + + + + +
match() + + + + + +
operator ^ + + + + + +
operator ** + + + + + +
printf() + + + + + +
rand() + + + + + +
sin() + + + + + +
split() + + + + + +
sprintf() + + + + + +
sqrt() + + + + + +
srand() + + + + + +
strftime() + + + + + +
sub() + + + + + +
substr() + + + + + +
system() + + + + + +
systime() + + + + + +
tolower() + + + + + +
toupper() + + + + + +
var regexp + + + + + +
var=val pairs + + + + + +
-v option + + + + + +
\x escapes + + + + + +

  Top

Fedora Core 3 (Linux kernel 2.6.10)
thanks to <rno@big-up.org>
  /bin/awk /bin/gawk /bin/igawk /bin/pgawk /usr/bin/awk /usr/bin/gawk
ARGIND + + + + + +
array delete + + + + + +
array delete elem + + + + + +
array "in" + + + + + +
assignment to $0 + + + + + +
assoc array + + + + + +
atan2() + + + + + +
conditional exp + + + + + +
cos() + + + + + +
ENVIRON + + + + + +
ERRNO - - - - - -
exit() + + + + + +
exp() + + + + + +
functions + + + + + +
gensub() + + + + + +
getline + + + + + +
gsub() + + + + + +
IGNORECASE + + + + + +
index() + + + + + +
int() + + + + + +
length() + + + + + +
log() + + + + + +
match() + + + + + +
operator ^ + + + + + +
operator ** + + + + + +
printf() + + + + + +
rand() + + + + + +
sin() + + + + + +
split() + + + + + +
sprintf() + + + + + +
sqrt() + + + + + +
srand() + + + + + +
strftime() + + + + + +
sub() + + + + + +
substr() + + + + + +
system() + + + + + +
systime() + + + + + +
tolower() + + + + + +
toupper() + + + + + +
var regexp + + + + + +
var=val pairs + + + + + +
-v option + + + + + +
\x escapes + + + + + +

  Top

Fedora Core 6 (Linux Kernel 2.6.18)
thanks to tuomo <tuomo@descolada.com>
/bin/awk /bin/gawk /bin/igawk /bin/pgawk /usr/bin/awk /usr/bin/gawk
-v option + + + + + +
ARGIND + + + + + +
ENVIRON + + + + + +
ERRNO - - - - - -
IGNORECASE + + + + + +
\x escapes + + + + + +
array "in" + + + + + +
array delete + + + + + +
array delete elem + + + + + +
assignment to $0 + + + + + +
assoc array + + + + + +
atan2() + + + + + +
conditional exp + + + + + +
cos() + + + + + +
exit() + + + + + +
exp() + + + + + +
functions + + + + + +
gensub() + + + + + +
getline + + + + + +
gsub() + + + + + +
index() + + + + + +
int() + + + + + +
length() + + + + + +
log() + + + + + +
match() + + + + + +
operator ** + + + + + +
operator ^ + + + + + +
printf() + + + + + +
rand() + + + + + +
sin() + + + + + +
split() + + + + + +
sprintf() + + + + + +
sqrt() + + + + + +
srand() + + + + + +
strftime() + + + + + +
sub() + + + + + +
substr() + + + + + +
system() + + + + + +
systime() + + + + + +
tolower() + + + + + +
toupper() + + + + + +
var regexp + + + + + +
var=val pairs + + + + + +

  Top

FreeBSD 2.2.7
thanks to Pedro F. Giffuni <pfgiffun@bachue.usc.unal.edu.co>
  /usr/bin/awk /usr/bin/gawk /usr/local/bin/nawk
-v option + + +
assoc array + + +
atan2() + + +
cos() + + +
exp() + + +
gensub() - - -
gsub() + + +
index() + + +
int() + + +
length() + + +
log() + + +
match() + + +
operator ** + + +
printf() + + +
rand() + + +
sin() + + +
split() + + +
sprintf() + + +
sqrt() + + +
srand() + + +
strftime() - ! -
sub() + + +
substr() + + +
system() + + +
systime() - + -
tolower() + + +
toupper() + + +
var=val pairs + + +

  Top

FreeBSD 3.0 (FreeBSD 3.0-STABLE i386)
thanks to Andreas Klemm <andreas@klemm.gtn.com>
  /usr/bin/awk /usr/local/bin/gawk
-v option + +
assoc array + +
atan2() +    
cos() + +
exp() + +
gensub() + +
gsub() + +
index() +    
int() + +
length() + +
log() + +
match() +    
operator ** + +
printf() + +
rand() + +
sin() + +
split() +    
sprintf() + +
sqrt() + +
srand() +    
strftime() + +
sub() + +
substr() + +
system() + +
systime() + +
tolower() + +
toupper() + +
var=val pairs + +

  Top

FreeBSD 4.3 (FreeBSD 4.3 i386)
thanks to Cyrille Lefevre <clefevre@redirect.to>
  awk nawk mawk
-v option + + +
ARGIND + - -
ENVIRON + + +
ERRNO - - -
IGNORECASE + - -
\x escapes + + +
array "in" + + +
array delete + + +
array delete elem + + +
assignment to $0 + + +
assoc array + + +
atan2() + + +
conditional exp + + +
cos() + + +
exp() + + +
functions + + +
gensub() + - -
getline + + +
gsub() + + +
index() + + +
int() + + +
length() + + +
log() + + +
match() + + +
operator ** + + -
operator ^ + + +
printf() + + +
rand() + + +
sin() + + +
split() + + +
sprintf() + + +
sqrt() + + +
srand() + + +
strftime() + - -
sub() + + +
substr() + + +
system() + + +
systime() + - -
tolower() + + +
toupper() + + +
var regexp + + +
var=val pairs + + +

  Top

FreeBSD 5.3 (FreeBSD 5.3-RELEASE-p2 i386)
thanks to Mike Gruen <mike@thegruens.org>
/usr/bin/awk /usr/bin/nawk
-v option + +
ARGIND - -
ENVIRON + +
ERRNO - -
IGNORECASE - -
\x escapes + +
array "in" + +
array delete + +
array delete elem + +
assignment to $0 + +
assoc array + +
atan2() + +
conditional exp + +
cos() + +
exit() + +
exp() + +
functions + +
gensub() - -
getline + +
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + +
operator ^ + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var regexp + +
var=val pairs + +

  Top

FreeBSD 6.2 (FreeBSD 6.2-PRERELEASE i386)
thanks to Karl-Heinz Wild <wkh@wicom.li>
/usr/bin/awk /usr/bin/nawk /usr/local/bin/gawk /usr/local/bin/igawk /usr/local/bin/pgawk
-v option + + + + +
ARGIND - - + + +
ENVIRON + + + + +
ERRNO - - - - -
IGNORECASE - - + + +
\x escapes + + + + +
array "in" + + + + +
array delete + + + + +
array delete elem + + + + +
assignment to $0 + + + + +
assoc array + + + + +
atan2() + + + + +
conditional exp + + + + +
cos() + + + + +
exit() + + + + +
exp() + + + + +
functions + + + + +
gensub() - - + + +
getline + + + + +
gsub() + + + + +
index() + + + + +
int() + + + + +
length() + + + + +
log() + + + + +
match() + + + + +
operator ** + + + + +
operator ^ + + + + +
printf() + + + + +
rand() + + + + +
sin() + + + + +
split() + + + + +
sprintf() + + + + +
sqrt() + + + + +
srand() + + + + +
strftime() - - + + +
sub() + + + + +
substr() + + + + +
system() + + + + +
systime() - - + + +
tolower() + + + + +
toupper() + + + + +
var regexp + + + + +
var=val pairs + + + + +

  Top

HP-UX 09.05 (HP-UX 09.05 A 9000/735)
thanks to David J Hutchins <djhutchx@co.intel.com>
  /app/itools/bin/gawk /app/itools/bin/igawk /usr/bin/awk /usr/intel/bin/gawk /usr/intel/bin/igawk /usr/local/bin/gawk
-v option + + + + + +
assoc array + + + + + +
atan2() + + + + + +
cos() + + + + + +
exp() + + + + + +
gensub() + - - + - -
gsub() + + + + + +
index() + + + + + +
int() + + + + + +
length() + + + + + +
log() + + + + + +
match() + + + + + +
printf() + + + + + +
rand() + + + + + +
sin() + + + + + +
split() + + + + + +
sprintf() + + + + + +
sqrt() + + + + + +
srand() + + + + + +
strftime() ! ! - ! ! !
sub() + + + + + +
substr() + + + + + +
system() + + + + + +
systime() + + - + + +
tolower() + + + + + +
toupper() + + + + + +
var=val pairs + + + + + +

  Top

HP-UX 10.20 (HP-UX 10.20 A 9000/839)
thanks to Diethard Ohrt <Diethard.Ohrt@siemens.at>; Guy Mengel <mengelg@gaskins.whiteoaksemi.com>
/usr/bin/awk /usr/local/bin/mawk
-v option + +
assoc array + +
atan2() + +
cos() + +
exp() + +
gensub() - -
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + -
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var=val pairs + +

  Top

HP-UX 11.0 (HP-UX 9000/800)
thanks to Damien Mulligan <damo@csn.ul.ie>
  /usr/bin/awk
-v option +
var=val pairs +
assoc array +
atan2() +
cos() +
exp() +
int() +
index() +
length() +
log() +
gensub() -
gsub() +
match() +
printf() +
rand() +
sin() +
split() +
sprintf() +
sqrt() +
srand() +
sub() +
substr() +
system() +
systime() -
strftime() -
toupper() +
tolower() +
operator ** +

  Top

HP-UX 11.11 (HP-UX 11.11 9000/800)
thanks to "Ian P. Springer" <ips@fpk.hp.com>
  /sbin/awk /usr/bin/awk
-v option + +
ARGIND - -
ENVIRON + +
ERRNO - -
IGNORECASE - -
\x escapes + +
array "in" + +
array delete - -
array delete elem + +
assignment to $0 + +
assoc array + +
atan2() + +
conditional exp + +
cos() + +
exp() + +
functions + +
gensub() - -
getline + +
gsub() + +
index() + +
int() + +
length() + +
log() + +
match() + +
operator ** + +
operator ^ + +
printf() + +
rand() + +
sin() + +
split() + +
sprintf() + +
sqrt() + +
srand() + +
strftime() - -
sub() + +
substr() + +
system() + +
systime() - -
tolower() + +
toupper() + +
var regexp + +
var=val pairs + +

  Top

IBM OS/390 (IBM OS/390 B083 06.00 02 9021)
thanks to "Sardonimous" <Sardonimous@wa.freei.net>
  /bin/awk
-v option +
assoc array +
atan2() +
cos() +
exp() +
gensub() -
gsub() +
index() +
int() +
length() +
log() +
match() +
operator ** +
printf() +
rand() +
sin() +
split() +
sprintf() +
sqrt() +
srand() +
strftime() -
sub() +
substr() +
system() +
systime() -
tolower() +
toupper() +
var=val pairs +

  Top

IRIX 5.3 mips
thanks to Jürgen Kahrs <jkahrs@castor.atlas.de>
  /bin/awk /bin/gawk /bin/mawk /bin/nawk /bin/oawk
-v option - + + + -
assoc array + + + + +
atan2() - + + + -
cos() ! + + + !
exp() + + + + +
gensub() - + - - -
gsub() - + + + -
index() + + + + +
int() + + + + +
length() + + + + +
log() + + + + +
match() - + + + -
operator ** - + - + -
printf() + + + + +
rand() - + + + -
sin() + + + + +
split() + + + + +
sprintf() + + + + +
sqrt() + + + + +
srand() - + + + -
strftime() - + - - -
sub() - + + + -
substr() + + + + +
system() + + + + +
systime() - + - - -
tolower() ! + + + !
toupper() ! + + + !
var=val pairs + + + + +

  Top

IRIX 6.5
thanks to Jürgen Kahrs <jkahrs@castor.atlas.de>
  /usr/bin/awk /usr/bin/nawk /usr/bin/oawk /usr/bin/pawk /usr/local/bin/gawk /usr/local/bin/igawk
-v option + + - + + +
assoc array + + + + + +
atan2() + + - + + +
cos() + + ! + + +
exp() + + + + + +
gensub() - - - - + +
gsub() + + - + + +
index() + + + + + +
int() + + + + + +
length() + + + + + +
log() + + + + + +
match() + + - + + +
operator ** + + - + + +
printf() + + + + + +
rand() + + - + + +
sin() + + + + + +