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

Windows support #86

Open
dustinvtran opened this issue Sep 23, 2015 · 0 comments
Open

Windows support #86

dustinvtran opened this issue Sep 23, 2015 · 0 comments

Comments

@dustinvtran
Copy link
Member

See note from Brian Ripley on how to fix Windows support.

See e.g. https://www.r-project.org/nosvn/R.check/r-patched-solaris-x86/sgd-00install.html .

The Boost use of 'I' is conflicting with the definition as part of C99 complex on that platfrom. I think you need to take that up with the bigmemory maintainers: as you do not use complex numbers, you need to be able to ensure HAVE_COMPLEX does not get defined.

The native C++ compiler (which is C++98) gives

"./sgd/base_sgd.h", line 42: Error: Overloading ambiguity between "std::log10(double)" and "std::log10(float)".

That line is

pos_(0, i) = int(round(pow(10, i * log10(n_iters) / (size_-1))));

where the argument to log10 needs a cast to double, and that should also be '10.' . See 'Writing R Extensions'.

With those corrections the native compiler works (it often does not with RcppArmadillo).

Brian D. Ripley, [email protected]
Emeritus Professor of Applied Statistics, University of Oxford
1 South Parks Road, Oxford OX1 3TG, UK

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

No branches or pull requests

1 participant