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