Basic
Prev | Chapter 11. List of GEL functions | Next

## Basic

AskButtons

      AskButtons (query)

      AskButtons (query, button1, ...)

  Asks a question and presents a list of buttons to the user (or a menu of options in text mode). Returns the 1-based index of the button pressed. That is, returns 1 if the first button was pressed, 2 if the second button was pressed, and so on. If the user closes the window (or simply hits enter in text mode), then `null` is returned. The execution of the program is blocked until the user responds.

  Version 1.0.10 onwards.

AskString

      AskString (query)

      AskString (query, default)

  Asks a question and lets the user enter a string, which it then returns. If the user cancels or closes the window, then `null` is returned. The execution of the program is blocked until the user responds. If `default` is given, then it is pre-typed in for the user to just press enter on (version 1.0.6 onwards).

Compose

      Compose (f,g)

  Compose two functions and return a function that is the composition of `f` and `g`.

ComposePower

      ComposePower (f,n,x)

  Compose and execute a function with itself `n` times, passing `x` as argument. Returning `x` if `n` equals 0. Example:

      genius> function f(x) = x^2 ;
      genius> ComposePower (f,3,7)
      = 5764801
      genius> f(f(f(7)))
      = 5764801

Evaluate

      Evaluate (str)

  Parses and evaluates a string.

GetCurrentModulo

      GetCurrentModulo

  Get current modulo from the context outside the function. That is, if outside of the function was executed in modulo (using `mod`) then this returns what this modulo was. Normally the body of the function called is not executed in modular arithmetic, and this builtin function makes it possible to make GEL functions aware of modular arithmetic.

Identity

      Identity (x)

  Identity function, returns its argument. It is equivalent to `function Identity(x)=x`.

IntegerFromBoolean

      IntegerFromBoolean (bval)

  Make integer (0 for `false` or 1 for `true`) from a boolean value. `bval` can also be a number in which case a non-zero value will be interpreted as `true` and zero will be interpreted as `false`.

IsBoolean

      IsBoolean (arg)

  Check if argument is a boolean (and not a number).

IsDefined

      IsDefined (id)

  Check if an id is defined. You should pass a string or and identifier. If you pass a matrix, each entry will be evaluated separately and the matrix should contain strings or identifiers.

IsFunction

      IsFunction (arg)

  Check if argument is a function.

IsFunctionOrIdentifier

      IsFunctionOrIdentifier (arg)

  Check if argument is a function or an identifier.

IsFunctionRef

      IsFunctionRef (arg)

  Check if argument is a function reference. This includes variable references.

IsMatrix

      IsMatrix (arg)

  Check if argument is a matrix. Even though `null` is sometimes considered an empty matrix, the function `IsMatrix` does not consider `null` a matrix.

IsNull

      IsNull (arg)

  Check if argument is a `null`.

IsString

      IsString (arg)

  Check if argument is a text string.

IsValue

      IsValue (arg)

  Check if argument is a number.

Parse

      Parse (str)

  Parses but does not evaluate a string. Note that certain pre-computation is done during the parsing stage.

SetFunctionFlags

      SetFunctionFlags (id,flags...)

  Set flags for a function, currently `"PropagateMod"` and `"NoModuloArguments"`. If `"PropagateMod"` is set, then the body of the function is evaluated in modular arithmetic when the function is called inside a block that was evaluated using modular arithmetic (using `mod`). If `"NoModuloArguments"`, then the arguments of the function are never evaluated using modular arithmetic.

SetHelp

      SetHelp (id,category,desc)

  Set the category and help description line for a function.

SetHelpAlias

      SetHelpAlias (id,alias)

  Sets up a help alias.

chdir

      chdir (dir)

  Changes current directory, same as the cd.

CurrentTime

      CurrentTime

  Returns the current UNIX time with microsecond precision as a floating point number. That is, returns the number of seconds since January 1st 1970.

  Version 1.0.15 onwards.

display

      display (str,expr)

  Display a string and an expression with a colon to separate them.

DisplayVariables

      DisplayVariables (var1,var2,...)

  Display set of variables. The variables can be given as strings or identifiers. For example:

      DisplayVariables(`x,`y,`z)

  If called without arguments (must supply empty argument list) as

      DisplayVariables()

  then all variables are printed including a stacktrace similar to Show user variables in the graphical version.

  Version 1.0.18 onwards.

error

      error (str)

  Prints a string to the error stream (onto the console).

exit

      exit

  Aliases: `quit`

  Exits the program.

false

      false

  Aliases: `False` `FALSE`

  The `false` boolean value.

manual

      manual

  Displays the user manual.

print

      print (str)

  Prints an expression and then print a newline. The argument `str` can be any expression. It is made into a string before being printed.

printn

      printn (str)

  Prints an expression without a trailing newline. The argument `str` can be any expression. It is made into a string before being printed.

PrintTable

      PrintTable (f,v)

  Print a table of values for a function. The values are in the vector `v`. You can use the vector building notation as follows:

      PrintTable (f,[0:10])

  If `v` is a positive integer, then the table of integers from 1 up to and including v will be used.

  Version 1.0.18 onwards.

protect

      protect (id)

  Protect a variable from being modified. This is used on the internal GEL functions to avoid them being accidentally overridden.

ProtectAll

      ProtectAll ()

  Protect all currently defined variables, parameters and functions from being modified. This is used on the internal GEL functions to avoid them being accidentally overridden. Normally Genius Mathematics Tool considers unprotected variables as user defined.

  Version 1.0.7 onwards.

set

      set (id,val)

  Set a global variable. The `id` can be either a string or a quoted identifier. For example:

      set(`x,1)

  will set the global variable `x` to the value 1.

  The function returns the `val`, to be usable in chaining.

SetElement

      SetElement (id,row,col,val)

  Set an element of a global variable which is a matrix. The `id` can be either a string or a quoted identifier. For example:

      SetElement(`x,2,3,1)

  will set the second row third column element of the global variable `x` to the value 1. If no global variable of the name exists, or if it is set to something that's not a matrix, a new zero matrix of appropriate size will be created.

  The `row` and `col` can also be ranges, and the semantics are the same as for regular setting of the elements with an equals sign.

  The function returns the `val`, to be usable in chaining.

  Available from 1.0.18 onwards.

SetVElement

      SetElement (id,elt,val)

  Set an element of a global variable which is a vector. The `id` can be either a string or a quoted identifier. For example:

      SetElement(`x,2,1)

  will set the second element of the global vector variable `x` to the value 1. If no global variable of the name exists, or if it is set to something that's not a vector (matrix), a new zero row vector of appropriate size will be created.

  The `elt` can also be a range, and the semantics are the same as for regular setting of the elements with an equals sign.

  The function returns the `val`, to be usable in chaining.

  Available from 1.0.18 onwards.

string

      string (s)

  Make a string. This will make a string out of any argument.

true

      true

  Aliases: `True` `TRUE`

  The `true` boolean value.

undefine

      undefine (id)

  Alias: `Undefine`

  Undefine a variable. This includes locals and globals, every value on all context levels is wiped. This function should really not be used on local variables. A vector of identifiers can also be passed to undefine several variables.

UndefineAll

      UndefineAll ()

  Undefine all unprotected global variables (including functions and parameters). Normally Genius Mathematics Tool considers protected variables as system defined functions and variables. Note that `UndefineAll` only removes the global definition of symbols not local ones, so that it may be run from inside other functions safely.

  Version 1.0.7 onwards.

unprotect

      unprotect (id)

  Unprotect a variable from being modified.

UserVariables

      UserVariables ()

  Return a vector of identifiers of user defined (unprotected) global variables.

  Version 1.0.7 onwards.

wait

      wait (secs)

  Waits a specified number of seconds. `secs` must be non-negative. Zero is accepted and nothing happens in this case, except possibly user interface events are processed.

  Since version 1.0.18, `secs` can be a noninteger number, so `wait(0.1)` will wait for one tenth of a second.

version

      version

  Returns the version of Genius as a horizontal 3-vector with major version first, then minor version and finally the patch level.

warranty

      warranty

  Gives the warranty information.

Prev | Up | Next
Chapter 11. List of GEL functions | Home | Parameters