File:  [LON-CAPA] / loncom / html / adm / help / tex / Script_Functions.tex
Revision 1.17: download - view: text, annotated - select for diffs
Sat Mar 27 20:43:09 2021 UTC (3 years, 3 months ago) by raeburn
Branches: MAIN
CVS tags: version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, HEAD
- Remove unwanted ampersand so PDF version of Authoring Manual can be built.

\label{Script_Functions}


This is a list of functions that have been written that are available in the
Safe space scripting environment inside a problem: 

\begin{itemize}
\item sin(x), cos(x), tan(x) 
\item asin(x), acos(x), atan(x), atan2(y,x) 
\item log(x), log10(x) 
\item exp(), pow(x,y), sqrt(x) 
\item abs(x), sgn(x) 
\item erf(x), erfc(x) 
\item ceil(x), floor(x) 
\item min(...), max(...) 
\item factorial(n) 
\item N\%M (modulo function)
\item sinh(x), cosh(x), tanh(x) 
\item asinh(x), acosh(x), atanh(x) 
\item roundto(x,n)
\item cas(s,e,l) 
\item web({}``a'',''b'',''c'') or web(a,b,c) 
\item html({}``a'') or html(a) 
\item j0(x), j1(x), jn(n,x), jv(y,x) 
\item y0(x), y1(x), yn(n,x), yv(y,x) 
\item random 
\item choose 
\item tex({}``a'',''b'') or tex(a,b) 
\item var\_in\_tex(a) 
\item to\_string(x), to\_string(x,y) 
\item class(), sec(), classid() 
\item name(), firstname(), middlename(), lastname(), student\_number()
\item check\_status(partid)
\item open\_date(partid), due\_date(partid), answer\_date(partid) 
\item open\_date\_epoch(partid), due\_date\_epoch(partid), answer\_date\_epoch(partid)
\item submission(partid,responseid,version)
\item currentpart()
\item sub\_string() 
\item array\_moments(array) 
\item format(x,y),prettyprint(x,y,target),dollarformat(x,target) 
\item languages
\item map(...) 
\item caparesponse\_check 
\item caparesponse\_check\_list
\item parameter\_setting(name,partid)
\item EXT()
\item stored\_data(name,partid)
\item wrong\_bubbles(correct,lower,upper,step,@given)
\end{itemize}


We also support these functions from Math::Cephes 
\begin{verbatim}

 bdtr:  Binomial distribution
 bdtrc:  Complemented binomial distribution
 bdtri:  Inverse binomial distribution
 btdtr:  Beta distribution
 chdtr:  Chi-square distribution
 chdtrc:  Complemented Chi-square distribution
 chdtri:  Inverse of complemented Chi-square distribution
 fdtr:  F distribution
 fdtrc:  Complemented F distribution
 fdtri:  Inverse of complemented F distribution
 gdtr:  Gamma distribution function
 gdtrc:  Complemented gamma distribution function
 nbdtr:  Negative binomial distribution
 nbdtrc:  Complemented negative binomial distribution
 nbdtri:  Functional inverse of negative binomial distribution
 ndtr:  Normal distribution function
 ndtri:  Inverse of Normal distribution function
 pdtr:  Poisson distribution
 pdtrc:  Complemented poisson distribution
 pdtri:  Inverse Poisson distribution
 stdtr:  Student's t distribution
 stdtri:  Functional inverse of Student's t distribution

\end{verbatim}

See https://metacpan.org/pod/Math::Cephes for more information 

Support for complex numbers in the Safe space scripting environment is available via the  
LONCAPA::LCMathComplex package, which is the standard Math::Complex module available from CPAN,
modified to work in Safe space.

These functions from LONCAPA::LCMathComplex are available:

\begin{verbatim}
Re($z)
Im($z)
arg($z)
abs($z)
\end{verbatim}

where \$z is a complex number created using the Cartesian form,
where \$a and \$b are numbers in one of the following ways:

\begin{verbatim}
$z = LONCAPA::LCMathComplex->make($a, $b);
$z = cplx($a, $b);
$z = $a + $b*i;
\end{verbatim}

or created using the polar form, where \$m and \$n are numbers, in which the first 
argument is the modulus, and the second is the angle in radians:

\begin{verbatim}
$z = LONCAPA::LCMathComplex->emake($m, pi/$n);
$z = cplxe($m, pi/$n);
\end{verbatim}

Where there is no overlap with function names used for Math::Cephes functions, 
then you can just use the LCMathComplex functions directly, e.g.. \&cplx(), \&Re(), \&Im(), 
but where there is overlap, as is the case for tanh(), to ensure the function from LCMathComplex is called, 
include the full namespace identifier, e.g., LONCAPA::LCMathComplex::tanh().

See: https://metacpan.org/pod/Math::Complex for more information.


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>