Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-sonata for openSUSE:Factory checked in at 2025-09-24 15:24:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-sonata (Old) and /work/SRC/openSUSE:Factory/.gap-sonata.new.27445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-sonata" Wed Sep 24 15:24:26 2025 rev:2 rq:1306816 version:2.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-sonata/gap-sonata.changes 2023-12-28 23:01:10.913825150 +0100 +++ /work/SRC/openSUSE:Factory/.gap-sonata.new.27445/gap-sonata.changes 2025-09-24 15:26:41.670445866 +0200 @@ -1,0 +2,6 @@ +Tue Sep 23 22:49:49 UTC 2025 - Jan Engelhardt <[email protected]> + +- Update to release 2.9.7 + * Replace calls to AUTO by DeclareAutoreadableVariables + +------------------------------------------------------------------- Old: ---- sonata-2.9.6.tar.gz New: ---- _scmsync.obsinfo build.specials.obscpio sonata-2.9.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-sonata.spec ++++++ --- /var/tmp/diff_new_pack.tf3uFu/_old 2025-09-24 15:26:42.194467929 +0200 +++ /var/tmp/diff_new_pack.tf3uFu/_new 2025-09-24 15:26:42.198468097 +0200 @@ -1,7 +1,7 @@ # # spec file for package gap-sonata # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: gap-sonata -Version: 2.9.6 +Version: 2.9.7 Release: 0 Summary: GAP: System of nearrings and their applications License: GPL-2.0-or-later @@ -36,7 +36,7 @@ of finite nearrings. %prep -%setup -qn sonata-%version +%autosetup -n sonata-%version %build ++++++ _scmsync.obsinfo ++++++ mtime: 1758667905 commit: 840d46c34e8add9ec571d76ee29fe3e626d99776dfd90cb2da2c4fd4fc848f97 url: https://src.opensuse.org/jengelh/gap-sonata revision: master ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-09-24 00:51:53.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ sonata-2.9.6.tar.gz -> sonata-2.9.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/PackageInfo.g new/sonata-2.9.7/PackageInfo.g --- old/sonata-2.9.6/PackageInfo.g 2022-12-05 23:57:06.000000000 +0100 +++ new/sonata-2.9.7/PackageInfo.g 2025-09-23 23:43:53.000000000 +0200 @@ -19,8 +19,8 @@ PackageName := "SONATA", Subtitle := "System of nearrings and their applications", -Version := "2.9.6", -Date := "06/12/2022", # dd/mm/yyyy format +Version := "2.9.7", +Date := "23/09/2025", # dd/mm/yyyy format License := "GPL-2.0-or-later", Persons := [ @@ -123,7 +123,6 @@ PDFFile := "doc/ref/manual.pdf", SixFile := "doc/ref/manual.six", LongTitle := "System of nearrings and their applications", - Autoload := true ), rec( BookName := "SONATA Tutorial", @@ -132,7 +131,6 @@ PDFFile := "doc/tut/manual.pdf", SixFile := "doc/tut/manual.six", LongTitle := "Eight easy pieces for SONATA: a SONATA tutorial", - Autoload := false ), ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP001.htm new/sonata-2.9.7/doc/htm/ref/CHAP001.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP001.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP001.htm 2025-09-23 23:43:53.000000000 +0200 @@ -31,7 +31,7 @@ All groups of order 2 to 32 are predefined. They can be accessed by variables of the kind <code>GTW</code><var>o</var><code>_</code><var>n</var><code></code> where <var>o</var> defines the order of the group and <var>n</var> the number of the group of order <var>o</var> as they -appear in <a href="biblio.htm#thomaswood80:GT"><cite>thomaswood80:GT</cite></a> . For example, <code>GTW16_6</code> defines the +appear in <a href="biblio.htm#thomaswood80:GT"><[>thomaswood80:GT</cite></a>] . For example, <code>GTW16_6</code> defines the group of Thomas -- Wood type 16/6, which is actually <i>D</i><sub>4</sub> ×<i>C</i><sub>2</sub>. <p> Alternatively, these groups can be accessed via the function @@ -359,9 +359,9 @@ <p> The function <code>ScottLength</code> retuns the Scott-length of the group <var>G</var>. For a definition of the Scott-length of a group and an idea for an -algorithm for the general case see <a href="biblio.htm#scott69:TAOPMOAGATSOCPPGI"><cite>scott69:TAOPMOAGATSOCPPGI</cite></a>. +algorithm for the general case see <a href="biblio.htm#scott69:TAOPMOAGATSOCPPGI"><[>scott69:TAOPMOAGATSOCPPGI</cite></a>]. In the case of a class 2 nilpotent finite group <var>G</var> a faster algorithm -described in <a href="biblio.htm#ecker98:OTNOPFONGOC2"><cite>ecker98:OTNOPFONGOC2</cite></a> is used. +described in <a href="biblio.htm#ecker98:OTNOPFONGOC2"><[>ecker98:OTNOPFONGOC2</cite></a>] is used. <p> <pre> gap> ScottLength( GTW6_2 ); @@ -401,5 +401,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP002.htm new/sonata-2.9.7/doc/htm/ref/CHAP002.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP002.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP002.htm 2025-09-23 23:43:53.000000000 +0200 @@ -35,8 +35,8 @@ a semigroup, and · is left distributive over +, i.e. ∀<i>n</i><sub>1</sub>,<i>n</i><sub>2</sub>,<i>n</i><sub>3</sub> ∈ <i>N</i>: <i>n</i><sub>1</sub>·(<i>n</i><sub>2</sub>+<i>n</i><sub>3</sub>) = <i>n</i><sub>1</sub>·<i>n</i><sub>2</sub> + <i>n</i><sub>1</sub>·<i>n</i><sub>3</sub>. <p> -For more information we suggest <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>, -<a href="biblio.htm#meldrum85:NATLWG"><cite>meldrum85:NATLWG</cite></a>, and <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>. +For more information we suggest <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>], +<a href="biblio.htm#meldrum85:NATLWG"><[>meldrum85:NATLWG</cite></a>], and <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>]. <p> The functions described in this section can be found in the source files <code>nr.g?</code> and <code>nrconstr.g?</code>. @@ -540,7 +540,7 @@ For a subgroup <var>S</var> of the group reduct of the nearring which is closed under the multiplication of <var>nr</var> the function <code>SubNearRingBySubgroupNC</code> returns the subnearRing of <var>nr</var>, which is -induced by this subgroup. The <var>nr</var>-invariance is not explicitely +induced by this subgroup. The <var>nr</var>-invariance is not expli[ly] tested. <p> <pre> @@ -1065,5 +1065,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP001.htm">Previous</a>] [<a href ="CHAP003.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP003.htm new/sonata-2.9.7/doc/htm/ref/CHAP003.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP003.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP003.htm 2025-09-23 23:43:53.000000000 +0200 @@ -207,5 +207,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP004.htm new/sonata-2.9.7/doc/htm/ref/CHAP004.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP004.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP004.htm 2025-09-23 23:43:53.000000000 +0200 @@ -297,5 +297,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP003.htm">Previous</a>] [<a href ="CHAP005.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP005.htm new/sonata-2.9.7/doc/htm/ref/CHAP005.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP005.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP005.htm 2025-09-23 23:43:53.000000000 +0200 @@ -23,11 +23,11 @@ A <strong>transformation nearring</strong> is a set of mappings on a group <i>G</i> that is closed under pointwise addition of mappings, under forming the additive inverse and under functional composition. For more -information we suggest <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>, <a href="biblio.htm#meldrum85:NATLWG"><cite>meldrum85:NATLWG</cite></a>, -and <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>, +information we suggest <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>], <a href="biblio.htm#meldrum85:NATLWG"><[>meldrum85:NATLWG</cite></a>], +and <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>], <p> The algorithms used can be found in -<a href="biblio.htm#aichingereckernoebauer00:TUOCINT"><cite>aichingereckernoebauer00:TUOCINT</cite></a> and <a href="biblio.htm#aichingerea00:CWN"><cite>aichingerea00:CWN</cite></a>. +<a href="biblio.htm#aichingereckernoebauer00:TUOCINT"><[>aichingereckernoebauer00:TUOCINT</cite></a>] and <a href="biblio.htm#aichingerea00:CWN"><[>aichingerea00:CWN</cite></a>]. <p> The elements of a transformation nearring are given as endomappings on the group <i>G</i> (cf. Chapter ``Functions on groups that are not @@ -445,5 +445,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP004.htm">Previous</a>] [<a href ="CHAP006.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP006.htm new/sonata-2.9.7/doc/htm/ref/CHAP006.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP006.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP006.htm 2025-09-23 23:43:53.000000000 +0200 @@ -21,8 +21,8 @@ <li> <A HREF="CHAP006.htm#SECT014">Factor nearrings</a> </ol><p> <p> -For an introduction to nearring ideals we suggest <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>, -<a href="biblio.htm#meldrum85:NATLWG"><cite>meldrum85:NATLWG</cite></a>, and <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>. +For an introduction to nearring ideals we suggest <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>], +<a href="biblio.htm#meldrum85:NATLWG"><[>meldrum85:NATLWG</cite></a>], and <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>]. <p> Ideals of nearrings can either be left, right or twosided ideals. However, all of them are called ideals. Mathematicians tend to use the expression @@ -532,5 +532,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP005.htm">Previous</a>] [<a href ="CHAP007.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP007.htm new/sonata-2.9.7/doc/htm/ref/CHAP007.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP007.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP007.htm 2025-09-23 23:43:53.000000000 +0200 @@ -45,5 +45,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP006.htm">Previous</a>] [<a href ="CHAP008.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP008.htm new/sonata-2.9.7/doc/htm/ref/CHAP008.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP008.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP008.htm 2025-09-23 23:43:53.000000000 +0200 @@ -421,5 +421,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP007.htm">Previous</a>] [<a href ="CHAP009.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP009.htm new/sonata-2.9.7/doc/htm/ref/CHAP009.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP009.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP009.htm 2025-09-23 23:43:53.000000000 +0200 @@ -18,10 +18,10 @@ and so on. <p> The classification of fixed-point-free automorphism groups in types I - IV -follows Zassenhaus' papers and <a href="biblio.htm#Wolf:Spaces"><cite>Wolf:Spaces</cite></a>. +follows Zassenhaus' papers and <a href="biblio.htm#Wolf:Spaces"><[>Wolf:Spaces</cite></a>]. The fixed-point-free automorphism groups acting on abelian groups are constructed from fixed-point-free representations as described in -<a href="biblio.htm#Mayr:Representations"><cite>Mayr:Representations</cite></a>. +<a href="biblio.htm#Mayr:Representations"><[>Mayr:Representations</cite></a>]. <p> <p> <h2><a name="SECT001">9.1 Fixed-point-free automorphism groups and Frobenius groups</a></h2> @@ -710,5 +710,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP008.htm">Previous</a>] [<a href ="CHAP010.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP010.htm new/sonata-2.9.7/doc/htm/ref/CHAP010.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP010.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP010.htm 2025-09-23 23:43:53.000000000 +0200 @@ -15,7 +15,7 @@ A <strong>nearfield</strong> is a nearring with 1 where each nonzero element has a multiplicative inverse. The (additive) group reduct of a finite nearfield is necessarily elementary abelian. -For an exposition of nearfields we refer to <a href="biblio.htm#Waehling:Fastkoerper"><cite>Waehling:Fastkoerper</cite></a>. +For an exposition of nearfields we refer to <a href="biblio.htm#Waehling:Fastkoerper"><[>Waehling:Fastkoerper</cite></a>]. <p> Let (<i>N</i>,+,·) be a left nearring. For <i>a</i>,<i>b</i> ∈ <i>N</i> we define <i>a</i> ≡ <i>b</i> iff <i>a</i>·<i>n</i> = <i>b</i>·<i>n</i> for all <i>n</i> ∈ <i>N</i>. If <i>a</i> ≡ <i>b</i>, then <i>a</i> and <i>b</i> @@ -23,7 +23,7 @@ A nearring <i>N</i> is called <strong>planar</strong> if | <i>N</i>/<sub> ≡ </sub> | ≥ 3 and if for any two non-equivalent multipliers <i>a</i> and <i>b</i> in <i>N</i>, for any <i>c</i> ∈ <i>N</i>, the equation <i>a</i>·<i>x</i> = <i>b</i>·<i>x</i> + <i>c</i> has a unique solution. -See <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a> for basic results on planar nearrings. +See <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>] for basic results on planar nearrings. <p> All finite nearfields are planar nearrings. <p> @@ -156,7 +156,7 @@ fixed-point-free automorphism group of (<i>N</i>,+). <p> Starting with a Ferrero pair (<i>N</i>,Φ) we can construct a planar nearring -in the following way, <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>: +in the following way, <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>:] Select representatives, say <i>e</i><sub>1</sub>,…,<i>e</i><sub><i>t</i></sub>, for some or all of the non-trivial orbits of <i>N</i> under Φ. Let <i>C</i> = Φ(<i>e</i><sub>1</sub>)∪…∪Φ(<i>e</i><sub><i>t</i></sub>). @@ -280,5 +280,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP009.htm">Previous</a>] [<a href ="CHAP011.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/CHAP011.htm new/sonata-2.9.7/doc/htm/ref/CHAP011.htm --- old/sonata-2.9.6/doc/htm/ref/CHAP011.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/CHAP011.htm 2025-09-23 23:43:53.000000000 +0200 @@ -58,7 +58,7 @@ <p> <code>DesignFromPlanarNearRing</code> returns a design obtained from the planar nearring <var>N</var> following the constructions of James R. Clay -<a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>. +<a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>]. <p> If <var>type</var> = <code>"*"</code>, <code>DesignFromPlanarNearRing</code> returns the design (<i>N</i> ,<i>B</i><sup>*</sup>, ∈ ) in the notation of J. R. Clay with the elements of <var>N</var> as @@ -86,7 +86,7 @@ <p> <code>DesignFromFerreroPair</code> returns a design obtained from the group <var>G</var>, and a group of fixed-point-free automorphisms <var>phi</var> acting on <var>G</var> following the -constructions of James R. Clay <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>. +constructions of James R. Clay <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>]. <p> If <var>type</var> = <code>"*"</code>, <code>DesignFromFerreroPair</code> returns the design (<i>G</i> ,<i>B</i><sup>*</sup>, ∈ ) in the notation of J. R. Clay with the elements of <var>G</var> as @@ -329,5 +329,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP010.htm">Previous</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/biblio.htm new/sonata-2.9.7/doc/htm/ref/biblio.htm --- old/sonata-2.9.6/doc/htm/ref/biblio.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/biblio.htm 2025-09-23 23:43:53.000000000 +0200 @@ -68,5 +68,5 @@ </dl><p> [<a href="chapters.htm">Up</a>]<p> <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/chapters.htm new/sonata-2.9.7/doc/htm/ref/chapters.htm --- old/sonata-2.9.6/doc/htm/ref/chapters.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/chapters.htm 2025-09-23 23:43:53.000000000 +0200 @@ -22,5 +22,5 @@ <li><a href="theindex.htm">Index</a> </ul><p> <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/ref/theindex.htm new/sonata-2.9.7/doc/htm/ref/theindex.htm --- old/sonata-2.9.6/doc/htm/ref/theindex.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/ref/theindex.htm 2025-09-23 23:43:53.000000000 +0200 @@ -406,5 +406,5 @@ </dl><p> [<a href="chapters.htm">Up</a>]<p> <P> -<address>SONATA manual<br>December 2022 +<address>SONATA manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP001.htm new/sonata-2.9.7/doc/htm/tut/CHAP001.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP001.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP001.htm 2025-09-23 23:43:53.000000000 +0200 @@ -203,5 +203,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP002.htm new/sonata-2.9.7/doc/htm/tut/CHAP002.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP002.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP002.htm 2025-09-23 23:43:53.000000000 +0200 @@ -25,9 +25,9 @@ functions right of their arguments. Then the definition reads (γ) <i>m</i> * <i>n</i> = ((γ)<i>m</i>)<i>n</i>. <p> -Textbooks on nearrings are <a href="biblio.htm#meldrum85:NATLWG"><cite>meldrum85:NATLWG</cite></a>, <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>, -<a href="biblio.htm#Ferrero:Nearrings"><cite>Ferrero:Nearrings</cite></a>. They all use <strong>left nearrings</strong>. -The book <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a> uses <strong>right nearrings</strong>; these are +Textbooks on nearrings are <a href="biblio.htm#meldrum85:NATLWG"><[>meldrum85:NATLWG</cite></a>], <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>], +<a href="biblio.htm#Ferrero:Nearrings"><[>Ferrero:Nearrings</cite></a>]. They all use <strong>left nearrings</strong>. +The book <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>] uses <strong>right nearrings</strong>; these are the algebras that arise if we claim the right distributive law (<i>x</i> + <i>y</i>) * <i>z</i> = <i>x</i>*<i>z</i> + <i>y</i>*<i>z</i> instead of the left distributive law given above. @@ -38,7 +38,7 @@ <h2><a name="SECT001">2.1 Entering nearrings into the system</a></h2> <p><p> <strong>The problem:</strong> Input the nearring given in the example -of page 406 of <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a> +of page 406 of <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>] into SONATA. <p> This nearring is given by an explicit multiplication table. @@ -141,7 +141,7 @@ some questions about it. A nearring is a nearfield if it has more than one element and its nonzero elements are a group with respect to multiplication. A textbook -on nearfields is <a href="biblio.htm#Waehling:Fastkoerper"><cite>Waehling:Fastkoerper</cite></a>. They are interesting +on nearfields is <a href="biblio.htm#Waehling:Fastkoerper"><[>Waehling:Fastkoerper</cite></a>]. They are interesting structures, closely connected to sharply 2-transitive permutation groups and fixedpointfree automorphism groups of groups. <p> @@ -153,7 +153,7 @@ gap> IsNilpotentNearRing( N ); false </pre> -<a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a> is correct ... Well at least in this case.<code>;-))</code> +<a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>] is correct ... Well at least in this case.<code>;-))</code> <p> <p> <h2><a name="SECT003">2.3 Entering the nearring with less typing</a></h2> @@ -219,5 +219,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP001.htm">Previous</a>] [<a href ="CHAP003.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP003.htm new/sonata-2.9.7/doc/htm/tut/CHAP003.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP003.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP003.htm 2025-09-23 23:43:53.000000000 +0200 @@ -123,7 +123,7 @@ use a <code>for ... do ... od</code> construction. <p> We shall demonstrate this by recomputing the list -of nearrings given in appendix K of <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>, +of nearrings given in appendix K of <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>], i.e. a list of all nearrings on the dihedral group of order 8 (<code>GTW8_4</code>) which have an identity, are non-zerosymmetric or are integral. @@ -164,14 +164,14 @@ <p> Which correspond to the numbers 140, 86, 99, and 141 in -<a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>, appendix K, accordingly. +<a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>], appendix K, accordingly. <p> For those who got interested in boolean nearrings: many results about them have been collected in -<a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>, 9.31. +<a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>], 9.31. <p> <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP004.htm new/sonata-2.9.7/doc/htm/tut/CHAP004.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP004.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP004.htm 2025-09-23 23:43:53.000000000 +0200 @@ -106,5 +106,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP003.htm">Previous</a>] [<a href ="CHAP005.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP005.htm new/sonata-2.9.7/doc/htm/tut/CHAP005.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP005.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP005.htm 2025-09-23 23:43:53.000000000 +0200 @@ -19,7 +19,7 @@ The nearring <i>I</i>(<i>G</i>) is the smallest subnearring of the nearring <i>M</i>(<i>G</i>) of all mappings from <i>G</i> into <i>G</i> that contains all inner automorphisms; similarly <i>A</i>(<i>G</i>) and <i>E</i>(<i>G</i>) -are defined. <a href="biblio.htm#meldrum85:NATLWG"><cite>meldrum85:NATLWG</cite></a> contains +are defined. <a href="biblio.htm#meldrum85:NATLWG"><[>meldrum85:NATLWG</cite></a>] contains a lot of information on these near-rings. <p> <p> @@ -197,14 +197,14 @@ <p><p> We shall now construct all compatible (= congruence preserving) functions on the group 16/6 (Thomas-Wood-notation); this is the 6<sup><i>th</i></sup> group -of order 16 in <a href="biblio.htm#thomaswood80:GT"><cite>thomaswood80:GT</cite></a>. +of order 16 in <a href="biblio.htm#thomaswood80:GT"><[>thomaswood80:GT</cite></a>]. It is the direct product of <i>D</i><sub>8</sub> and <i>C</i><sub>2</sub>. Let <i>G</i> be this group. We first construct the nearring <i>P</i>(<i>G</i>) of all polynomial functions. Then we construct all those functions that can be interpolated at every subset of <i>G</i> with at most two elements by a function in <i>P</i>(<i>G</i>) by using the function <code>LocalInterpolationNearRing</code>: -these are the compatible functions on <i>G</i> (see <a href="biblio.htm#Pilz:Nearrings"><cite>Pilz:Nearrings</cite></a>). +these are the compatible functions on <i>G</i> (see <a href="biblio.htm#Pilz:Nearrings"><[>Pilz:Nearrings</cite></a>)]. <pre> gap> P := PolynomialNearRing( GTW16_6 ); PolynomialNearRing( 16/6 ) @@ -246,5 +246,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP004.htm">Previous</a>] [<a href ="CHAP006.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP006.htm new/sonata-2.9.7/doc/htm/tut/CHAP006.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP006.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP006.htm 2025-09-23 23:43:53.000000000 +0200 @@ -138,5 +138,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP005.htm">Previous</a>] [<a href ="CHAP007.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP007.htm new/sonata-2.9.7/doc/htm/tut/CHAP007.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP007.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP007.htm 2025-09-23 23:43:53.000000000 +0200 @@ -4,7 +4,7 @@ <h1>7 Planar nearrings</h1><p> <p> We recall the definition of planar nearrings and basic results -(see <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>). +(see <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>)]. Let (<i>N</i>,+,·) be a left nearring. For <i>a</i>,<i>b</i> ∈ <i>N</i> we define <i>a</i> ≡ <i>b</i> iff <i>a</i>·<i>n</i> = <i>b</i>·<i>n</i> for all <i>n</i> ∈ <i>N</i>. If <i>a</i> ≡ <i>b</i>, then <i>a</i> and <i>b</i> are called <strong>equivalent multipliers</strong>. @@ -144,5 +144,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP006.htm">Previous</a>] [<a href ="CHAP008.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/CHAP008.htm new/sonata-2.9.7/doc/htm/tut/CHAP008.htm --- old/sonata-2.9.6/doc/htm/tut/CHAP008.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/CHAP008.htm 2025-09-23 23:43:53.000000000 +0200 @@ -20,7 +20,7 @@ <p><p> We are going to generate a design with a feasible parameter set from a planar nearring, respectively from a Ferrero pair. -For notations and definitions we refer to <a href="biblio.htm#Clay:Nearrings"><cite>Clay:Nearrings</cite></a>. +For notations and definitions we refer to <a href="biblio.htm#Clay:Nearrings"><[>Clay:Nearrings</cite></a>]. <p> Let <i>N</i> be a (left) planar nearring. Then we can define a design (<i>N</i>,<i>B</i><sup>*</sup>, ∈ ) with <i>N</i> as the set of points and @@ -162,5 +162,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP007.htm">Previous</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/biblio.htm new/sonata-2.9.7/doc/htm/tut/biblio.htm --- old/sonata-2.9.6/doc/htm/tut/biblio.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/biblio.htm 2025-09-23 23:43:53.000000000 +0200 @@ -37,5 +37,5 @@ </dl><p> [<a href="chapters.htm">Up</a>]<p> <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/chapters.htm new/sonata-2.9.7/doc/htm/tut/chapters.htm --- old/sonata-2.9.6/doc/htm/tut/chapters.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/chapters.htm 2025-09-23 23:43:53.000000000 +0200 @@ -19,5 +19,5 @@ <li><a href="theindex.htm">Index</a> </ul><p> <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/htm/tut/theindex.htm new/sonata-2.9.7/doc/htm/tut/theindex.htm --- old/sonata-2.9.6/doc/htm/tut/theindex.htm 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/htm/tut/theindex.htm 2025-09-23 23:43:53.000000000 +0200 @@ -77,5 +77,5 @@ </dl><p> [<a href="chapters.htm">Up</a>]<p> <P> -<address>SONATA-tutorial manual<br>December 2022 +<address>SONATA-tutorial manual<br>September 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/doc/make_doc new/sonata-2.9.7/doc/make_doc --- old/sonata-2.9.6/doc/make_doc 2022-12-05 23:57:20.000000000 +0100 +++ new/sonata-2.9.7/doc/make_doc 2025-09-23 23:43:53.000000000 +0200 @@ -1,8 +1,4 @@ #!/bin/sh -######################################################################### -## -#W make_doc make SONATA Package documentation Alexander Hulpke -## set -e echo "TeXing documentation:ref" @@ -11,26 +7,46 @@ # for the reference-manual, hence no index. Copying manual.mst for the # tutorial-manual into the directory ref/ did the trick. cd ref -# TeX the manual and build its bibliography -tex manual;bibtex manual -# TeX the manual again to incorporate the ToC ... and build the index -tex manual; ../../../../doc/manualindex manual + +# delete old stuff to avoid spurious or "hidden errors" caused by their presence +rm -f manual.{aux,bbl,blg,dvi,idx,ilg,ind,lab,log,pdf,ps,six,toc} +# TeX the manual +tex manual +# ... and build its bibliography +bibtex manual +# TeX the manual again to incorporate the ToC +tex manual +# ... and build the index +../../../../doc/manualindex manual # Finally TeX the manual again to get cross-references right tex manual + # Create PDF version -pdftex manual; pdftex manual +pdftex manual +pdftex manual + cd .. echo "TeXing documentation:tut" cd tut -# TeX the manual and build its bibliography -tex manual;bibtex manual -# TeX the manual again to incorporate the ToC ... and build the index -tex manual; ../../../../doc/manualindex manual + +# delete old stuff to avoid spurious or "hidden errors" caused by their presence +rm -f manual.{aux,bbl,blg,dvi,idx,ilg,ind,lab,log,pdf,ps,six,toc} +# TeX the manual +tex manual +# ... and build its bibliography +bibtex manual +# TeX the manual again to incorporate the ToC +tex manual +# ... and build the index +../../../../doc/manualindex manual # Finally TeX the manual again to get cross-references right tex manual + # Create PDF version -pdftex manual; pdftex manual +pdftex manual +pdftex manual + cd .. # The HTML version of the manual @@ -42,7 +58,10 @@ cd ref ../../../../etc/convert.pl -i -u -c -n SONATA . ../htm/ref cd ../htm/ref -for d in *.htm; do sed 's/cite\([^ .,]\+\)/[\1]/g' < $d > tmp; cp tmp $d; done +for d in *.htm; do + sed 's/cite\([^ .,]\+\)/[\1]/g' < $d > tmp + cp tmp $d +done rm -f tmp cd ../.. @@ -51,6 +70,9 @@ cd tut ../../../../etc/convert.pl -i -u -c -n SONATA-tutorial . ../htm/tut cd ../htm/tut -for d in *.htm; do sed 's/cite\([^ .,]\+\)/[\1]/g' < $d > tmp; cp tmp $d; done; +for d in *.htm; do + sed 's/cite\([^ .,]\+\)/[\1]/g' < $d > tmp + cp tmp $d +done rm -f tmp cd ../.. Binary files old/sonata-2.9.6/doc/ref/manual.dvi and new/sonata-2.9.7/doc/ref/manual.dvi differ Binary files old/sonata-2.9.6/doc/ref/manual.pdf and new/sonata-2.9.7/doc/ref/manual.pdf differ Binary files old/sonata-2.9.6/doc/tut/manual.dvi and new/sonata-2.9.7/doc/tut/manual.dvi differ Binary files old/sonata-2.9.6/doc/tut/manual.pdf and new/sonata-2.9.7/doc/tut/manual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/lib/libnr.gd new/sonata-2.9.7/lib/libnr.gd --- old/sonata-2.9.6/lib/libnr.gd 2022-12-05 23:57:06.000000000 +0100 +++ new/sonata-2.9.7/lib/libnr.gd 2025-09-23 23:43:53.000000000 +0200 @@ -1,9 +1,3 @@ -DeclareGlobalVariable( "NEARRING_PATH_NAME", - "path to the directory containing the library of small near rings" ); - -DeclareGlobalVariable( "NEARRING_WITH_IDENTITY_PATH_NAME", - "path to the directory containing the library of small near rings with identity" ); - ############################################################################# ## #O LibraryNearRing( <group>, <num> ). . . . . . . . get a nr from the library diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/lib/libnr.gi new/sonata-2.9.7/lib/libnr.gi --- old/sonata-2.9.6/lib/libnr.gi 2022-12-05 23:57:06.000000000 +0100 +++ new/sonata-2.9.7/lib/libnr.gi 2025-09-23 23:43:53.000000000 +0200 @@ -8,124 +8,107 @@ ## 13.01.00 N!.multiplication ersetzt, PM ## -############################################################################## -## - InstallValue( NEARRING_PATH_NAME, - DirectoriesPackageLibrary( "sonata", "nr" ) ); - InstallValue( NEARRING_WITH_IDENTITY_PATH_NAME, - DirectoriesPackageLibrary( "sonata", "nri" ) ); - -BindGlobal( "AutoReadNR", - function ( filename ) - Read( Filename( NEARRING_PATH_NAME, Concatenation(filename,".nr") ) ); -end ); - -BindGlobal( "AutoReadNRI", - function ( filename ) - Read( Filename( NEARRING_WITH_IDENTITY_PATH_NAME, Concatenation(filename,".nr") ) ); -end ); - -AUTO( AutoReadNR, "nr_2-7" , "NR_C2", "NR_C3", "NR_C4", "NR_V4", "NR_C5", - "NR_C6", "NR_S3", "NR_C7" ); - -AUTO( AutoReadNR, "nr8_1" , "NR_C8" ); -AUTO( AutoReadNR, "nr8_2" , "NR_C2xC4" ); -AUTO( AutoReadNR, "nr8_3" , "NR_C2xC2xC2" ); -AUTO( AutoReadNR, "nr8_4" , "NR_D8" ); -AUTO( AutoReadNR, "nr8_5" , "NR_Q8" ); - -AUTO( AutoReadNR, "nr9_1" , "NR_C9" ); -AUTO( AutoReadNR, "nr9_2" , "NR_C3xC3" ); - -AUTO( AutoReadNR, "nr10_1" , "NR_C10" ); -AUTO( AutoReadNR, "nr10_2" , "NR_D10" ); - -AUTO( AutoReadNR, "nr11_1" , "NR_C11" ); - -AUTO( AutoReadNR, "nr12_1" , "NR_C12" ); -AUTO( AutoReadNR, "nr12_2" , "NR_C2xC6" ); - -AUTO( AutoReadNR, "nr12_3.1" , "NR_D12_1" ); -AUTO( AutoReadNR, "nr12_3.2" , "NR_D12_2" ); -AUTO( AutoReadNR, "nr12_3.3" , "NR_D12_3" ); -AUTO( AutoReadNR, "nr12_3.4" , "NR_D12_4" ); -AUTO( AutoReadNR, "nr12_3.5" , "NR_D12_5" ); -AUTO( AutoReadNR, "nr12_3.6" , "NR_D12_6" ); -AUTO( AutoReadNR, "nr12_3.7" , "NR_D12_7" ); -AUTO( AutoReadNR, "nr12_3.8" , "NR_D12_8" ); -AUTO( AutoReadNR, "nr12_3.9" , "NR_D12_9" ); - -AUTO( AutoReadNR, "nr12_4" , "NR_A4" ); -AUTO( AutoReadNR, "nr12_5" , "NR_T" ); +DeclareAutoreadableVariables("sonata", "nr/nr_2-7.nr", + [ "NR_C2", "NR_C3", "NR_C4", "NR_V4", "NR_C5", "NR_C6", "NR_S3", "NR_C7" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr8_1.nr", [ "NR_C8" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr8_2.nr", [ "NR_C2xC4" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr8_3.nr", [ "NR_C2xC2xC2" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr8_4.nr", [ "NR_D8" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr8_5.nr", [ "NR_Q8" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr9_1.nr", [ "NR_C9" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr9_2.nr", [ "NR_C3xC3" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr10_1.nr", [ "NR_C10" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr10_2.nr", [ "NR_D10" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr11_1.nr", [ "NR_C11" ] ); -AUTO( AutoReadNR, "nr13_1" , "NR_C13" ); +DeclareAutoreadableVariables("sonata", "nr/nr12_1.nr", [ "NR_C12" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_2.nr", [ "NR_C2xC6" ] ); -AUTO( AutoReadNR, "nr14_1" , "NR_C14" ); -AUTO( AutoReadNR, "nr14_2" , "NR_D14" ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.1.nr", [ "NR_D12_1" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.2.nr", [ "NR_D12_2" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.3.nr", [ "NR_D12_3" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.4.nr", [ "NR_D12_4" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.5.nr", [ "NR_D12_5" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.6.nr", [ "NR_D12_6" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.7.nr", [ "NR_D12_7" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.8.nr", [ "NR_D12_8" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_3.9.nr", [ "NR_D12_9" ] ); -AUTO( AutoReadNR, "nr15_1" , "NR_C15" ); +DeclareAutoreadableVariables("sonata", "nr/nr12_4.nr", [ "NR_A4" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr12_5.nr", [ "NR_T" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr13_1.nr", [ "NR_C13" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr14_1.nr", [ "NR_C14" ] ); +DeclareAutoreadableVariables("sonata", "nr/nr14_2.nr", [ "NR_D14" ] ); + +DeclareAutoreadableVariables("sonata", "nr/nr15_1.nr", [ "NR_C15" ] ); ######################################################## -AUTO( AutoReadNRI, "nri12_3" , "NI12_3" ); +DeclareAutoreadableVariables("sonata", "nri/nri12_3.nr", [ "NI12_3" ] ); -AUTO( AutoReadNRI, "nri16_1" , "NI16_1" ); -AUTO( AutoReadNRI, "nri16_2" , "NI16_2" ); -AUTO( AutoReadNRI, "nri16_3" , "NI16_3" ); -AUTO( AutoReadNRI, "nri16_4" , "NI16_4" ); -AUTO( AutoReadNRI, "nri16_5" , "NI16_5" ); -AUTO( AutoReadNRI, "nri16_6" , "NI16_6" ); -AUTO( AutoReadNRI, "nri16_7" , "NI16_7" ); -AUTO( AutoReadNRI, "nri16_9" , "NI16_9" ); -AUTO( AutoReadNRI, "nri16_10" , "NI16_10" ); -AUTO( AutoReadNRI, "nri16_11" , "NI16_11" ); +DeclareAutoreadableVariables("sonata", "nri/nri16_1.nr", [ "NI16_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_2.nr", [ "NI16_2" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_3.nr", [ "NI16_3" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_4.nr", [ "NI16_4" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_5.nr", [ "NI16_5" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_6.nr", [ "NI16_6" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_7.nr", [ "NI16_7" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_9.nr", [ "NI16_9" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_10.nr", [ "NI16_10" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri16_11.nr", [ "NI16_11" ] ); -AUTO( AutoReadNRI, "nri17_1" , "NI17_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri17_1.nr", [ "NI17_1" ] ); -AUTO( AutoReadNRI, "nri18_1" , "NI18_1" ); -AUTO( AutoReadNRI, "nri18_2" , "NI18_2" ); -AUTO( AutoReadNRI, "nri18_3" , "NI18_3" ); +DeclareAutoreadableVariables("sonata", "nri/nri18_1.nr", [ "NI18_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri18_2.nr", [ "NI18_2" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri18_3.nr", [ "NI18_3" ] ); -AUTO( AutoReadNRI, "nri19_1" , "NI19_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri19_1.nr", [ "NI19_1" ] ); -AUTO( AutoReadNRI, "nri20_1" , "NI20_1" ); -AUTO( AutoReadNRI, "nri20_2" , "NI20_2" ); -AUTO( AutoReadNRI, "nri20_3" , "NI20_3" ); +DeclareAutoreadableVariables("sonata", "nri/nri20_1.nr", [ "NI20_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri20_2.nr", [ "NI20_2" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri20_3.nr", [ "NI20_3" ] ); -AUTO( AutoReadNRI, "nri21_1" , "NI21_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri21_1.nr", [ "NI21_1" ] ); -AUTO( AutoReadNRI, "nri22_1" , "NI22_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri22_1.nr", [ "NI22_1" ] ); -AUTO( AutoReadNRI, "nri23_1" , "NI23_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri23_1.nr", [ "NI23_1" ] ); -AUTO( AutoReadNRI, "nri24_1" , "NI24_1" ); -AUTO( AutoReadNRI, "nri24_2" , "NI24_2" ); -AUTO( AutoReadNRI, "nri24_3" , "NI24_3" ); -AUTO( AutoReadNRI, "nri24_4" , "NI24_4" ); -AUTO( AutoReadNRI, "nri24_5" , "NI24_5" ); -AUTO( AutoReadNRI, "nri24_7" , "NI24_7" ); -AUTO( AutoReadNRI, "nri24_9" , "NI24_9" ); +DeclareAutoreadableVariables("sonata", "nri/nri24_1.nr", [ "NI24_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri24_2.nr", [ "NI24_2" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri24_3.nr", [ "NI24_3" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri24_4.nr", [ "NI24_4" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri24_5.nr", [ "NI24_5" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri24_7.nr", [ "NI24_7" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri24_9.nr", [ "NI24_9" ] ); -AUTO( AutoReadNRI, "nri25_1" , "NI25_1" ); -AUTO( AutoReadNRI, "nri25_2" , "NI25_2" ); +DeclareAutoreadableVariables("sonata", "nri/nri25_1.nr", [ "NI25_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri25_2.nr", [ "NI25_2" ] ); -AUTO( AutoReadNRI, "nri26_1" , "NI26_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri26_1.nr", [ "NI26_1" ] ); -AUTO( AutoReadNRI, "nri27_1" , "NI27_1" ); -AUTO( AutoReadNRI, "nri27_2" , "NI27_2" ); -AUTO( AutoReadNRI, "nri27_3" , "NI27_3" ); -AUTO( AutoReadNRI, "nri27_4" , "NI27_4" ); -AUTO( AutoReadNRI, "nri27_5" , "NI27_5" ); +DeclareAutoreadableVariables("sonata", "nri/nri27_1.nr", [ "NI27_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri27_2.nr", [ "NI27_2" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri27_3.nr", [ "NI27_3" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri27_4.nr", [ "NI27_4" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri27_5.nr", [ "NI27_5" ] ); -AUTO( AutoReadNRI, "nri28_1" , "NI28_1" ); -AUTO( AutoReadNRI, "nri28_2" , "NI28_2" ); -AUTO( AutoReadNRI, "nri28_3" , "NI28_3" ); +DeclareAutoreadableVariables("sonata", "nri/nri28_1.nr", [ "NI28_1" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri28_2.nr", [ "NI28_2" ] ); +DeclareAutoreadableVariables("sonata", "nri/nri28_3.nr", [ "NI28_3" ] ); -AUTO( AutoReadNRI, "nri29_1" , "NI29_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri29_1.nr", [ "NI29_1" ] ); -AUTO( AutoReadNRI, "nri30_1" , "NI30_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri30_1.nr", [ "NI30_1" ] ); -AUTO( AutoReadNRI, "nri31_1" , "NI31_1" ); +DeclareAutoreadableVariables("sonata", "nri/nri31_1.nr", [ "NI31_1" ] ); ############################################################################ ## @@ -405,7 +388,7 @@ i, # help var: a loop variable tfle, # help var: the record that holds the tfl's of the group endos f, # help var: a valid function that represents a class of nr's - vf,endos,g,a,a_inv,h,compute_all, ns, + vf,endos,g,a,a_inv,h,compute_all, mul, # local function: the multiplication of the nearring gens, # generators of group imgs; # images of gens under endomorphisms @@ -421,45 +404,45 @@ n := rec(); n.classes := rec(); if ( Name( group ) = "2/1" ) then - n := NR_C2; ns := "2/1"; + n := NR_C2; elif ( Name( group ) = "3/1" ) then - n := NR_C3; ns := "3/1"; + n := NR_C3; elif ( Name( group ) = "4/1" ) then - n := NR_C4; ns := "4/1"; + n := NR_C4; elif ( Name( group ) = "4/2" ) then - n := NR_V4; ns := "4/2"; + n := NR_V4; elif ( Name( group ) = "5/1" ) then - n := NR_C5; ns := "5/1"; + n := NR_C5; elif ( Name( group ) = "6/1" ) then - n := NR_C6; ns := "6/1"; + n := NR_C6; elif ( Name( group ) = "6/2" ) then - n := NR_S3; ns := "6/2"; + n := NR_S3; elif ( Name( group ) = "7/1" ) then - n := NR_C7; ns := "7/1"; + n := NR_C7; elif ( Name( group ) = "8/1" ) then - n := NR_C8; ns := "8/1"; + n := NR_C8; elif ( Name( group ) = "8/2" ) then - n := NR_C2xC4; ns := "8/2"; + n := NR_C2xC4; elif ( Name( group ) = "8/3" ) then - n := NR_C2xC2xC2; ns := "8/3"; + n := NR_C2xC2xC2; elif ( Name( group ) = "8/4" ) then - n := NR_D8; ns := "8/4"; + n := NR_D8; elif ( Name( group ) = "8/5" ) then - n := NR_Q8; ns := "8/5"; + n := NR_Q8; elif ( Name( group ) = "9/1" ) then - n := NR_C9; ns := "9/1"; + n := NR_C9; elif ( Name( group ) = "9/2" ) then - n := NR_C3xC3; ns := "9/2"; + n := NR_C3xC3; elif ( Name( group ) = "10/1" ) then - n := NR_C10; ns := "10/1"; + n := NR_C10; elif ( Name( group ) = "10/2" ) then - n := NR_D10; ns := "10/2"; + n := NR_D10; elif ( Name( group ) = "11/1" ) then - n := NR_C11; ns := "11/1"; + n := NR_C11; elif ( Name( group ) = "12/1" ) then - n := NR_C12; ns := "12/1"; + n := NR_C12; elif ( Name( group ) = "12/2" ) then - n := NR_C2xC6; ns := "12/2"; + n := NR_C2xC6; elif ( Name( group ) = "12/3" ) then if num in [1..5000] then @@ -481,20 +464,20 @@ elif num in [40001..48137] then n := NR_D12_9; fi; - ns := "12/3"; + elif ( Name( group ) = "12/4" ) then - n := NR_A4; ns := "12/4"; + n := NR_A4; elif ( Name( group ) = "12/5" ) then - n := NR_T; ns := "12/5"; + n := NR_T; elif ( Name( group ) = "13/1" ) then - n := NR_C13; ns := "13/1"; + n := NR_C13; elif ( Name( group ) = "14/1" ) then - n := NR_C14; ns := "14/1"; + n := NR_C14; elif ( Name( group ) = "14/2" ) then - n := NR_D14; ns := "14/2"; + n := NR_D14; elif ( Name( group ) = "15/1" ) then - n := NR_C15; ns := "15/1"; + n := NR_C15; else TryNextMethod(); # Print( "There is no group name '", group, @@ -588,7 +571,7 @@ i, # help var: a loop variable tfle, # help var: the record that holds the tfl's of the group endos f, # help var: a valid function that represents a class of nr's - vf,endos,g,a,a_inv,h,compute_all, ns, + vf,endos,g,a,a_inv,h,compute_all, mul, # local function: the multiplication of the nearring gens, # generators of group imgs, # images of gens under endomorphisms @@ -608,106 +591,106 @@ if ( Name( group ) = "12/3" ) then - n := NI12_3; ns := "12/3"; + n := NI12_3; elif ( Name( group ) = "16/1" ) then - n := NI16_1; ns := "16/1"; + n := NI16_1; elif ( Name( group ) = "16/2" ) then - n := NI16_2; ns := "16/2"; + n := NI16_2; elif ( Name( group ) = "16/3" ) then - n := NI16_3; ns := "16/3"; + n := NI16_3; elif ( Name( group ) = "16/4" ) then - n := NI16_4; ns := "16/4"; + n := NI16_4; elif ( Name( group ) = "16/5" ) then - n := NI16_5; ns := "16/5"; + n := NI16_5; elif ( Name( group ) = "16/6" ) then - n := NI16_6; ns := "16/6"; + n := NI16_6; elif ( Name( group ) = "16/7" ) then - n := NI16_7; ns := "16/7"; + n := NI16_7; elif ( Name( group ) = "16/9" ) then - n := NI16_9; ns := "16/9"; + n := NI16_9; elif ( Name( group ) = "16/10" ) then - n := NI16_10; ns := "16/10"; + n := NI16_10; elif ( Name( group ) = "16/11" ) then - n := NI16_11; ns := "16/11"; + n := NI16_11; elif ( Name( group ) = "17/1" ) then - n := NI17_1; ns := "17/1"; + n := NI17_1; elif ( Name( group ) = "18/1" ) then - n := NI18_1; ns := "18/1"; + n := NI18_1; elif ( Name( group ) = "18/2" ) then - n := NI18_2; ns := "18/2"; + n := NI18_2; elif ( Name( group ) = "18/3" ) then - n := NI18_3; ns := "18/3"; + n := NI18_3; elif ( Name( group ) = "19/1" ) then - n := NI19_1; ns := "19/1"; + n := NI19_1; elif ( Name( group ) = "20/1" ) then - n := NI20_1; ns := "20/1"; + n := NI20_1; elif ( Name( group ) = "20/2" ) then - n := NI20_2; ns := "20/2"; + n := NI20_2; elif ( Name( group ) = "20/3" ) then - n := NI20_3; ns := "20/3"; + n := NI20_3; elif ( Name( group ) = "21/1" ) then - n := NI21_1; ns := "21/1"; + n := NI21_1; elif ( Name( group ) = "22/1" ) then - n := NI22_1; ns := "22/1"; + n := NI22_1; elif ( Name( group ) = "23/1" ) then - n := NI23_1; ns := "23/1"; + n := NI23_1; elif ( Name( group ) = "24/1" ) then - n := NI24_1; ns := "24/1"; + n := NI24_1; elif ( Name( group ) = "24/2" ) then - n := NI24_2; ns := "24/2"; + n := NI24_2; elif ( Name( group ) = "24/3" ) then - n := NI24_3; ns := "24/3"; + n := NI24_3; elif ( Name( group ) = "24/4" ) then - n := NI24_4; ns := "24/4"; + n := NI24_4; elif ( Name( group ) = "24/5" ) then - n := NI24_5; ns := "24/5"; + n := NI24_5; elif ( Name( group ) = "24/7" ) then - n := NI24_7; ns := "24/7"; + n := NI24_7; elif ( Name( group ) = "24/9" ) then - n := NI24_9; ns := "24/9"; + n := NI24_9; elif ( Name( group ) = "25/1" ) then - n := NI25_1; ns := "25/1"; + n := NI25_1; elif ( Name( group ) = "25/2" ) then - n := NI25_2; ns := "25/2"; + n := NI25_2; elif ( Name( group ) = "26/1" ) then - n := NI26_1; ns := "26/1"; + n := NI26_1; elif ( Name( group ) = "27/1" ) then - n := NI27_1; ns := "27/1"; + n := NI27_1; elif ( Name( group ) = "27/2" ) then - n := NI27_2; ns := "27/2"; + n := NI27_2; elif ( Name( group ) = "27/3" ) then - n := NI27_3; ns := "27/3"; + n := NI27_3; elif ( Name( group ) = "27/4" ) then - n := NI27_4; ns := "27/4"; + n := NI27_4; elif ( Name( group ) = "27/5" ) then - n := NI27_5; ns := "27/5"; + n := NI27_5; elif ( Name( group ) = "28/1" ) then - n := NI28_1; ns := "28/1"; + n := NI28_1; elif ( Name( group ) = "28/2" ) then - n := NI28_2; ns := "28/2"; + n := NI28_2; elif ( Name( group ) = "28/3" ) then - n := NI28_3; ns := "28/3"; + n := NI28_3; elif ( Name( group ) = "29/1" ) then - n := NI29_1; ns := "29/1"; + n := NI29_1; elif ( Name( group ) = "30/1" ) then - n := NI30_1; ns := "30/1"; + n := NI30_1; elif ( Name( group ) = "31/1" ) then - n := NI31_1; ns := "31/1"; + n := NI31_1; else Print( "There is no group name '", group, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sonata-2.9.6/lib/readgrps.g new/sonata-2.9.7/lib/readgrps.g --- old/sonata-2.9.6/lib/readgrps.g 2022-12-05 23:57:06.000000000 +0100 +++ new/sonata-2.9.7/lib/readgrps.g 2025-09-23 23:43:53.000000000 +0200 @@ -1,65 +1,59 @@ -GROUP_PATH_NAME := DirectoriesPackageLibrary( "sonata", "grp" ); - -AutoReadTW := function ( name ) - Read( Filename( GROUP_PATH_NAME, Concatenation(name,".def") ) ); -end; - -AUTO( AutoReadTW,"gprime","GTW2_1","GTW3_1","GTW5_1","GTW7_1","GTW11_1", +DeclareAutoreadableVariables("sonata", "grp/gprime.def", [ "GTW2_1","GTW3_1","GTW5_1","GTW7_1","GTW11_1", "GTW13_1","GTW17_1","GTW19_1","GTW23_1","GTW29_1", - "GTW31_1" ); + "GTW31_1" ]); -AUTO( AutoReadTW,"g4","GTW4_1","GTW4_2" ); +DeclareAutoreadableVariables("sonata", "grp/g4.def", [ "GTW4_1","GTW4_2" ]); -AUTO( AutoReadTW,"g6","GTW6_1","GTW6_2" ); +DeclareAutoreadableVariables("sonata", "grp/g6.def", [ "GTW6_1","GTW6_2" ]); -AUTO( AutoReadTW,"g8","GTW8_1","GTW8_2","GTW8_3","GTW8_4","GTW8_5" ); +DeclareAutoreadableVariables("sonata", "grp/g8.def", [ "GTW8_1","GTW8_2","GTW8_3","GTW8_4","GTW8_5" ]); -AUTO( AutoReadTW,"g9","GTW9_1","GTW9_2" ); +DeclareAutoreadableVariables("sonata", "grp/g9.def", [ "GTW9_1","GTW9_2" ]); -AUTO( AutoReadTW,"g10","GTW10_1","GTW10_2" ); +DeclareAutoreadableVariables("sonata", "grp/g10.def", [ "GTW10_1","GTW10_2" ]); -AUTO( AutoReadTW,"g12","GTW12_1","GTW12_2","GTW12_3","GTW12_4","GTW12_5" ); +DeclareAutoreadableVariables("sonata", "grp/g12.def", [ "GTW12_1","GTW12_2","GTW12_3","GTW12_4","GTW12_5" ]); -AUTO( AutoReadTW,"g14","GTW14_1","GTW14_2" ); +DeclareAutoreadableVariables("sonata", "grp/g14.def", [ "GTW14_1","GTW14_2" ]); -AUTO( AutoReadTW,"g15","GTW15_1" ); +DeclareAutoreadableVariables("sonata", "grp/g15.def", [ "GTW15_1" ]); -AUTO( AutoReadTW,"g16","GTW16_1","GTW16_2","GTW16_3","GTW16_4","GTW16_5","GTW16_6", +DeclareAutoreadableVariables("sonata", "grp/g16.def", [ "GTW16_1","GTW16_2","GTW16_3","GTW16_4","GTW16_5","GTW16_6", "GTW16_7","GTW16_8","GTW16_9","GTW16_10","GTW16_11","GTW16_12", - "GTW16_13","GTW16_14" ); + "GTW16_13","GTW16_14" ]); -AUTO( AutoReadTW,"g18","GTW18_1","GTW18_2","GTW18_3","GTW18_4","GTW18_5" ); +DeclareAutoreadableVariables("sonata", "grp/g18.def", [ "GTW18_1","GTW18_2","GTW18_3","GTW18_4","GTW18_5" ]); -AUTO( AutoReadTW,"g20","GTW20_1","GTW20_2","GTW20_3","GTW20_4","GTW20_5" ); +DeclareAutoreadableVariables("sonata", "grp/g20.def", [ "GTW20_1","GTW20_2","GTW20_3","GTW20_4","GTW20_5" ]); -AUTO( AutoReadTW,"g21","GTW21_1","GTW21_2" ); +DeclareAutoreadableVariables("sonata", "grp/g21.def", [ "GTW21_1","GTW21_2" ]); -AUTO( AutoReadTW,"g22","GTW22_1","GTW22_2" ); +DeclareAutoreadableVariables("sonata", "grp/g22.def", [ "GTW22_1","GTW22_2" ]); -AUTO( AutoReadTW,"g24","GTW24_1","GTW24_2","GTW24_3","GTW24_4","GTW24_5","GTW24_6", +DeclareAutoreadableVariables("sonata", "grp/g24.def", [ "GTW24_1","GTW24_2","GTW24_3","GTW24_4","GTW24_5","GTW24_6", "GTW24_7","GTW24_8","GTW24_9","GTW24_10","GTW24_11","GTW24_12", - "GTW24_13","GTW24_14","GTW24_15" ); + "GTW24_13","GTW24_14","GTW24_15" ]); -AUTO( AutoReadTW,"g25","GTW25_1","GTW25_2" ); +DeclareAutoreadableVariables("sonata", "grp/g25.def", [ "GTW25_1","GTW25_2" ]); -AUTO( AutoReadTW,"g26","GTW26_1","GTW26_2" ); +DeclareAutoreadableVariables("sonata", "grp/g26.def", [ "GTW26_1","GTW26_2" ]); -AUTO( AutoReadTW,"g27","GTW27_1","GTW27_2","GTW27_3","GTW27_4","GTW27_5" ); +DeclareAutoreadableVariables("sonata", "grp/g27.def", [ "GTW27_1","GTW27_2","GTW27_3","GTW27_4","GTW27_5" ]); -AUTO( AutoReadTW,"g28","GTW28_1","GTW28_2","GTW28_3","GTW28_4" ); +DeclareAutoreadableVariables("sonata", "grp/g28.def", [ "GTW28_1","GTW28_2","GTW28_3","GTW28_4" ]); -AUTO( AutoReadTW,"g30","GTW30_1","GTW30_2","GTW30_3","GTW30_4" ); +DeclareAutoreadableVariables("sonata", "grp/g30.def", [ "GTW30_1","GTW30_2","GTW30_3","GTW30_4" ]); -AUTO( AutoReadTW,"g32","GTW32_1","GTW32_2","GTW32_3","GTW32_4","GTW32_5" ); -AUTO( AutoReadTW,"g32","GTW32_6","GTW32_7","GTW32_8","GTW32_9","GTW32_10" ); -AUTO( AutoReadTW,"g32","GTW32_11","GTW32_12","GTW32_13","GTW32_14","GTW32_15" ); -AUTO( AutoReadTW,"g32","GTW32_16","GTW32_17","GTW32_18","GTW32_19","GTW32_20" ); -AUTO( AutoReadTW,"g32","GTW32_21","GTW32_22","GTW32_23","GTW32_24","GTW32_25" ); -AUTO( AutoReadTW,"g32","GTW32_26","GTW32_27","GTW32_28","GTW32_29","GTW32_30" ); -AUTO( AutoReadTW,"g32","GTW32_31","GTW32_32","GTW32_33","GTW32_34","GTW32_35" ); -AUTO( AutoReadTW,"g32","GTW32_36","GTW32_37","GTW32_38","GTW32_39","GTW32_40" ); -AUTO( AutoReadTW,"g32","GTW32_41","GTW32_42","GTW32_43","GTW32_44","GTW32_45" ); -AUTO( AutoReadTW,"g32","GTW32_46","GTW32_47","GTW32_48","GTW32_49","GTW32_50" ); -AUTO( AutoReadTW,"g32","GTW32_51" ); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_1","GTW32_2","GTW32_3","GTW32_4","GTW32_5" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_6","GTW32_7","GTW32_8","GTW32_9","GTW32_10" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_11","GTW32_12","GTW32_13","GTW32_14","GTW32_15" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_16","GTW32_17","GTW32_18","GTW32_19","GTW32_20" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_21","GTW32_22","GTW32_23","GTW32_24","GTW32_25" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_26","GTW32_27","GTW32_28","GTW32_29","GTW32_30" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_31","GTW32_32","GTW32_33","GTW32_34","GTW32_35" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_36","GTW32_37","GTW32_38","GTW32_39","GTW32_40" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_41","GTW32_42","GTW32_43","GTW32_44","GTW32_45" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_46","GTW32_47","GTW32_48","GTW32_49","GTW32_50" ]); +DeclareAutoreadableVariables("sonata", "grp/g32.def", [ "GTW32_51" ]); -AUTO( AutoReadTW,"grplist","GroupList"); +DeclareAutoreadableVariables("sonata", "grp/grplist.def", [ "GroupList" ]);
