1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /Runtime.texi/1.21/Sat Jun 9 01:31:20 2007/-ko/
4 * Introdução a Ambiente em Tempo de Execução::
6 * Funções e Variáveis Definidas para Ambiente em Tempo de Execução::
10 @node Introdução a Ambiente em Tempo de Execução, Interrupções, Ambiente em Tempo de Execução, Ambiente em Tempo de Execução
11 @section Introdução a Ambiente em Tempo de Execução
12 @c THIS DISCUSSION OF maxima-init.mac REPLACES AN EARLIER WRITE-UP. !!!
13 @c HOWEVER IT SEEMS THAT THIS TEXT REALLY WANTS TO BE UNDER A DIFFERENT HEADING. !!!
14 @code{maxima-init.mac} é um arquivo que é chamado automaticamente quando o Maxima inicia.
15 Você pode usar @code{maxima-init.mac} para personalizar seu ambiente Maxima.
16 @code{maxima-init.mac}, se existir, é tipicamente colocado no
17 diretório chamado por @code{maxima_userdir},
18 embora possa estar em qualquer outro diretório procurado pela função @code{file_search}.
20 Aqui está um exemplo do arquivo @code{maxima-init.mac}:
23 setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p);
27 Nesse Exemplo, @code{setup_autoload} diz ao Maxima para chamar o
29 (@code{specfun.mac}) se qualquer das funções (@code{ultraspherical},
30 @code{assoc_legendre_p}) forem chamadas sem estarem definidas.
31 Dessa forma você não precisa lembrar de chamar o arquivo antes das funções.
33 A declaração @code{showtime: all} diz ao Maxima escolher a variável @code{showtime}.
34 O arquivo @code{maxima-init.mac} pode conter qualquer outras atribuições ou
35 outras declarações do Maxima.
37 @node Interrupções, Funções e Variáveis Definidas para Ambiente em Tempo de Execução, Introdução a Ambiente em Tempo de Execução, Ambiente em Tempo de Execução
40 O usuário pode parar uma computação que consome muito tempo com o
41 caractere ^C (control-C).
42 A ação padrão é parar a computação
43 e mostrar outra linha de comando do usuário.
44 Nesse caso, não é possível continuar a computação interrompida.
46 Se a variável Lisp @code{*debugger-hook*} é escolhida para @code{nil}, através do comando
49 :lisp (setq *debugger-hook* nil)
53 então na ocasião do recebimento do ^C, Maxima iniciará o depurador Lisp,
54 e o usuário pode usar o depurador para inspecionar o ambiente Lisp.
55 A computação interrompida pode ser retomada através do comando
56 @code{continue} no depurador Lisp.
57 O método de retorno para ao Maxima partindo do depurador Lisp
58 (outro como executando a computação para complementação)
59 é diferente para cada versão do Lisp.
61 Em sistemas Unix, o caratere ^Z (control-Z) faz com que Maxima
62 pare tudo e aguarde em segundo plano, e o controle é retornado para a linha de comando do shell.
63 O comando @code{fg} faz com que o Maxima
64 retorne ao primeiro plano e continue a partir do ponto no qual foi interrompido.
66 @c end concepts Ambiente em Tempo de Execução
67 @node Funções e Variáveis Definidas para Ambiente em Tempo de Execução, , Interrupções, Ambiente em Tempo de Execução
68 @section Funções e Variáveis Definidas para Ambiente em Tempo de Execução
70 @c NEEDS EXPANSION AND CLARIFICATION
71 @defvr {Declaração} feature
72 Maxima compreende dois tipos distintos de recurso,
73 recursos do sistema e recursos aplicados a expressões matemáticas.
74 Veja Também @code{status} para informações sobre recursos do sistema.
75 Veja Também @code{features} e @code{featurep} para informações sobre recursos matemáticos.
76 @c PROPERTIES, DECLARATIONS FALL UNDER THIS HEADING AS WELL
79 @code{feature} por si mesmo não é o nome de uma função ou variável.
83 @c NEEDS CLARIFICATION, ESPECIALLY WRT THE EXTENT OF THE FEATURE SYSTEM
84 @c (I.E. WHAT KINDS OF THINGS ARE FEATURES ACCORDING TO featurep)
85 @deffn {Função} featurep (@var{a}, @var{f})
86 Tenta determinar se o objeto @var{a} tem o
87 recurso @var{f} na base dos fatos dentro base de dados corrente. Se possue,
88 é retornado @code{true}, de outra forma é retornado @code{false}.
90 Note que @code{featurep} retorna @code{false} quando nem @var{f}
91 nem a negação de @var{f} puderem ser estabelecidas.
93 @code{featurep} avalia seus argumentos.
95 Veja também @code{declare} e @code{features}.
98 (%i1) declare (j, even)$
99 (%i2) featurep (j, integer);
105 @defvr {Variável de sistema} maxima_tempdir
107 @code{maxima_tempdir} nomeia o diretório no qual Maxima cria alguns arquivos temporários.
108 Em particular, arquivos temporários para impressão são criados no @code{maxima_tempdir}.
110 O valor inicial de @code{maxima_tempdir} é o diretório do usuário,
111 se o maxima puder localizá-lo; de outra forma Maxima supõe um diretório adequado.
113 A @code{maxima_tempdir} pode ser atribuído uma seq@"{u}ência de caracteres que corresponde a um diretório.
117 @defvr {Variável de sistema} maxima_userdir
119 @code{maxima_userdir} nomeia um diretório no qual Maxima espera encontrar seus próprios arquivos e os do arquivos do Lisp.
120 (Maxima procura em alguns outros diretórios também;
121 @code{file_search_maxima} e @code{file_search_lisp} possuem a lista completa.)
123 O valor inicial de @code{maxima_userdir} é um subdiretório do diretório do usuário,
124 se Maxima puder localizá-lo; de outra forma Maxima supõe um diretório adequado.
126 A @code{maxima_userdir} pode ser atribuído uma seq@"{u}ência de caracteres que corresponde a um diretório.
127 Todavia, fazendo uma atribuição a @code{maxima_userdir} não muda automaticamente o valor de
128 @code{file_search_maxima} e de @code{file_search_lisp};
129 Essas variáveis devem ser modificadas separadamente.
133 @deffn {Função} room ()
134 @deffnx {Função} room (true)
135 @deffnx {Função} room (false)
136 Mostra uma descrição do estado de armazenamento e
137 gerenciamento de pilha no Maxima. @code{room} chama a função Lisp de
142 @code{room ()} mostra uma descrição moderada.
144 @code{room (true)} mostra uma descrição detalhada.
146 @code{room (false)} mostra uma descrição resumida.
151 @deffn {Função} status (feature)
152 @deffnx {Função} status (feature, @var{recurso_ativo})
153 @deffnx {Função} status (status)
154 Retorna informações sobre a presença ou ausência de certos
155 recursos dependentes do sistema operacional.
159 @code{status (feature)} retorna uma lista dos recursos do sistema.
160 Inclui a versão do Lisp, tipo de sistema operacional, etc.
161 A lista pode variar de um tipo de Lisp para outro.
162 @item @code{status (feature, @var{recurso_ativo})} retorna @code{true} se @var{recurso_ativo}
163 está na lista de ítens retornada através de @code{status (feature)} e @code{false} de outra forma.
164 @code{status} não avalia o argumento @var{recurso_ativo}.
165 O operador apóstrofo-apóstrofo, @code{'@w{}'}, evita a avaliação.
166 Um recurso cujo nome contém um caractere especial, tal como um hífem,
167 deve ser fornecido como um argumento em forma de seq@"{u}ência de caracteres. Por Exemplo,
168 @code{status (feature, "ansi-cl")}.
170 @code{status (status)} retorna uma lista de dois elementos @code{[feature, status]}.
171 @code{feature} e @code{status} são dois argumentos aceitos pela função @code{status};
172 Não está claro se essa lista tem significância adicional.
175 A variável @code{features} contém uma lista de recursos que se aplicam a
176 expressões matemáticas. Veja @code{features} e @code{featurep} para maiores informações.
180 @deffn {Função} time (%o1, %o2, %o3, ...)
181 Retorna uma lista de tempos, em segundos, usados para calcular as linhas
182 de saída @code{%o1}, @code{%o2}, @code{%o3}, .... O tempo retornado é uma estimativa do Maxima do
183 tempo interno de computação, não do tempo decorrido. @code{time} pode somente
184 ser aplicado a variáveis(rótulos) de saída de linha; para quaisquer outras variáveis, @code{time}
185 retorna @code{unknown} (tempo desconhecido).
187 Escolha @code{showtime: true} para fazer com que Maxima moste o tempo de computação
188 e o tempo decorrido a cada linha de saída.
192 @deffn {Função} timedate ()
193 Retorna uma seq@"{u}ência de caracteres representando a data e hora atuais.
194 A seq@"{u}ência de caracteres tem o formato @code{HH:MM:SS Dia, mm/dd/aaaa (GMT-n)},
196 horas, minutos, segundos, dia da semana, mês, dia do mês, ano, e horas que diferem da hora GMT.
198 O valor de retorno é uma seq@"{u}ência de caracteres Lisp.
204 @c print ("timedate mostra o tempo atual", d)$
207 (%i1) d: timedate ();
208 (%o1) 08:05:09 Wed, 11/02/2005 (GMT-7)
209 (%i2) print ("timedate mostra o tempo atual", d)$
210 timedate reports current time 08:05:09 Wed, 11/02/2005 (GMT-7)
215 @deffn {Função} absolute_real_time ()
217 Retorna o número de segundos desde a meia noite do dia primeiro de janeiro de 1900 (UTC).
218 O valor de retorno é um inteiro.
220 Veja também @code{elapsed_real_time} e @code{elapsed_run_time}.
225 @c absolute_real_time ();
226 @c 1900 + absolute_real_time () / (365.25 * 24 * 3600);
229 (%i1) absolute_real_time ();
231 (%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600);
232 (%o2) 2007.265612087104
237 @deffn {Função} elapsed_real_time ()
239 Retorna o n;umero de segundos (incluindo frações de segundo)
240 desde que Maxima tenha sido recentemente iniciado ou reiniciado.
241 O valor de retorno é um número em ponto flutuante.
243 Veja também @code{absolute_real_time} e @code{elapsed_run_time}.
248 @c elapsed_real_time ();
249 @c expand ((a + b)^500)$
250 @c elapsed_real_time ();
253 (%i1) elapsed_real_time ();
255 (%i2) expand ((a + b)^500)$
256 (%i3) elapsed_real_time ();
262 @deffn {Função} elapsed_run_time ()
264 Retorna uma estimativa do número de segundos (incluindo frações de segundo)
265 que o Maxima gastou em computações desde que Maxima tenha sido recentemente iniciado ou reiniciado.
266 O valor de retorno é um número em ponto flutuante.
268 Veja também @code{absolute_real_time} e @code{elapsed_real_time}.
273 @c elapsed_run_time ();
274 @c expand ((a + b)^500)$
275 @c elapsed_run_time ();
278 (%i1) elapsed_run_time ();
280 (%i2) expand ((a + b)^500)$
281 (%i3) elapsed_run_time ();