Compiling Boost for Android
-
Download Boost and cd to base directory.
-
Create Android toolchains for desired architectures by running a script as below:
NDK=/opt/android-sdk/ndk-bundle/ TOOLCHAINS="$PWD/toolchains/"
rm -rf $TOOLCHAINS
#include <glm/gtx/string_cast.hpp> | |
.. | |
.. | |
glm::mat4 mat; | |
.. | |
.. | |
std::cout << glm::to_string(mat) << std::endl; |
Download Boost and cd to base directory.
Create Android toolchains for desired architectures by running a script as below:
NDK=/opt/android-sdk/ndk-bundle/
TOOLCHAINS="$PWD/toolchains/"
rm -rf $TOOLCHAINS
clear_vars
reset()
%display latex
u,v,w,T = SR.var('x y z t')
E_x,E_y,E_z = function('Ex'),function('Ey'), function('Ez')
B_x,B_y,B_z = function('Bx'),function('By'), function('Bz')
M.<t, x, y, z> = manifolds.Minkowski(positive_spacelike=False)
F = M.diff_form(2, name='F')
clear_vars
reset()
%display latex
R3 = Manifold(3, 'R^3', start_index=1)
X.<x,y,z> = R3.chart()
g = R3.metric('g')
g[1,1], g[2,2], g[3,3] = 1, 1, 1
#R2 = Manifold(2, 'R^2', ambient=R3, start_index=1)
# Using javah to generate .h files for Kotlin | |
# Assuming JNI function calls are in MainActivity.companion | |
STUDIO=/opt/android-studio | |
PACKAGE=my.package | |
$STUDIO/jre/bin/javah -jni -cp "$STUDIO/lib/kotlin-runtime.jar:build/tmp/kotlin-classes/debug" $PACKAGE.MainActivity.Companion |
#ifndef _BOUNDED_MAP_H | |
#define _BOUNDED_MAP_H | |
#include <iostream> | |
#include <map> | |
#include <vector> | |
#include <utility> | |
/** | |
* A wrapped std::multimap which limits size by removing the smallest keys first. |
#include <eigen3/Eigen/Dense> | |
#include <eigen3/Eigen/Eigenvalues> | |
.. | |
.. | |
using RowMatrixXf = Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>; | |
Eigen::Map<RowMatrixXf> mapped(extended_homograpy.ptr<float>(), homography.rows, homography.cols); | |
Eigen::EigenSolver<Eigen::MatrixXf> eigen_solve(mapped, true); | |
auto ev = eigen_solve.eigenvectors(); | |
std::cout << "No of EigenVectors = " << ev.cols() << std::endl; | |
for (auto i=0; i<ev.cols(); i++) |
#include <glm/gtc/type_ptr.hpp> | |
.. | |
glm::mat4 m = glm::mat4(1.0f); | |
.. | |
auto p = glm::value_ptr(m); | |
std::cout << sizeof(p) << std::endl; | |
glUniformMatrix4fv(shader_uniform_m, 1, GL_FALSE, p); |
size_t split(std::string s, std::vector<std::string>& tokens, | |
std::string delim ="\t\n ") | |
{ | |
tokens.clear(); | |
size_t pos = s.find_first_not_of(delim); | |
while (pos != std::string::npos) | |
{ | |
size_t next = s.find_first_of(delim, pos); | |
if (pos == std::string::npos) | |
tokens.emplace_back(s.substr(pos)); |
/* | |
Copyright (c) 2016, Donald Munro | |
Permission to use, copy, modify, and/or distribute this software for any | |
purpose with or without fee is hereby granted, provided that the above | |
copyright notice and this permission notice appear in all copies. | |
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |