Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added missing typename. #208

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Remotion
Copy link

@Remotion Remotion commented Feb 7, 2017

replaced not with ! because intel compiler do not want to compile this.
replaced integrate(double dt) with integrate(S dt) to allow fcl compile with float.


This change is Reviewable

replaced not with ! because intel compiler do not want to compile this.
replaced integrate(double dt) with integrate(S dt) to allow fcl compile with float.
Copy link
Member

@jslee02 jslee02 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch! I have one suggestion mentioned below.

@@ -1,3 +1,5 @@
cmake_minimum_required(VERSION 3.6)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to remove this line unless there is a compelling reason we need this. FCL is supposed to support Ubuntu 14.04 LTS, and the CMake version on Ubuntu 14.04 LTS is 2.8.12.

Remotion and others added 2 commits February 7, 2017 14:56
@Remotion
Copy link
Author

Remotion commented Feb 7, 2017

CMakeLists.txt was changed by accident.

But I already pushed other changes before "Moving easy to inline code from *.cpp to header files."

What do you think?

@jslee02
Copy link
Member

jslee02 commented Feb 8, 2017

Why do we need this explicit inlining? As I know, the inlining decision is implicitly made by compilers if it's needed for optimization even it's not in the same compilation unit. I believe having definition in the header file would only makes headers less readable.

@Remotion
Copy link
Author

Remotion commented Feb 8, 2017

It is not about inlining it is because of One Definition Rule.

It is not needed for methods declared inside of class/struct like BV_node_base.
But if it is done outside and is not a template then inline is required.

I believe having definition in the header file would only makes headers less readable.

Well this is only a couple of lines, not that much and without it FLC is for sure hot header only because it requires *.cpp files to compile and link.

Of corse another way would be to put such code into plane-inl.h files.

@jslee02
Copy link
Member

jslee02 commented Feb 8, 2017

I think there is a miscommunication here. FCL is not a header-only project yet. Sorry if I brought this confusion by the previous comment.

We've templatized FCL for the scalar type so that we can use AutoDiffScalar to get derivatives (see @sherm1's suggestion and related PRs: #154, #165). The templatizing was necessarily applied to most of the code, so it seems easy to make FCL an (optional) header-only project. However, we haven't made a decision on that yet. It would be good to open a new issue about this to discuss with other contributors and postpone the inlining of this PR until then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants