:checkmol
Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid

:curvecomp
Xiao Gang
Compare two curves
Input parameters: environment.
 w_curvecomp_1 and w_curvecomp_2: curves to compare, as lists of points.
 w_curvecomp_xrange and w_curvecomp_yrange: list of 2 integers each.
 w_curvecomp_tolerance: Maximal tolerance of distances.
Output: 10 double numbers separated by white spaces.
- Average distance of curve 1 with respect to curve 2.
 - Average distance of curve 2 with respect to curve 1.
 - Maximal distance of curve 1 with respect to curve 2.
 - Maximal distance of curve 2 with respect to curve 1.
 - Proportion of curve 1 close to curve 2.
 - Proportion of curve 2 close to curve 1.
 - Maximal jump of curve 1.
 - Maximal jump of curve 2.
 - Ratio of repetitions found in curve 1.
 Number 10: Ratio of repetitions found in curve 2.
 Furthermore, words "fnofx" and/or "fnofy" will appear if curve 2 represents the graph of a function of x (and/or y).
 Returns empty if one of the curves is degenerated.
curvecomp_1=0,92,1,92,2,92,3,92\\curvecomp_2=46,41,48,41,50,45\\curvecomp_tolerance=40\\curvecomp_xrange=11,208\\curvecomp_yrange=0,220
xx

:cyclicode
Xiao Gang
This program generates cyclic code from a polynomial defined over a prime field. It does not check whether the polynomial is primitive or irreducible.
Accepted parameter: 3 words
 Word 1: field characteristics, limited to 2,3,5,7
 Word 2: The polynomial coefficients (except the leading one, from lower degree to higher).
Word 3: The starting status (starting from the first bit).

3 22 10

:dicfind
Xiao Gang
for adm modules

:dicsort
Xiao Gang
Sort dictionary
for adm modules

:huffman
Xiao Gang
This program computes an optimal coding of variable lengths on a given distribution of probabilities, using Huffman algorithm.
Two environment variables
 wims_exec_parm is a comma-separated list of probability distributions
 Limited to MAX_ITEMS
The input data will be scaled to unit sum
 w_huffman_radix is the encoding radix, between 2 and MAX_RADIX.
two lines
 Line 1: Entropy and Average code length, comma-separated
 Line 2: comma-separated list of codes.
huffman_radix=4
0.16, 0.39, 0.55

:lceb
Lucas Nussbaum, lucas@lucas-nussbaum.net
jeu "le compte est bon"
7 integers
How to obtain the first number from the six other ones by addition, multiplication, division, substraction

598 6 8 2 5 10 12
:matchmol
Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid

:mathexp
Xiao Gang
Mathematical expression manipulations for WIMS
For the moment, use only in deductio

:moneyprint
J.M. Evers
prints a number with fixed amount of decimal places
Usage:!exec moneyprint number1,number2,number3,....number_n decimal_places
or !exec moneyprint number1,number2,number3;....number_n decimal_places
\text{A=wims(exec moneyprint number1,number2,number3....number_n decimal_places)}
default value "decimal_places = 2"
A=!exec moneyprint 123,43.5,23.45665
A=123.00,43.50,23.47
A=!exec moneyprint 1.000,6.234;8.4567
A=1.00,6.23;8.46
or specified a last "word"
A=!exec moneyprint 123,43.5,23.45665 3 
A=123.000,43.500,23.457

:msg2wims
Xiao Gang
transforms a text in a file and save it in another file (administrative module). Transforms some commands of the form \ in wims equivalence. By default, the commands are \(\) (replace by !insmath) and translation in html of $$, !, (to complete). More commands can be translated by the configuration of the variable msg2wims_primitives. Usage:!sh cd $$wims_home; bin/msg2wims file_in > file_out
name of a file
modified text of the input file

:oncechar
Xiao Gang
This special program selects words composed by selected characters, each selected character being used at most once in the word. Used in the shell script public_html/bin/dicfind
Selected characters are entered by the env var 'oncechar'. Words entered by stdin. Output to stdout.

:scienceprint
J.M. Evers
Prints a number in scientific notation.
Usage: !exec scienceprint number,significant_digits,output_type
\text{A=wims(exec scienceprint number,significant_digits,output_type )}
output_type can be

- 0 : calculating format : 1.234*10^-4
- 1 : html format :1.234×10-4
- 2 : latex format : 1.234\times10^{-4}
- 3 : prefix format : 1.234×10-1 m
- 4 : mathml format : 
- 5 : long prefix format : 1.234×10-1 milli

:shortpath
Xiao Gang
Finds the shortest paths linking given points
wims_exec_parm is ... . w_shortpath_style : 0: loop to the start
 1: arbitrary open path
 2: open path with fixed start
 3: open path with fixed end
 4: open path with fixed start and end

shortpath_style=0
1,3\\5,1\\3,4\\1,1\\3,1\\4,5

:translator
Xiao Gang
Versatile translation according to a dictionary
for adm modules

:voronoi
Steve J. Fortune
compute Voronoi diagram or Delaunay triangulation. Voronoi reads the standard input for a set of points in the plane and writes either the Voronoi diagram or the Delaunay triangulation to the standard output.
Each input line should consist of two real numbers, separated by white space.
If option -t is present, the Delaunay triangulation is produced. Each output line is a triple i j k which are the indices of the three points in a Delaunay triangle.
 Points are numbered starting at 0. 
If this option is not present, the Voronoi diagram is produced.
 There are four output record types.
 s a b indicates that an input point at coordinates l a b c indicates a line with equation ax + by = c.
 	v a b indicates a vertex at a b.
 e l v1 v2 indicates a Voronoi segment which is a subsegment of line number l; with endpoints numbered v1 and v2.
 If v1 or v2 is -1, the line extends to infinity.

-t 5 7\\2 8\\7 6\\3 5\\1 2\\8 1\\4 3\\6 4

