Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
trs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
trs
Commits
3c4c11f6
Commit
3c4c11f6
authored
Jun 04, 2012
by
Sander Mathijs van Veen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add AGPLv3 header to all source files.
parent
3f3dad73
Changes
63
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
63 changed files
with
1529 additions
and
1 deletion
+1529
-1
COPYING
COPYING
+661
-0
external/__init__.py
external/__init__.py
+14
-0
main.py
main.py
+14
-0
src/__init__.py
src/__init__.py
+14
-0
src/backend/__init__.py
src/backend/__init__.py
+14
-0
src/backend/backend.py
src/backend/backend.py
+14
-0
src/default_config.py
src/default_config.py
+14
-0
src/logger.py
src/logger.py
+14
-0
src/node.py
src/node.py
+14
-0
src/parser.py
src/parser.py
+14
-0
src/possibilities.py
src/possibilities.py
+14
-0
src/rules/__init__.py
src/rules/__init__.py
+14
-0
src/rules/absolute.py
src/rules/absolute.py
+14
-0
src/rules/derivatives.py
src/rules/derivatives.py
+14
-0
src/rules/factors.py
src/rules/factors.py
+14
-0
src/rules/fractions.py
src/rules/fractions.py
+14
-0
src/rules/goniometry.py
src/rules/goniometry.py
+14
-0
src/rules/groups.py
src/rules/groups.py
+14
-0
src/rules/integrals.py
src/rules/integrals.py
+14
-0
src/rules/lineq.py
src/rules/lineq.py
+14
-0
src/rules/logarithmic.py
src/rules/logarithmic.py
+14
-0
src/rules/negation.py
src/rules/negation.py
+14
-0
src/rules/numerics.py
src/rules/numerics.py
+14
-0
src/rules/powers.py
src/rules/powers.py
+14
-0
src/rules/precedences.py
src/rules/precedences.py
+14
-0
src/rules/sort.py
src/rules/sort.py
+14
-0
src/rules/sqrt.py
src/rules/sqrt.py
+14
-0
src/rules/utils.py
src/rules/utils.py
+14
-0
src/strategy.py
src/strategy.py
+14
-0
src/translate.py
src/translate.py
+14
-0
src/validation.py
src/validation.py
+14
-0
test.py
test.py
+14
-0
tests/__init__.py
tests/__init__.py
+14
-0
tests/parser.py
tests/parser.py
+14
-0
tests/rulestestcase.py
tests/rulestestcase.py
+14
-0
tests/test_b1_ch08.py
tests/test_b1_ch08.py
+14
-0
tests/test_b1_ch10.py
tests/test_b1_ch10.py
+14
-0
tests/test_calc.py
tests/test_calc.py
+14
-0
tests/test_exception.py
tests/test_exception.py
+14
-1
tests/test_leiden_oefenopgave.py
tests/test_leiden_oefenopgave.py
+14
-0
tests/test_leiden_oefenopgave_v12.py
tests/test_leiden_oefenopgave_v12.py
+14
-0
tests/test_node.py
tests/test_node.py
+14
-0
tests/test_parser.py
tests/test_parser.py
+14
-0
tests/test_possibilities.py
tests/test_possibilities.py
+14
-0
tests/test_rewrite.py
tests/test_rewrite.py
+14
-0
tests/test_rules_absolute.py
tests/test_rules_absolute.py
+14
-0
tests/test_rules_derivatives.py
tests/test_rules_derivatives.py
+14
-0
tests/test_rules_factors.py
tests/test_rules_factors.py
+14
-0
tests/test_rules_fractions.py
tests/test_rules_fractions.py
+14
-0
tests/test_rules_goniometry.py
tests/test_rules_goniometry.py
+14
-0
tests/test_rules_groups.py
tests/test_rules_groups.py
+14
-0
tests/test_rules_integrals.py
tests/test_rules_integrals.py
+14
-0
tests/test_rules_lineq.py
tests/test_rules_lineq.py
+14
-0
tests/test_rules_logarithmic.py
tests/test_rules_logarithmic.py
+14
-0
tests/test_rules_negation.py
tests/test_rules_negation.py
+14
-0
tests/test_rules_numerics.py
tests/test_rules_numerics.py
+14
-0
tests/test_rules_powers.py
tests/test_rules_powers.py
+14
-0
tests/test_rules_sort.py
tests/test_rules_sort.py
+14
-0
tests/test_rules_sqrt.py
tests/test_rules_sqrt.py
+14
-0
tests/test_rules_utils.py
tests/test_rules_utils.py
+14
-0
tests/test_strategy.py
tests/test_strategy.py
+14
-0
tests/test_validation.py
tests/test_validation.py
+14
-0
utils/view_profile.py
utils/view_profile.py
+14
-0
No files found.
COPYING
0 → 100644
View file @
3c4c11f6
This diff is collapsed.
Click to expand it.
external/__init__.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
main.py
100755 → 100644
View file @
3c4c11f6
#!/usr/bin/python
#!/usr/bin/python
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
"""
"""
Shell front-end for the mathematical term rewriting system. This shell will
Shell front-end for the mathematical term rewriting system. This shell will
parse mathematical expressions into an expression tree, produce possible
parse mathematical expressions into an expression tree, produce possible
...
...
src/__init__.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
src/backend/__init__.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
src/backend/backend.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
tornado.web
import
RequestHandler
,
Application
from
tornado.web
import
RequestHandler
,
Application
from
src.parser
import
Parser
from
src.parser
import
Parser
...
...
src/default_config.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
# Error/debug/information logging facilities.
# Error/debug/information logging facilities.
LOG_FILE
=
'engine.log'
LOG_FILE
=
'engine.log'
LOG_FORMAT
=
'%(asctime)s %(name)-15s %(message)s'
LOG_FORMAT
=
'%(asctime)s %(name)-15s %(message)s'
src/logger.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
logging
import
logging
import
logging.config
import
logging.config
import
sys
import
sys
...
...
src/node.py
View file @
3c4c11f6
# vim: set fileencoding=utf-8 :
# vim: set fileencoding=utf-8 :
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
os.path
import
os.path
import
sys
import
sys
import
copy
import
copy
...
...
src/parser.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
"""
"""
This parser will parse the given input and build an expression tree. Grammar
This parser will parse the given input and build an expression tree. Grammar
file for the supported mathematical expressions.
file for the supported mathematical expressions.
...
...
src/possibilities.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
node
import
TYPE_OPERATOR
from
node
import
TYPE_OPERATOR
import
re
import
re
...
...
src/rules/__init__.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
..node
import
OP_ADD
,
OP_MUL
,
OP_DIV
,
OP_POW
,
OP_NEG
,
OP_SIN
,
OP_COS
,
\
from
..node
import
OP_ADD
,
OP_MUL
,
OP_DIV
,
OP_POW
,
OP_NEG
,
OP_SIN
,
OP_COS
,
\
OP_TAN
,
OP_DER
,
OP_LOG
,
OP_INT
,
OP_INT_INDEF
,
OP_EQ
,
OP_ABS
,
OP_SQRT
,
\
OP_TAN
,
OP_DER
,
OP_LOG
,
OP_INT
,
OP_INT_INDEF
,
OP_EQ
,
OP_ABS
,
OP_SQRT
,
\
OP_AND
,
OP_OR
OP_AND
,
OP_OR
...
...
src/rules/absolute.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
.utils
import
evals_to_numeric
from
.utils
import
evals_to_numeric
from
..node
import
OP_ABS
,
OP_SQRT
,
OP_MUL
,
OP_POW
,
Scope
,
absolute
,
sqrt
from
..node
import
OP_ABS
,
OP_SQRT
,
OP_MUL
,
OP_POW
,
Scope
,
absolute
,
sqrt
from
..possibilities
import
Possibility
as
P
,
MESSAGES
from
..possibilities
import
Possibility
as
P
,
MESSAGES
...
...
src/rules/derivatives.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
.utils
import
find_variables
,
first_sorted_variable
from
.utils
import
find_variables
,
first_sorted_variable
from
..node
import
ExpressionLeaf
as
L
,
Scope
,
OP_DER
,
OP_MUL
,
OP_LOG
,
\
from
..node
import
ExpressionLeaf
as
L
,
Scope
,
OP_DER
,
OP_MUL
,
OP_LOG
,
\
OP_SIN
,
OP_COS
,
OP_TAN
,
OP_ADD
,
OP_DIV
,
E
,
sin
,
cos
,
der
,
ln
OP_SIN
,
OP_COS
,
OP_TAN
,
OP_ADD
,
OP_DIV
,
E
,
sin
,
cos
,
der
,
ln
...
...
src/rules/factors.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
product
from
itertools
import
product
from
.utils
import
is_numeric_node
from
.utils
import
is_numeric_node
...
...
src/rules/fractions.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
combinations
,
product
,
ifilterfalse
from
itertools
import
combinations
,
product
,
ifilterfalse
from
.utils
import
least_common_multiple
,
partition
,
is_numeric_node
,
\
from
.utils
import
least_common_multiple
,
partition
,
is_numeric_node
,
\
...
...
src/rules/goniometry.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
permutations
from
itertools
import
permutations
from
..node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
OP_ADD
,
OP_MUL
,
\
from
..node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
OP_ADD
,
OP_MUL
,
\
...
...
src/rules/groups.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
combinations
from
itertools
import
combinations
from
.utils
import
evals_to_numeric
from
.utils
import
evals_to_numeric
...
...
src/rules/integrals.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
.utils
import
find_variables
,
substitute
,
find_variable
from
.utils
import
find_variables
,
substitute
,
find_variable
from
..node
import
ExpressionLeaf
as
L
,
OP_INT
,
OP_INT_INDEF
,
OP_MUL
,
OP_DIV
,
\
from
..node
import
ExpressionLeaf
as
L
,
OP_INT
,
OP_INT_INDEF
,
OP_MUL
,
OP_DIV
,
\
OP_LOG
,
OP_SIN
,
OP_COS
,
Scope
,
sin
,
cos
,
ln
,
integral
,
indef
,
\
OP_LOG
,
OP_SIN
,
OP_COS
,
Scope
,
sin
,
cos
,
ln
,
integral
,
indef
,
\
...
...
src/rules/lineq.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
permutations
,
combinations
from
itertools
import
permutations
,
combinations
from
.utils
import
find_variable
,
evals_to_numeric
,
substitute
from
.utils
import
find_variable
,
evals_to_numeric
,
substitute
...
...
src/rules/logarithmic.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
combinations
,
product
,
ifilterfalse
from
itertools
import
combinations
,
product
,
ifilterfalse
import
math
import
math
...
...
src/rules/negation.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
..node
import
Scope
,
OP_ADD
,
OP_MUL
,
OP_DIV
from
..node
import
Scope
,
OP_ADD
,
OP_MUL
,
OP_DIV
from
..possibilities
import
Possibility
as
P
,
MESSAGES
from
..possibilities
import
Possibility
as
P
,
MESSAGES
from
..translate
import
_
from
..translate
import
_
...
...
src/rules/numerics.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
combinations
from
itertools
import
combinations
from
.utils
import
greatest_common_divisor
,
is_numeric_node
from
.utils
import
greatest_common_divisor
,
is_numeric_node
...
...
src/rules/powers.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
itertools
import
combinations
from
itertools
import
combinations
from
..node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
Scope
,
\
from
..node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
Scope
,
\
...
...
src/rules/precedences.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
.factors
import
expand_double
,
expand_single
from
.factors
import
expand_double
,
expand_single
from
.sort
import
swap_factors
from
.sort
import
swap_factors
from
.numerics
import
multiply_one
,
multiply_zero
,
reduce_fraction_constants
,
\
from
.numerics
import
multiply_one
,
multiply_zero
,
reduce_fraction_constants
,
\
...
...
src/rules/sort.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
.utils
import
iter_pairs
,
evals_to_numeric
from
.utils
import
iter_pairs
,
evals_to_numeric
from
..node
import
ExpressionNode
as
N
,
Scope
,
OP_ADD
,
OP_MUL
from
..node
import
ExpressionNode
as
N
,
Scope
,
OP_ADD
,
OP_MUL
from
..possibilities
import
Possibility
as
P
,
MESSAGES
from
..possibilities
import
Possibility
as
P
,
MESSAGES
...
...
src/rules/sqrt.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
math
import
math
from
.utils
import
dividers
,
is_prime
from
.utils
import
dividers
,
is_prime
...
...
src/rules/utils.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
..node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
OP_MUL
,
OP_DIV
,
\
from
..node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
OP_MUL
,
OP_DIV
,
\
OP_ADD
,
OP_POW
,
OP_SQRT
OP_ADD
,
OP_POW
,
OP_SQRT
...
...
src/strategy.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
node
import
OP_NEG
,
NARY_OPERATORS
from
node
import
OP_NEG
,
NARY_OPERATORS
from
rules
import
RULES
from
rules
import
RULES
from
rules.precedences
import
HIGH
,
LOW
,
RELATIVE
from
rules.precedences
import
HIGH
,
LOW
,
RELATIVE
...
...
src/translate.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
gettext
import
gettext
gettext
.
bindtextdomain
(
'trs'
,
'lang'
)
gettext
.
bindtextdomain
(
'trs'
,
'lang'
)
...
...
src/validation.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
parser
import
Parser
from
parser
import
Parser
from
possibilities
import
apply_suggestion
from
possibilities
import
apply_suggestion
from
strategy
import
find_possibilities
from
strategy
import
find_possibilities
...
...
test.py
100755 → 100644
View file @
3c4c11f6
#!/usr/bin/env python
#!/usr/bin/env python
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
testrunner
import
main
from
testrunner
import
main
import
sys
import
sys
main
(
sys
.
argv
[
1
:])
main
(
sys
.
argv
[
1
:])
tests/__init__.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
tests/parser.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
sys
import
sys
from
external.graph_drawing.graph
import
generate_graph
from
external.graph_drawing.graph
import
generate_graph
...
...
tests/rulestestcase.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
import
doctest
import
doctest
...
...
tests/test_b1_ch08.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
from
src.parser
import
Parser
from
src.parser
import
Parser
...
...
tests/test_b1_ch10.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
from
src.parser
import
Parser
from
src.parser
import
Parser
...
...
tests/test_calc.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
from
src.parser
import
Parser
from
src.parser
import
Parser
...
...
tests/test_exception.py
View file @
3c4c11f6
# vim: set fileencoding=utf-8 :
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
from
src.parser
import
Parser
from
src.parser
import
Parser
...
...
tests/test_leiden_oefenopgave.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
tests.rulestestcase
import
RulesTestCase
as
TestCase
,
rewrite
from
tests.rulestestcase
import
RulesTestCase
as
TestCase
,
rewrite
...
...
tests/test_leiden_oefenopgave_v12.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
tests.rulestestcase
import
RulesTestCase
as
TestCase
from
tests.rulestestcase
import
RulesTestCase
as
TestCase
...
...
tests/test_node.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
Scope
,
\
from
src.node
import
ExpressionNode
as
N
,
ExpressionLeaf
as
L
,
Scope
,
\
nary_node
,
get_scope
,
OP_ADD
,
infinity
,
absolute
,
sin
,
cos
,
tan
,
log
,
\
nary_node
,
get_scope
,
OP_ADD
,
infinity
,
absolute
,
sin
,
cos
,
tan
,
log
,
\
ln
,
der
,
integral
,
indef
,
eq
,
negation_to_node
ln
,
der
,
integral
,
indef
,
eq
,
negation_to_node
...
...
tests/test_parser.py
View file @
3c4c11f6
# vim: set fileencoding=utf-8 :
# vim: set fileencoding=utf-8 :
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.parser
import
Parser
,
find_possibilities
from
src.parser
import
Parser
,
find_possibilities
from
src.node
import
ExpressionNode
as
Node
,
ExpressionLeaf
as
Leaf
,
\
from
src.node
import
ExpressionNode
as
Node
,
ExpressionLeaf
as
Leaf
,
\
SPECIAL_TOKENS
,
sin
,
cos
,
der
,
log
,
ln
,
integral
,
indef
,
absolute
,
\
SPECIAL_TOKENS
,
sin
,
cos
,
der
,
log
,
ln
,
integral
,
indef
,
absolute
,
\
...
...
tests/test_possibilities.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
from
src.possibilities
import
MESSAGES
,
Possibility
as
P
from
src.possibilities
import
MESSAGES
,
Possibility
as
P
...
...
tests/test_rewrite.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
tests.rulestestcase
import
RulesTestCase
as
TestCase
from
tests.rulestestcase
import
RulesTestCase
as
TestCase
...
...
tests/test_rules_absolute.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.absolute
import
match_factor_out_abs_term
,
\
from
src.rules.absolute
import
match_factor_out_abs_term
,
\
remove_absolute_negation
,
factor_out_abs_sqrt
,
absolute_numeric
,
\
remove_absolute_negation
,
factor_out_abs_sqrt
,
absolute_numeric
,
\
factor_out_abs_term
,
factor_out_abs_exponent
factor_out_abs_term
,
factor_out_abs_exponent
...
...
tests/test_rules_derivatives.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.derivatives
import
get_derivation_variable
,
\
from
src.rules.derivatives
import
get_derivation_variable
,
\
match_zero_derivative
,
match_one_derivative
,
one_derivative
,
\
match_zero_derivative
,
match_one_derivative
,
one_derivative
,
\
zero_derivative
,
match_variable_power
,
variable_root
,
\
zero_derivative
,
match_variable_power
,
variable_root
,
\
...
...
tests/test_rules_factors.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.factors
import
match_expand
,
expand_double
,
expand_single
from
src.rules.factors
import
match_expand
,
expand_double
,
expand_single
from
src.node
import
Scope
from
src.node
import
Scope
from
src.possibilities
import
Possibility
as
P
from
src.possibilities
import
Possibility
as
P
...
...
tests/test_rules_fractions.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.fractions
import
match_constant_division
,
division_by_one
,
\
from
src.rules.fractions
import
match_constant_division
,
division_by_one
,
\
division_of_zero
,
division_by_self
,
match_add_fractions
,
\
division_of_zero
,
division_by_self
,
match_add_fractions
,
\
equalize_denominators
,
add_nominators
,
match_multiply_fractions
,
\
equalize_denominators
,
add_nominators
,
match_multiply_fractions
,
\
...
...
tests/test_rules_goniometry.py
View file @
3c4c11f6
# vim: set fileencoding=utf-8 :
# vim: set fileencoding=utf-8 :
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.goniometry
import
match_add_quadrants
,
add_quadrants
,
\
from
src.rules.goniometry
import
match_add_quadrants
,
add_quadrants
,
\
factor_out_quadrant_negation
,
match_negated_parameter
,
\
factor_out_quadrant_negation
,
match_negated_parameter
,
\
negated_sinus_parameter
,
is_pi_frac
,
negated_cosinus_parameter
,
\
negated_sinus_parameter
,
is_pi_frac
,
negated_cosinus_parameter
,
\
...
...
tests/test_rules_groups.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.groups
import
match_combine_groups
,
combine_groups
from
src.rules.groups
import
match_combine_groups
,
combine_groups
from
src.node
import
Scope
from
src.node
import
Scope
from
src.possibilities
import
Possibility
as
P
from
src.possibilities
import
Possibility
as
P
...
...
tests/test_rules_integrals.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.integrals
import
indef
,
choose_constant
,
solve_integral
,
\
from
src.rules.integrals
import
indef
,
choose_constant
,
solve_integral
,
\
match_solve_indef
,
solve_indef
,
match_integrate_variable_power
,
\
match_solve_indef
,
solve_indef
,
match_integrate_variable_power
,
\
integrate_variable_root
,
integrate_variable_exponent
,
\
integrate_variable_root
,
integrate_variable_exponent
,
\
...
...
tests/test_rules_lineq.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.lineq
import
match_move_term
,
swap_sides
,
subtract_term
,
\
from
src.rules.lineq
import
match_move_term
,
swap_sides
,
subtract_term
,
\
divide_term
,
multiply_term
,
split_absolute_equation
,
\
divide_term
,
multiply_term
,
split_absolute_equation
,
\
match_multiple_equations
,
substitute_variable
,
match_double_case
,
\
match_multiple_equations
,
substitute_variable
,
match_double_case
,
\
...
...
tests/test_rules_logarithmic.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.logarithmic
import
log
,
match_constant_logarithm
,
\
from
src.rules.logarithmic
import
log
,
match_constant_logarithm
,
\
base_equals_raised
,
logarithm_of_one
,
divide_same_base
,
\
base_equals_raised
,
logarithm_of_one
,
divide_same_base
,
\
match_add_logarithms
,
add_logarithms
,
expand_negations
,
\
match_add_logarithms
,
add_logarithms
,
expand_negations
,
\
...
...
tests/test_rules_negation.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.negation
import
match_negated_factor
,
negated_factor
,
\
from
src.rules.negation
import
match_negated_factor
,
negated_factor
,
\
match_negate_polynome
,
negate_polynome
,
negated_zero
,
\
match_negate_polynome
,
negate_polynome
,
negated_zero
,
\
double_negation
,
match_negated_division
,
negated_nominator
,
\
double_negation
,
match_negated_division
,
negated_nominator
,
\
...
...
tests/test_rules_numerics.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.numerics
import
match_add_numerics
,
add_numerics
,
\
from
src.rules.numerics
import
match_add_numerics
,
add_numerics
,
\
match_divide_numerics
,
divide_numerics
,
reduce_fraction_constants
,
\
match_divide_numerics
,
divide_numerics
,
reduce_fraction_constants
,
\
match_multiply_numerics
,
multiply_numerics
,
multiply_zero
,
\
match_multiply_numerics
,
multiply_numerics
,
multiply_zero
,
\
...
...
tests/test_rules_powers.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.powers
import
match_add_exponents
,
add_exponents
,
\
from
src.rules.powers
import
match_add_exponents
,
add_exponents
,
\
match_subtract_exponents
,
subtract_exponents
,
\
match_subtract_exponents
,
subtract_exponents
,
\
match_multiply_exponents
,
multiply_exponents
,
\
match_multiply_exponents
,
multiply_exponents
,
\
...
...
tests/test_rules_sort.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.sort
import
match_sort_polynome
,
swap_factors
,
get_poly_prop
,
\
from
src.rules.sort
import
match_sort_polynome
,
swap_factors
,
get_poly_prop
,
\
match_sort_monomial
,
iter_pairs
,
swap_mono
,
swap_poly
,
get_power_prop
match_sort_monomial
,
iter_pairs
,
swap_mono
,
swap_poly
,
get_power_prop
from
src.node
import
Scope
from
src.node
import
Scope
...
...
tests/test_rules_sqrt.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.sqrt
import
is_eliminateable_sqrt
,
match_reduce_sqrt
,
\
from
src.rules.sqrt
import
is_eliminateable_sqrt
,
match_reduce_sqrt
,
\
quadrant_sqrt
,
constant_sqrt
,
split_dividers
,
\
quadrant_sqrt
,
constant_sqrt
,
split_dividers
,
\
extract_sqrt_multiplicant
,
extract_sqrt_mult_priority
extract_sqrt_multiplicant
,
extract_sqrt_mult_priority
...
...
tests/test_rules_utils.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules
import
utils
from
src.rules
import
utils
from
src.rules.utils
import
least_common_multiple
,
is_fraction
,
partition
,
\
from
src.rules.utils
import
least_common_multiple
,
is_fraction
,
partition
,
\
find_variables
,
first_sorted_variable
,
find_variable
,
substitute
,
\
find_variables
,
first_sorted_variable
,
find_variable
,
substitute
,
\
...
...
tests/test_strategy.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
src.rules.factors
import
expand_double
,
expand_single
from
src.rules.factors
import
expand_double
,
expand_single
from
src.node
import
Scope
from
src.node
import
Scope
from
src.possibilities
import
Possibility
as
P
from
src.possibilities
import
Possibility
as
P
...
...
tests/test_validation.py
View file @
3c4c11f6
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
from
unittest
import
TestCase
from
unittest
import
TestCase
from
src.validation
import
validate
from
src.validation
import
validate
...
...
utils/view_profile.py
View file @
3c4c11f6
#!/usr/bin/python
#!/usr/bin/python
# This file is part of TRS (http://math.kompiler.org)
#
# TRS is free software: you can redistribute it and/or modify it under the
# terms of the GNU Affero General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# TRS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License
# along with TRS. If not, see <http://www.gnu.org/licenses/>.
import
sys
import
sys
from
pstats
import
Stats
from
pstats
import
Stats
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment