{"action":"created","issue":{"url":"https://api.github.com/repos/symengine/symengine/issues/819","repository_url":"https://api.github.com/repos/symengine/symengine","labels_url":"https://api.github.com/repos/symengine/symengine/issues/819/labels{/name}","comments_url":"https://api.github.com/repos/symengine/symengine/issues/819/comments","events_url":"https://api.github.com/repos/symengine/symengine/issues/819/events","html_url":"https://github.com/symengine/symengine/pull/819","id":135254847,"number":819,"title":"MultivariateIntPolynomial","user":{"login":"chenchfort","id":8339862,"avatar_url":"https://avatars.githubusercontent.com/u/8339862?v=3","gravatar_id":"","url":"https://api.github.com/users/chenchfort","html_url":"https://github.com/chenchfort","followers_url":"https://api.github.com/users/chenchfort/followers","following_url":"https://api.github.com/users/chenchfort/following{/other_user}","gists_url":"https://api.github.com/users/chenchfort/gists{/gist_id}","starred_url":"https://api.github.com/users/chenchfort/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chenchfort/subscriptions","organizations_url":"https://api.github.com/users/chenchfort/orgs","repos_url":"https://api.github.com/users/chenchfort/repos","events_url":"https://api.github.com/users/chenchfort/events{/privacy}","received_events_url":"https://api.github.com/users/chenchfort/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":39,"created_at":"2016-02-21T20:32:39Z","updated_at":"2016-03-26T20:16:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/symengine/symengine/pulls/819","html_url":"https://github.com/symengine/symengine/pull/819","diff_url":"https://github.com/symengine/symengine/pull/819.diff","patch_url":"https://github.com/symengine/symengine/pull/819.patch"},"body":"This code currently does not build.  Currently compilation stops at\r\n\r\n[  7%] Building CXX object symengine/CMakeFiles/symengine.dir/basic.cpp.o\r\n\r\nwith the errors\r\n\r\nIn file included from /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/basic.h:36:0,\r\n                 from /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/basic.cpp:1:\r\n                 /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/dict.h:30:38: error: invalid declarator before Ã¢umap_basic_numÃ¢\r\n                          RCPBasicHash, RCPBasicKeyEq> umap_basic_num;\r\n                                                                ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/dict.h:202:62: error: Ã¢umap_basic_numÃ¢ in namespace Ã¢SymEngineÃ¢ does not name a type\r\n std::ostream& operator<<(std::ostream& out, const SymEngine::umap_basic_num& d);\r\n                                                               ^\r\nIn file included from /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/basic.cpp:3:0:\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/add.h:18:5: error: Ã¢umap_basic_numÃ¢ does not name a type\r\n     umap_basic_num dict_; //! The dictionary of the rest (e.g. `x+y` in `2+x+y`)\r\n     ^\r\nIn file included from /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/basic.cpp:3:0:\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/add.h:25:40: error: Ã¢umap_basic_numÃ¢ has not been declared\r\n     Add(const RCP<const Number> &coef, umap_basic_num&& dict);\r\n                                        ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/add.h:41:70: error: Ã¢umap_basic_numÃ¢ has not been declared\r\n     static RCP<const Basic> from_dict(const RCP<const Number> &coef, umap_basic_num &&d);\r\n                                                                      ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/add.h:45:31: error: Ã¢umap_basic_numÃ¢ has not been declared\r\n     static void dict_add_term(umap_basic_num &d,\r\n                                    ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/add.h:51:72: error: Ã¢umap_basic_numÃ¢ has not been declared\r\n     static void coef_dict_add_term(const Ptr<RCP<const Number>> &coef, umap_basic_num &d,\r\n                                                                             ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/add.h:61:19: error: Ã¢umap_basic_numÃ¢ does not name a type\r\n             const umap_basic_num& dict) const;\r\n                                ^\r\nIn file included from /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/printer.h:4:0,\r\n                 from /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/basic.cpp:12:\r\n                 /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/visitor.h: In member function Ã¢void SymEngine::CoeffVisitor::bvisit(const SymEngine::Add&)Ã¢:\r\n                 /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/visitor.h:94:9: error: Ã¢umap_basic_numÃ¢ was not declared in this scope\r\n                          umap_basic_num dict;\r\n                 /home/myluszcz/ECS193/SYMENGINE/symengine/symengine/visitor.h:94:9: error: Ã¢umap_basic_numÃ¢ was not declared in this scope\r\n                          umap_basic_num dict;\r\n                                   ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/visitor.h:96:25: error: Ã¢const class SymEngine::AddÃ¢ has no member named Ã¢dict_Ã¢\r\n         for (auto &p: x.dict_) {\r\n                                  ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/visitor.h:99:55: error: Ã¢dictÃ¢ was not declared in this scope\r\n                 Add::coef_dict_add_term(outArg(coef), dict, p.second, coeff_);\r\n                                                                        ^\r\n/home/myluszcz/ECS193/SYMENGINE/symengine/symengine/visitor.h:102:49: error: Ã¢dictÃ¢ was not declared in this scope\r\n         coeff_ = Add::from_dict(coef, std::move(dict));\r\n                                                          ^\r\nsymengine/CMakeFiles/symengine.dir/build.make:86: recipe for target 'symengine/CMakeFiles/symengine.dir/basic.cpp.o' failed\r\nmake[2]: *** [symengine/CMakeFiles/symengine.dir/basic.cpp.o] Error 1\r\nCMakeFiles/Makefile2:93: recipe for target 'symengine/CMakeFiles/symengine.dir/all' failed\r\nmake[1]: *** [symengine/CMakeFiles/symengine.dir/all] Error 2\r\nMakefile:138: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\n\r\nOur current goal WRT to this branch is to get the MultivariatePolynomial object to compile.  Once this occurs, we will write functions for performing addition, subtraction, negation, and multiplication, probably using the naive algorithms at first.  After this we will write testers and benchmarks against which to compare future improvements.\r\n\r\n@shivamvats @certik @isuruf "},"comment":{"url":"https://api.github.com/repos/symengine/symengine/issues/comments/201925529","html_url":"https://github.com/symengine/symengine/pull/819#issuecomment-201925529","issue_url":"https://api.github.com/repos/symengine/symengine/issues/819","id":201925529,"user":{"login":"Sumith1896","id":9217608,"avatar_url":"https://avatars.githubusercontent.com/u/9217608?v=3","gravatar_id":"","url":"https://api.github.com/users/Sumith1896","html_url":"https://github.com/Sumith1896","followers_url":"https://api.github.com/users/Sumith1896/followers","following_url":"https://api.github.com/users/Sumith1896/following{/other_user}","gists_url":"https://api.github.com/users/Sumith1896/gists{/gist_id}","starred_url":"https://api.github.com/users/Sumith1896/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sumith1896/subscriptions","organizations_url":"https://api.github.com/users/Sumith1896/orgs","repos_url":"https://api.github.com/users/Sumith1896/repos","events_url":"https://api.github.com/users/Sumith1896/events{/privacy}","received_events_url":"https://api.github.com/users/Sumith1896/received_events","type":"User","site_admin":false},"created_at":"2016-03-26T20:16:18Z","updated_at":"2016-03-26T20:16:18Z","body":"@myluszczak I don't exactly know what happened here the following workflow might help in future:\r\n\r\nWhile implementing something new:\r\n1) Update master and create a new branch out of it.\r\n2) Keep adding your commits on it and push, it will be visible.\r\n3) You can merge with master as and when the need be, for e.g., merge conflicts.\r\n\r\nIf there another member of your team who also wants to work on this, then:\r\n1) After you add your commits, push\r\n2) Request your teammates to send a PR with **their** commits to **your** branch.\r\n3) Once something is merged, update your branches regularly. \r\n"}}