source: git/Singular/LIB/template.lib @ 4173c7

spielwiese
Last change on this file since 4173c7 was 27d4bb, checked in by Hans Schoenemann <hannes@…>, 14 years ago
format git-svn-id: file:///usr/local/Singular/svn/trunk@13536 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.2 KB
Line 
1////////////////////////////////////////////////////////////////////
2version="$Id$";
3category="Miscellaneous";
4// summary description of the library
5info="
6LIBRARY:   template.lib  A Template for a Singular Library
7AUTHOR:    Olaf Bachmann, email: obachman@mathematik.uni-kl.de
8
9SEE ALSO:  standard_lib, Libraries,
10           Typesetting of help and info strings
11
12KEYWORDS: library, template.lib; template.lib; library, info string
13
14PROCEDURES:
15  mdouble(int)           return double of int argument
16  mtriple(int)          return three times int argument
17  msum([int,..,int])     sum of int arguments
18";
19////////////////////////////////////////////////////////////////////
20proc mdouble(int i)
21"USAGE:    mdouble(i); i int
22RETURN:   int: i+i
23NOTE:     Help string is in pure ASCII.
24          This line starts on a new line since previous line is short.
25          No new line here.
26SEE ALSO: msum, mtriple, Typesetting of help and info strings
27KEYWORDS: procedure, ASCII help
28EXAMPLE:  example mdouble; shows an example"
29{
30  return (i + i);
31}
32example
33{ "EXAMPLE:"; echo = 2;
34  mdouble(0);
35  mdouble(-1);
36}
37////////////////////////////////////////////////////////////////////
38proc mtriple(int i)
39"@c we do texinfo here
40@table @asis
41@item @strong{Usage:}
42@code{mtriple(i)}; @code{i} int
43
44@item @strong{Return:}
45int: @math{i+i+i}
46@item @strong{Note:}
47Help is in pure Texinfo.
48@*This help string is written in texinfo, which enables you to use,
49among others, the @@math command for mathematical typesetting
50(for instance, to print @math{\alpha, \beta}).
51@*Texinfo also gives more control over the layout, but is, admittingly,
52more cumbersome to write.
53@end table
54@c use @c ref contstuct for references
55@cindex procedure, texinfo help
56@c ref
57@strong{See also:}
58@ref{mdouble}, @ref{msum}, @ref{Typesetting of help and info strings}
59@c ref
60"
61{
62  return (i + i + i);
63}
64example
65{ "EXAMPLE:"; echo = 2;
66  mtriple(0);
67  mtriple(-1);
68}
69////////////////////////////////////////////////////////////////////
70proc msum(list #)
71"USAGE:  msum([i_1,..,i_n]); @code{i_1,..,i_n} def
72RETURN:  Sum of int arguments
73NOTE:    This help string is written in a mixture of ASCII and texinfo.
74         @* Use @ref for references (e.g.,  @pxref{mtriple}).
75         @* Use @code for typewriter font (e.g., @code{i_1}).
76         @* Use @math for simple math mode typesetting (e.g., @math{i_1}).
77         @* Warning: Parenthesis like } are not allowed inside @math and @code.
78         @* Use @example for indented, preformatted text typesetting in
79         typewriter font:
80@example
81         this  --> that
82@end example
83        Use @format for preformatted text typesetting in normal font:
84@format
85         this --> that
86@end format
87        Use @texinfo for text in pure texinfo:
88@texinfo
89@expansion{}
90@tex
91$i_{1,1}$
92@end tex
93
94@end texinfo
95        Note that
96        automatic linebreaking         is still in affect (like in this line).
97SEE ALSO: mdouble, mtriple, Typesetting of help and info strings
98KEYWORDS: procedure, ASCII/Texinfo help
99EXAMPLE: example msum; shows an example"
100{
101  if (size(#) == 0) { return (0);}
102  if (size(#) == 1) { return (#[1]);}
103  int i;
104  def s = #[1];
105  for (i=2; i<=size(#); i++)
106  {
107    s = s + #[i];
108  }
109  return (s);
110}
111example
112{ "EXAMPLE:"; echo = 2;
113  msum();
114  msum(4);
115  msum(1,2,3,4);
116}
Note: See TracBrowser for help on using the repository browser.