Until full reference manual is ported to wiki, use this to document TOOL updates.
abs : absolute value
a[x] = abs (b[x])
add {+} : addition
a[x,y] = b[x,y] + c[x,y] {add (b[x,y], c[x,y])}
a[x,y] = b[x,y] + c[x] {add (b[x,y], c[x])}
agetime : transform age to birth time
a[..,birthDate,t] = agetime (b[..,age,t]; {dimName=birthDate})
animalstk : evolve animal population
stock[..,t,s,a], culled[..,t,s,a], slaughtered[..,t,s,a] =
animalstk (base[..,s,a], cullRate[..,t,s,a],
fertility[..,t,a], genderShr[..,t], slaughterRate[..,t,s,a];
{demand=stockDemand[..,t], importDistr[..,t,s,a],
exportDistr[..,t,s,a], netExport[..,t,s,a]})
assign {=} : assign data from one object to another
a[x,y] = b[x,y] {assign (b[x,y])}
a[u,v] = assign (b[x,y]; checkDims=off)
avg : average of
a[x] = avg (b[x,y]; dim=y)
create() syntax:
A[X1,..,Xn] = create (; {object=array}, dim=dimString(X1), ...,dimString=Name(Xn), {dimFromi=D[..]},{SIuom=uomStr,{metre=ni, m=ni}, {kilogram=ni, kg=ni},{second=ni, sec=ni, s=ni},{degreeC=ni, degC=ni}, {coloumb=ni, q=ni},{radian=ni, rad=ni},{steradian=ni, sterad=ni}}, {altUom=altUomStr}, {entity=entStr}, {SIuomFrom=S[..]}, {altUomFrom=T[..]}, {entityFrom=E[..]}, {dataType={real, integer}},{desc=descrStr}, {format={agg,coord,record,mdi}, useIndex={on,off}, {translate1=string1, .., translaten=stringn,..,value1=number1,..,valuen=numbern, { mask1=maskName1[X1,..,Xn]},..{maskn=maskNamen[X1,..,Xn],..}} ...,format dependent parameters...)
parameter precision={single,double} for real objects
getobjinfo (B[X1,..,Xn], $infoVar; info={extent, dim=Xj}, {extents},{dataElement, {..dimi=elementName..}}, {sequence, dim=Xj},{sequenceName, dim=Xj}, {sequenceStart, dim=Xj},{sequenceEnd, dim=Xj} {sequenceStep, dim=Xj},{sequenceInterval, dim=Xj}) - the default parameter is not documented.
multiply()
enhanced multiply
some examples:
a[p,t] = b[p,t] * c[t,p] a[p,t] = b[p] * c[t] a[m->z,g,t,a] = b[m,g] * c[m->z,t,a] etc
norm : normalize
a[x,y,t] = norm (a[x,y,t]; dim=x)
a[x,y,t] = norm (a[x,y,t]; dim1=x,dim2=y)
a[x,y,t] = norm (a[x,y,t]; dim=all)
sum
multi-dim sum
a[p,t] = sum (b[p,g,t,a]; dim1=gender, dim2=age) a[p,x,t,n] = sum (b[p,x->y,g,t,a]; dim1=gender, dim2=age, dim3=x->y@y, dim4=n->m@m) a[] = sum (b[p,g,t,a]; dim=all)