File:
[LON-CAPA] /
loncom /
html /
adm /
help /
tex /
CAPA_LON-CAPA_function_diffs.tex
Revision
1.8:
download - view:
text,
annotated -
select for diffs
Mon Nov 21 16:19:46 2011 UTC (12 years, 11 months ago) by
raeburn
Branches:
MAIN
CVS tags:
version_2_12_X,
version_2_11_X,
version_2_11_5_msu,
version_2_11_5,
version_2_11_4_uiuc,
version_2_11_4_msu,
version_2_11_4,
version_2_11_3_uiuc,
version_2_11_3_msu,
version_2_11_3,
version_2_11_2_uiuc,
version_2_11_2_msu,
version_2_11_2_educog,
version_2_11_2,
version_2_11_1,
version_2_11_0_RC3,
version_2_11_0_RC2,
version_2_11_0_RC1,
version_2_11_0,
version_2_10_X,
version_2_10_1,
loncapaMITrelate_1,
language_hyphenation_merge,
language_hyphenation,
HEAD,
BZ4492-merge,
BZ4492-feature_horizontal_radioresponse
- Bug 6528. Fix documentation.
subroutine to get user's section is called &sec() in default_homework.lcpm.
\label{CAPA_LON-CAPA_function_diffs}
\begin{longtable}{|p{5cm}|p{6.5cm}|p{5.5cm}|}
\hline
\textbf{CAPA Functions }
&\textbf{LON-CAPA }
&\textbf{Differences (if any) }
\endhead
\hline
sin(x), cos(x), tan(x) & \&sin(\$x), \&cos(\$x), \&tan(\$x) & \\
\hline
asin(x), acos(x), atan(x), atan2(y,x) & \&asin(\$x), \&acos(\$x), \&atan(\$x), \&atan2(\$y,\$x) & \\
\hline
log(x), log10(x) & \&log(\$x), \&log10(\$x) & \\
\hline
exp(x), pow(x,y), sqrt(x) & \&exp(\$x), \&pow(\$x,\$y), \&sqrt(\$x) & \\
\hline
abs(x), sgn(x) & \&abs(\$x), \&sgn(\$x) & \\
\hline
erf(x), erfc(x) & \&erf(\$x), \&erfc(\$x) & \\
\hline
ceil(x), floor(x) & \&ceil(\$x), \&floor(\$x) & \\
\hline
min(...), max(...) & \&min(...), \&max(...) & \\
\hline
factorial(n) & \&factorial(\$n) & \\
\hline
N\%M & \$N\%\$M & \\
\hline
sinh(x), cosh(x), tanh(x) & \&sinh(\$x), \&cosh(\$x), \&tanh(\$x) & \\
\hline
asinh(x), acosh(x), atanh(x) & \&asinh(\$x), \&acosh(\$x), \&atanh(\$x) & \\
\hline
/DIS(\$x,''nn'') & \&format(\$x,'nn') & The difference is obvious. \\
\hline
Not in CAPA & \&prettyprint(\$x,'nn','optional target') & \\
\hline
Not in CAPA & \&dollarformat(\$x,'optional target') & \\
\hline
Not in CAPA & \&languages(@desired\_languages) & \\
\hline
roundto(x,n) & \&roundto(\$x,\$n) & \\
\hline
Not in CAPA & \&cas(\$s,\$e) & \\
\hline
Not in CAPA & \&implicit\_multiplication(\$f) & \\
\hline
web(``a'',''b'',''c'') or web(a,b,c) & \&web(``a'',''b'',''c'') or \&web(\$a,\$b,\$c) & \\
\hline
html(``a'') or html(a) & \&html(``a'') or \&html(\$a) & \\
\hline
jn(m,x) & \&j0(\$x), \&j1(\$x), \&jn(\$m,\$x), \&jv(\$y,\$x) & In CAPA, j0, j1 and jn are contained in one function, jn(m,x) where m takes the value of 0, 1 or 2. jv(y,x) is new to LON-CAPA. \\
\hline
yn(m,x) & \&y0(\$x), \&y1(\$x), \&yn(\$m,\$x), \&yv(\$y,\$x) & In CAPA, y0, y1 and yn are contained in one function, yn(m,x) where m takes the value of 0, 1 or 2. yv(y,x) is new to LON-CAPA. \\
\hline
random(l,u,d) & \&random(\$l,\$u,\$d) & In CAPA, all the 3 arguments must be of the same type. However, now you can mix the type \\
\hline
choose(i,...) & \&choose(\$i,...) & \\
\hline
/MAP(seed;w,x,y,z;a,b,c,d) & \parbox{6.49cm}{
Option 1 - \&map(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) or \\
Option 2 - \&map(\$seed,$\backslash$@mappedArray,[\$a,\$b,\$c,\$d]) \\
Option 3 - @mappedArray = \&map(\$seed,[\$a,\$b,\$c,\$d]) \\
Option 4 - (\$w,\$x,\$y,\$z) = \&map(\$seed,$\backslash$@a) \\
where \$a='A'\\
\$b='B'\\
\$c='B'\\
\$d='B'\\
\$w, \$x, \$y, and \$z are variables } & In CAPA, the arguments are divided into three groups separated by a semicolon ;. In LON-CAPA, the separation is done by using [] brackets or using an array @a. Note the backslash ($\backslash$) before the arguments in the second and third groups. \\
\hline
rmap(seed;a,b,c,d;w,x,y,z) & \parbox{6.49cm}{Option 1 - \&rmap(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) or \\
Option 2 - \&rmap(\$seed,$\backslash$@rmappedArray,[\$a,\$b,\$c,\$d]) \\
Option 3 - @rmapped\_array = \&rmap(\$seed,[\$a,\$b,\$c,\$d]) \\
Option 4 - (\$w,\$x,\$y,\$z) = \&rmap(\$seed,$\backslash$@a) \\
where \$a='A'\\
\$b='B'\\
\$c='B'\\
\$d='B'\\
\$w, \$x, \$y, and \$z are variables } & In CAPA, the arguments are divided into three groups separated by a semicolon ;. In LON-CAPA, the separation is done by using [] brackets (with create an unamed vector reference) or using an array @a. Note the backslash ($\backslash$) before the arguments in the second and third groups (Which cause Perl to send to variable locations rather than the variable values, similar to a C pointer). \\
\hline
NOT IMPLEMENTED IN CAPA & \$a=\&xmlparse(\$string) & New to LON-CAPA \\
\hline
tex(a,b), tex(``a'',''b'') & \&tex(\$a,\$b), \&tex(``a'',''b'') & \\
\hline
var\_in\_tex(a) & \&var\_in\_tex(\$a) & \\
\hline
to\_string(x), to\_string(x,y) & \&to\_string(\$x), \&to\_string(\$x,\$y) & \\
\hline
capa\_id(), class(), section(), set(), problem() & \&class(), \&sec() & capa\_id(), set() and problem() are no longer used. Currently, they return a null value. \\
\hline
name(), student\_number() & \&name(), \&student\_number() & \\
\hline
open\_date(), due\_date(), answer\_date() & \&open\_date(), \&due\_date(), \&answer\_date() & Output format for time is changed slightly. If pass noon, it displays ..pm else it displays ..am. So 23:59 is displayed as 11:59 pm. \\
\hline
get\_seed(), set\_seed() & Not implemented & \\
\hline
sub\_string(a,b,c) & \&sub\_string(\$a,\$b,\$c)
perl substr function. However, note the differences & Perl intrinsic function, substr(string,b,c) starts counting from 0 (as opposed to 1). In the example to the left, substr(\$a,4,4) returns ``ome ``. \\
\hline
array[xx] & @arrayname
Array is intrinsic in perl. To access a specific element use \$arrayname[\$n] where \$n is the \$n+1 element since the array count starts from 0 & In LON-CAPA, an array is defined by @arrayname. It is not necessary to specify the dimension of the array. \\
\hline
array\_moments(B,A) & @B=\&array\_moments(@A) & In CAPA, the moments are passed as an array in the first argument whereas in LON-CAPA, the array containing the moments are set equal to the function. \\
\hline
array\_max(Name), array\_min(Name) & \&min(@Name), \&max(@Name) & Combined with the min and max functions defined earlier. \\
\hline
init\_array(Name) & undef @name & Use perl intrinsic undef function. \\
\hline
random\_normal (return\_array,item\_cnt,seed,av,std\_dev) & @return\_array=\&random\_normal (\$item\_cnt,\$seed,\$av,\$std\_dev) & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
random\_beta (return\_array,item\_cnt,seed,aa,bb) & @return\_array=\&random\_beta (\$item\_cnt,\$seed,\$aa,\$bb)
NOTE: Both \$aa and \$bb MUST be greater than 1.0E-37. & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
random\_gamma (return\_array,item\_cnt,seed,a,r) & @return\_array=\&random\_gamma (\$item\_cnt,\$seed,\$a,\$r)
NOTE: Both \$a and \$r MUST be positive. & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
random\_exponential (return\_array,item\_cnt,seed,av) & @return\_array=\&random\_exponential (\$item\_cnt,\$seed,\$av)
NOTE: \$av MUST be non-negative. & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
random\_poisson (return\_array,item\_cnt,seed,mu) & @return\_array=\&random\_poisson (\$item\_cnt,\$seed,\$mu)
NOTE: \$mu MUST be non-negative. & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
random\_chi (return\_array,item\_cnt,seed,df) & @return\_array=\&random\_chi (\$item\_cnt,\$seed,\$df)
NOTE: \$df MUST be positive. & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
random\_noncentral\_chi (return\_array,item\_cnt,seed,df,nonc) & @return\_array=\&random\_noncentral\_chi (\$item\_cnt,\$seed,\$df,\$nonc)
NOTE: \$df MUST be at least 1 and \$nonc MUST be non-negative. & In CAPA the results are passed as the first argument whereas in LON-CAPA the results are set equal to the function. \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_f (\$item\_cnt,\$seed,\$dfn,\$dfd)
NOTE: Both \$dfn and \$dfd MUST be positive. & New to LON-CAPA \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_noncentral\_f (\$item\_cnt,\$seed,\$dfn,\$dfd,\$nonc)
NOTE: \$dfn must be at least 1, \$dfd MUST be positive, and \$nonc must be non-negative. & New to LON-CAPA \\
\hline
NOT DOCUMENTED IN CAPA & @return\_array=\&random\_multivariate\_normal (\$item\_cnt,\$seed,$\backslash$@mean,$\backslash$@covar)
NOTE: @mean should be of length p array of real numbers. @covar should be a length p array of references to length p arrays of real numbers (i.e. a p by p matrix. & Note the backslash before the @mean and @covar arrays. \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_multinomial (\$item\_cnt,\$seed,@p)
NOTE: \$item\_cnt is rounded with int() and the result must be non-negative. The number of elements in @p must be at least 2. & New to LON-CAPA \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_permutation (\$seed,@array) & New to LON-CAPA \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_uniform (\$item\_cnt,\$seed,\$low,\$high)
NOTE: \$low must be less than or equal to \$high. & New to LON-CAPA \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_uniform\_integer (\$item\_cnt,\$seed,\$low,\$high)
NOTE: \$low and \$high are both passed through int(). \$low must be less than or equal to \$high. & New to LON-CAPA \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_binomial (\$item\_cnt,\$seed,\$nt,\$p)
NOTE: \$nt is rounded using int() and the result must be non-negative. \$p must be between 0 and 1 inclusive. & New to LON-CAPA \\
\hline
NOT IMPLEMENTED IN CAPA & @return\_array=\&random\_negative\_binomial (\$item\_cnt,\$seed,\$ne,\$p)
NOTE: \$ne is rounded using int() and the result must be positive. \$p must be between 0 and 1 exclusive. & New to LON-CAPA \\
\hline
\end{longtable}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>