Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
python_coupling [2020/02/18 10:27]
argemiro
python_coupling [2020/02/18 19:15] (current)
hermann
Line 1: Line 1:
 +{{ :​logo_logo.png?​400 |}}
 +\\
 +\\
 ====== Dinamica EGO and Python Coupling ====== ====== Dinamica EGO and Python Coupling ======
  
-O suporte ao Python ​(atualmente na versão 3.7) está presente no ramo "​Python"​ nos repositórios (em cima do ramo "​Tasks"​). Para compilar o ramo, é necessário ter as dependências do Python no dff_dependencies_windows. A versão contendo as dependências pode ser baixada em [[http://​csr.ufmg.br/​~romulo/​dff_dependencies_windows_python.7z]]. Para execução, é necessário ter a pasta "​PyEnvironment"​ dentro da pasta do Dinamica, o PyEnvironment também pode ser obtido em [[http://​csr.ufmg.br/​~romulo/​PyEnvironment.7z]]. ​+=== Example: Calculate ​Python ​Expression ===
  
-=== Exemplo: Calculate Python Expression === +An expression that can be used:
- +
-Uma expressão que pode ser usada:+
 <​code>​ <​code>​
 dinamica.package("​numpy"​) dinamica.package("​numpy"​)
Line 27: Line 28:
 </​code>​ </​code>​
  
-onde:+where:
 <​code>​ <​code>​
 dinamica.package("​numpy"​) dinamica.package("​numpy"​)
 </​code>​ </​code>​
-Pede ao PIP que instale o pacote ​numpy e faça o import.+Ask the PIP to install the numpy package and import ​it:
 \\  \\ 
 <​code>​ <​code>​
 print(dinamica.inputs) print(dinamica.inputs)
 </​code>​ </​code>​
-Imprime o vetor com todas as entradas passadas pelo Dinamica.+Prints the vector with all the entries passed by Dinamica:
 \\  \\ 
 <​code>​ <​code>​
 dinamica.outputs["​teste2"​] = 2.5 dinamica.outputs["​teste2"​] = 2.5
 </​code>​ </​code>​
-Coloca uma saída na struct ​com nome "teste2", ​contendo uma double ​com valor 2.5+Place an output in the struct ​named "test2", ​containing a double ​with a value of 2.5:
 \\  \\ 
 <​code>​ <​code>​
 dinamica.outputs["​tabela"​] = dinamica.prepareTable(dinamica.inputs["​t1"​],​ 3) dinamica.outputs["​tabela"​] = dinamica.prepareTable(dinamica.inputs["​t1"​],​ 3)
 </​code>​ </​code>​
-Coloca uma saída na struct ​com nome "tabela", ​contendo uma tabela com colunas de chaveEssa função não é necessária se a tabela já estiver com os '​*' ​nos nomes da coluna ​(portanto o usuário poderia fazer apenas ​dinamica.outputs["​teste2"​] = dinamica.inputs["​t1"​]). ​Toda tabela no Python ​é tratada como uma lista de listasonde cada lista interna corresponde ​uma **linha** da tabela.+Place an output in the struct ​named "table", ​containing a table with key columnsThis function is not necessary if the table already has '​*' ​in the column names (so the user could only do dinamica.outputs ["​teste2"​] = dinamica.inputs ["​t1"​]). ​Every table in Python ​is treated as a list of listswhere each internal list corresponds to a ** row ** of the table:
 \\  \\ 
 <​code>​ <​code>​
 dinamica.outputs["​lut"​] = dinamica.prepareLookupTable(dinamica.inputs["​t2"​]) dinamica.outputs["​lut"​] = dinamica.prepareLookupTable(dinamica.inputs["​t2"​])
 </​code>​ </​code>​
-Coloca uma saída na struct ​com nome "​lut", ​contendo uma LookupTable (Não existe outra forma de passar uma LookupTable ​de volta).+Put an output in the struct ​named "​lut", ​containing a LookupTable (There is no other way to pass a LookupTable ​back):
  
 ---- ----