[genius] relase 1.0.11 and other minor tidbits
- From: George Lebl <jirka src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [genius] relase 1.0.11 and other minor tidbits
- Date: Fri, 10 Sep 2010 06:26:11 +0000 (UTC)
commit 1a28573cb6b298552862b9e50dde25c6fd55cbf4
Author: Jiri (George) Lebl <jirka 5z com>
Date: Thu Sep 9 23:25:39 2010 -0700
relase 1.0.11 and other minor tidbits
Thu Sep 09 22:47:54 2010 Jiri (George) Lebl <jirka 5z com>
* Release 1.0.11
* src/gnome-genius.desktop.in: add %U to command line
* help/C/genius.xml: some minor updates and clarifications
ChangeLog | 8 +++++
NEWS | 5 +++
configure.in | 2 +-
help/C/genius.txt | 61 ++++++++++++++++++++++++++-----------------
help/C/genius.xml | 48 ++++++++++++++++++++++------------
help/C/make-and-upload.sh | 14 +++++----
src/gnome-genius.desktop.in | 2 +-
7 files changed, 91 insertions(+), 49 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 4b843cf..20318c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Thu Sep 09 22:47:54 2010 Jiri (George) Lebl <jirka 5z com>
+
+ * Release 1.0.11
+
+ * src/gnome-genius.desktop.in: add %U to command line
+
+ * help/C/genius.xml: some minor updates and clarifications
+
Thu Sep 09 21:29:33 2010 Jiri (George) Lebl <jirka 5z com>
* src/genius.c, src/calc.h, src/gnome-genius.c: In a fit of
diff --git a/NEWS b/NEWS
index 85d5b3d..a5b1b7d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+Changes to 1.0.11
+
+* Build fix for some versions of ncurses (Stephan Hegel)
+* Minor documentation updates
+
Changes to 1.0.10
* Allow changing variable names for all plotting functions
diff --git a/configure.in b/configure.in
index 45bb517..09e90b5 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
AC_INIT(src/calc.c)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(genius,1.0.10)
+AM_INIT_AUTOMAKE(genius,1.0.11)
dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work
AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS")
diff --git a/help/C/genius.txt b/help/C/genius.txt
index d59434d..6e4e4d4 100644
--- a/help/C/genius.txt
+++ b/help/C/genius.txt
@@ -69,7 +69,7 @@
application or this manual, follow the directions in the GNOME Feedback
Page.
- This manual describes version 1.0.10 of Genius.
+ This manual describes version 1.0.11 of Genius.
----------------------------------------------------------------------
@@ -909,10 +909,9 @@ Using Functions
function b(x) = x*x;
f(b,2)
- If you want to pass a function that doesn't exist yet, you can use an
- anonymous function (see the Section called Defining Functions).
-
- Syntax:
+ To pass functions which are not defined, you can use an anonymous function
+ (see the Section called Defining Functions). That is, you want to pass a
+ function without giving it a name. Syntax:
function(<comma separated arguments>) = <function body>
`(<comma separated arguments>) = <function body>
@@ -922,6 +921,8 @@ Using Functions
function f(a,b) = a(b)+1;
f(`(x) = x*x,2)
+ This will return 5.
+
----------------------------------------------------------------------
Operations on Functions
@@ -931,22 +932,25 @@ Using Functions
exp(sin*cos+4)
- will return a function that does
+ will return a function that takes x and returns exp(sin(x)*cos(x)+4). It
+ is functionally equivalent to typing
- exp(sin(x)*cos(x)+4)
+ `(x) = exp(sin(x)*cos(x)+4)
- This can be useful when quickly defining functions. For example to create
- a function to perform the above operation, you can just type:
+ This operation can be useful when quickly defining functions. For example
+ to create a function called f to perform the above operation, you can just
+ type:
f = exp(sin*cos+4)
- This can also be used in plotting. For example, to plot sin squared you
- can enter:
+ It can also be used in plotting. For example, to plot sin squared you can
+ enter:
LinePlot(sin^2)
- Warning Not all functions can be used in this way. In addition, when you
- use a binary operation the functions must take the same arguments.
+ Warning Not all functions can be used in this way. For example, when you
+ use a binary operation the functions must take the same number of
+ arguments.
----------------------------------------------------------------------
@@ -989,12 +993,17 @@ Separator
Modular Evaluation
- Sometimes when working with large numbers, it might be faster if results
- are modded after each calculation. To use it you just add "mod <integer>"
- after the expression. Example:
+ Genius implements modular arithmetic. To use it you just add "mod
+ <integer>" after the expression. Example:
2^(5!) * 3^(6!) mod 5
+ It could be possible to do modular arithmetic by computing with integers
+ and then modding in the end with the % operator, but that may be time
+ consuming if not impossible when working with larger numbers. For example
+ 10^(10^10) % 6 will simply not work (the exponent will be too large),
+ while 10^(10^10) mod 6 is instanteneous.
+
You can calculate the inverses of numbers mod some integer by just using
rational numbers (of course the inverse has to exist). Examples:
@@ -1026,8 +1035,9 @@ Modular Evaluation
List of GEL Operators
- As everything in gel is really just an expression, it is really just all
- connected together with operators. Here is a list of the operators in GEL.
+ Everything in gel is really just an expression. Expressions are stringed
+ together with different operators. As we have seen, even the separator is
+ simply a binary operator in GEL. Here is a list of the operators in GEL.
a;b
@@ -1105,7 +1115,7 @@ List of GEL Operators
a.%b
Element by element the mod operator. Returns the remainder after
- element by element a./b.
+ element by element integer a./b.
a mod b
@@ -1311,9 +1321,11 @@ Loops
do <expression2> while <expression1>
do <expression2> until <expression1>
- These are similar to other languages, however they return the result of
- the last iteration or NULL if no iteration was done. In the boolean
- expression, = is translated into == just as for the if statement.
+ These are similar to other languages. However, as in gel it is simply an
+ expression that must have some return value, these constructs will simply
+ return the result of the last iteration or NULL if no iteration was done.
+ In the boolean expression, = is translated into == just as for the if
+ statement.
----------------------------------------------------------------------
@@ -1344,8 +1356,9 @@ Loops
for <identifier> in <matrix> do <body>
- For each element, going row by row from left to right do the body. To
- print numbers 1,2,3 and 4 in this order you could do:
+ For each element in the matrix, going row by row from left to right we
+ execute the body with the identifier set to the current element. To print
+ numbers 1,2,3 and 4 in this order you could do:
for n in [1,2:3,4] do print(n)
diff --git a/help/C/genius.xml b/help/C/genius.xml
index f1045d5..e3551b2 100644
--- a/help/C/genius.xml
+++ b/help/C/genius.xml
@@ -3,8 +3,8 @@
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY app "<application>Genius Mathematics Tool</application>">
<!ENTITY appname "Genius">
- <!ENTITY appversion "1.0.10">
- <!ENTITY date "August 2010">
+ <!ENTITY appversion "1.0.11">
+ <!ENTITY date "September 2010">
<!ENTITY legal SYSTEM "legal.xml">
@@ -998,10 +998,10 @@ Example:
function b(x) = x*x;
f(b,2)
</programlisting>
-
-If you want to pass a function that doesn’t exist yet, you can use an anonymous function (see <xref linkend="genius-gel-functions-defining" />).
</para>
<para>
+To pass functions which are not defined,
+you can use an anonymous function (see <xref linkend="genius-gel-functions-defining" />). That is, you want to pass a function without giving it a name.
Syntax:
<programlisting><![CDATA[function(<comma separated arguments>) = <function body>
`(<comma separated arguments>) = <function body>
@@ -1010,6 +1010,7 @@ Example:
<programlisting>function f(a,b) = a(b)+1;
f(`(x) = x*x,2)
</programlisting>
+This will return 5.
</para>
</sect2>
@@ -1020,20 +1021,23 @@ f(`(x) = x*x,2)
Some functions allow arithmetic operations, and some single argument functions such as <function>exp</function> or <function>ln</function>, to operate on the function. For example,
<programlisting>exp(sin*cos+4)
</programlisting>
-will return a function that does
-<programlisting>exp(sin(x)*cos(x)+4)
+will return a function that takes <varname>x</varname> and returns <userinput>exp(sin(x)*cos(x)+4)</userinput>. It is functionally equivalent
+to typing
+<programlisting>`(x) = exp(sin(x)*cos(x)+4)
</programlisting>
-This can be useful when quickly defining functions. For example to create a function to perform the above operation, you can just type:
+
+This operation can be useful when quickly defining functions. For example to create a function called <varname>f</varname>
+to perform the above operation, you can just type:
<programlisting>f = exp(sin*cos+4)
</programlisting>
-This can also be used in plotting. For example, to plot sin squared you can enter:
+It can also be used in plotting. For example, to plot sin squared you can enter:
<programlisting>LinePlot(sin^2)
</programlisting>
</para>
<warning>
<para>
-Not all functions can be used in this way. In addition, when you use a binary operation the functions must take the same arguments.
+Not all functions can be used in this way. For example, when you use a binary operation the functions must take the same number of arguments.
</para>
</warning>
</sect2>
@@ -1085,10 +1089,18 @@ the code if it is executed too often as there is one more operator involved.
<sect1 id="genius-gel-modular-evaluation">
<title>Modular Evaluation</title>
<para>
-Sometimes when working with large numbers, it might be faster if results are
-modded after each calculation. To use it you just add "mod <integer>" after
+ &appname; implements modular arithmetic.
+To use it you just add "mod <integer>" after
the expression. Example:
<programlisting>2^(5!) * 3^(6!) mod 5</programlisting>
+It could be possible to do modular arithmetic by computing with integers and then modding in the end with
+the <literal>%</literal> operator, but
+that may be time consuming if not impossible when working with larger numbers.
+For example <userinput>10^(10^10) % 6</userinput> will simply not work (the exponent
+will be too large), while
+<userinput>10^(10^10) mod 6</userinput> is instanteneous.
+ </para>
+ <para>
You can calculate the inverses of numbers mod some integer by just using
rational numbers (of course the inverse has to exist).
Examples:
@@ -1123,9 +1135,9 @@ genius> 2*2 mod 7
<title>List of GEL Operators</title>
<para>
- As everything in gel is really just an expression, it is really just
- all connected together with operators. Here is a list of the
- operators in GEL.
+ Everything in gel is really just an expression. Expressions are stringed together with
+ different operators. As we have seen, even the separator is simply a binary operator
+ in GEL. Here is a list of the operators in GEL.
</para>
<variablelist>
@@ -1311,7 +1323,7 @@ different from <literal>=</literal> because it never gets translated to a
<listitem>
<para>
Element by element the mod operator. Returns the remainder
- after element by element <userinput>a./b</userinput>.
+ after element by element integer <userinput>a./b</userinput>.
</para>
</listitem>
</varlistentry>
@@ -1706,7 +1718,8 @@ until <expression1> do <expression2>
do <expression2> while <expression1>
do <expression2> until <expression1>]]></programlisting>
-These are similar to other languages, however they return the result of the last iteration or <literal>NULL</literal> if no iteration was done. In the boolean expression, <literal>=</literal> is translated into <literal>==</literal> just as for the <literal>if</literal> statement.
+ These are similar to other languages. However, as in gel it is simply an expression that must have some return value, these
+ constructs will simply return the result of the last iteration or <literal>NULL</literal> if no iteration was done. In the boolean expression, <literal>=</literal> is translated into <literal>==</literal> just as for the <literal>if</literal> statement.
</para>
</sect2>
@@ -1729,7 +1742,8 @@ Loop with identifier being set to all values from <literal><from></literal
Syntax:
<programlisting><![CDATA[for <identifier> in <matrix> do <body>]]></programlisting>
-For each element, going row by row from left to right do the body. To
+ For each element in the matrix, going row by row from left to right we execute the body
+ with the identifier set to the current element. To
print numbers 1,2,3 and 4 in this order you could do:
<programlisting>for n in [1,2:3,4] do print(n)
</programlisting>
diff --git a/help/C/make-and-upload.sh b/help/C/make-and-upload.sh
index 235ac2b..9bdc21d 100755
--- a/help/C/make-and-upload.sh
+++ b/help/C/make-and-upload.sh
@@ -4,16 +4,18 @@ if [ ! -d /home/jirka/ ]; then
exit
fi
-echo rm -f *.html *.pdf
-rm -f *.html *.pdf
+echo rm -f *.html *.pdf *.ps
+rm -f *.html *.pdf *.ps
echo SP_ENCODING=\"utf-8\" docbook2html genius.xml
SP_ENCODING="utf-8" docbook2html genius.xml
-echo docbook2ps genius.xml
-docbook2ps genius.xml
-echo ps2pdf genius.ps genius.pdf
-ps2pdf genius.ps genius.pdf
+echo docbook2pdf genius.xml
+docbook2pdf genius.xml
+#echo docbook2ps genius.xml
+#docbook2ps genius.xml
+#echo ps2pdf genius.ps genius.pdf
+#ps2pdf genius.ps genius.pdf
echo scp *.html zinc.5z.com:/home/www/html/jirka/genius-documentation/
scp *.html zinc.5z.com:/home/www/html/jirka/genius-documentation/
diff --git a/src/gnome-genius.desktop.in b/src/gnome-genius.desktop.in
index 0492405..ab25784 100644
--- a/src/gnome-genius.desktop.in
+++ b/src/gnome-genius.desktop.in
@@ -1,7 +1,7 @@
[Desktop Entry]
Encoding=UTF-8
Type=Application
-Exec=gnome-genius
+Exec=gnome-genius %U
Icon=gnome-genius
Terminal=false
Categories=GNOME;Science;Math;Education;Calculator;Utility;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]