  
  [1X15 [33X[0;0YMiscellaneous functions[133X[101X
  
  [33X[0;0YThe  behaviour  of [5Xsimpcomp[105X can be changed by setting cetain global options.
  This can be achieved by the functions described in the following.[133X
  
  
  [1X15.1 [33X[0;0Y[5Xsimpcomp[105X[101X[1X logging[133X[101X
  
  [33X[0;0YThe  verbosity  of  the  output of information to the screen during calls to
  functions  of  the  package  [5Xsimpcomp[105X  can be controlled by setting the info
  level parameter via the function [2XSCInfoLevel[102X ([14X15.1-1[114X).[133X
  
  [1X15.1-1 SCInfoLevel[101X
  
  [29X[2XSCInfoLevel[102X( [3Xlevel[103X ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X[133X
  
  [33X[0;0YSets  the logging verbosity of [5Xsimpcomp[105X. A level of [22X0[122X suppresses all output,
  a level of [22X1[122X lets [5Xsimpcomp[105X output normal running information, whereas levels
  of  [22X2[122X  and higher display verbose running information. Examples of functions
  using more verbose logging are bistellar flip-related functions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSCInfoLevel(3);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xc:=SCBdCrossPolytope(3);;[127X[104X
    [4X[25Xgap>[125X [27XSCReduceComplex(c); [127X[104X
    [4X[28X#I  round 0, move: [ [ 4, 5 ], [ 1, 2 ] ][128X[104X
    [4X[28XF: [ 6, 12, 8 ][128X[104X
    [4X[28X#I  round 1, move: [ [ 5 ], [ 1, 2, 3 ] ][128X[104X
    [4X[28XF: [ 5, 9, 6 ][128X[104X
    [4X[28X#I  round 1[128X[104X
    [4X[28XReduced complex, F: [ 5, 9, 6 ][128X[104X
    [4X[28X#I  round 2, move: [ [ 3 ], [ 1, 2, 6 ] ][128X[104X
    [4X[28XF: [ 4, 6, 4 ][128X[104X
    [4X[28X#I  round 2[128X[104X
    [4X[28XReduced complex, F: [ 4, 6, 4 ][128X[104X
    [4X[28X#I  SCReduceComplexEx: computed locally minimal complex after 3 rounds.[128X[104X
    [4X[28X[ true, [SimplicialComplex[128X[104X
    [4X[28X    [128X[104X
    [4X[28X     Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X
    [4X[28X    [128X[104X
    [4X[28X     Name="unnamed complex 3"[128X[104X
    [4X[28X     Dim=2[128X[104X
    [4X[28X    [128X[104X
    [4X[28X    /SimplicialComplex], 3 ][128X[104X
  [4X[32X[104X
  
  
  [1X15.2 [33X[0;0YEmail notification system[133X[101X
  
  [33X[0;0Y[5Xsimpcomp[105X  comes with an email notification system that can be used for being
  notified of the progress of lengthy computations (such as reducing a complex
  via  bistellar  flips). See below for a description of the mail notification
  related functions. Note that this might not work on non-Unix systems.[133X
  
  [33X[0;0YSee  [2XSCReduceComplexEx[102X  ([14X9.2-14[114X)  for an example computation using the email
  notification system.[133X
  
  [1X15.2-1 SCMailClearPending[101X
  
  [29X[2XSCMailClearPending[102X(  ) [32X function
  [6XReturns:[106X  [33X[0;10Ynothing.[133X
  
  [33X[0;0YClears a pending mail message.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailClearPending();[128X[104X
    [4X[28X [128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-2 SCMailIsEnabled[101X
  
  [29X[2XSCMailIsEnabled[102X(  ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YReturns [9Xtrue[109X when the mail notification system of [5Xsimpcomp[105X is enabled, [9Xfalse[109X
  otherwise. Default setting is [9Xfalse[109X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailSetAddress("johndoe@somehost"); #enables mail notification[128X[104X
    [4X[28X true[128X[104X
    [4X[28X gap> SCMailIsEnabled();[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-3 SCMailIsPending[101X
  
  [29X[2XSCMailIsPending[102X(  ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YReturns  [9Xtrue[109X  when  an  email  of the [5Xsimpcomp[105X email notification system is
  pending, [9Xfalse[109X otherwise.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailIsPending();[128X[104X
    [4X[28X false[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-4 SCMailSend[101X
  
  [29X[2XSCMailSend[102X( [3Xmessage[103X[, [3Xstarttime[103X][, [3Xforcesend[103X] ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X  when  the  message  was sent, [9Xfalse[109X if it was not send, [9Xfail[109X
            upon an error.[133X
  
  [33X[0;0YTries to send an email to the address specified by [2XSCMailSetAddress[102X ([14X15.2-6[114X)
  using  the Unix program [10Xmail[110X. The optional parameter [3Xstarttime[103X specifies the
  starting  time  (as  the  integer  Unix timestamp) a calculation was started
  (then  the  duration  of  the  calculation  is  included  in the email), the
  optional  boolean parameter [3Xforcesend[103X can be used to force the sending of an
  email,  even  if  this  violates  the  minimal  email  sending interval, see
  [2XSCMailSetMinInterval[102X ([14X15.2-8[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailSetAddress("johndoe@somehost"); #enables mail notification[128X[104X
    [4X[28X true[128X[104X
    [4X[28X gap> SCMailIsEnabled();[128X[104X
    [4X[28X true[128X[104X
    [4X[28X gap> SCMailSend("Hello, this is simpcomp.");[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-5 SCMailSendPending[101X
  
  [29X[2XSCMailSendPending[102X(  ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YTries  to  send  a  pending email of the [5Xsimpcomp[105X email notification system.
  Returns [9Xtrue[109X on success or if there was no mail pending.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailSendPending();[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-6 SCMailSetAddress[101X
  
  [29X[2XSCMailSetAddress[102X( [3Xaddress[103X ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YSets the email address that should be used to send notification messages and
  enables   the   mail   notification   system   by  calling  [2XSCMailSetEnabled[102X
  ([14X15.2-7[114X)([9Xtrue[109X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailSetAddress("johndoe@somehost");[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-7 SCMailSetEnabled[101X
  
  [29X[2XSCMailSetEnabled[102X( [3Xflag[103X ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YEnables  or disables the mail notification system of [5Xsimpcomp[105X. By default it
  is  disabled.  Returns  [9Xfail[109X  if  no  email  message was previously set with
  [2XSCMailSetAddress[102X ([14X15.2-6[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailSetAddress("johndoe@somehost"); #enables mail notification[128X[104X
    [4X[28X true[128X[104X
    [4X[28X gap> SCMailSetEnabled(false);[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [1X15.2-8 SCMailSetMinInterval[101X
  
  [29X[2XSCMailSetMinInterval[102X( [3Xinterval[103X ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YSets  the minimal time interval in seconds that mail messages can be sent by
  [5Xsimpcomp[105X.  This  prevents  a  flooding  of  the specified email address with
  messages sent by [5Xsimpcomp[105X. Default is 3600, i.e. one hour.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCMailSetMinInterval(7200);[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  
  [1X15.3 [33X[0;0YTesting the functionality of [5Xsimpcomp[105X[101X[1X[133X[101X
  
  [33X[0;0Y[5Xsimpcomp[105X  makes  use of the [5XGAP[105X internal testing mechanisms and provides the
  user with a function to test the functionality of the package.[133X
  
  [1X15.3-1 SCRunTest[101X
  
  [29X[2XSCRunTest[102X(  ) [32X function
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X upon success, [9Xfail[109X otherwise.[133X
  
  [33X[0;0YTest    whether    the   package   [5Xsimpcomp[105X   is   functional   by   calling
  [10XTest("GAPROOT/pkg/simpcomp/tst/simpcomp.tst",rec(compareFunction          :=
  "uptowhitespace"));[110X.  The  returned value of GAP4stones is a measure of your
  system performance and differs from system to system.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X gap> SCRunTest();[128X[104X
    [4X[28X simpcomp package test[128X[104X
    [4X[28X GAP4stones: 69463[128X[104X
    [4X[28X true[128X[104X
    [4X[28X [128X[104X
  [4X[32X[104X
  
  [33X[0;0YOn  a  modern computer, the function [10XSCRunTest[110X should take about a minute to
  complete   when  the  packages  [5XGRAPE[105X  [Soi12]  and  [5Xhomology[105X  [DHSW11]  are
  available.  If  these  packages  are missing, the testing will take slightly
  longer.[133X
  
