Jackalope / jmath (public) (License: GPLv3 or later) (since 2018-10-11) (hash sha1)
C++ conxstexpr template Math library with:
- multidimensional vectors and matrices
- geometry primitives with projection, distance and intersection functions
- coordinate systems conversions
- some routines

Depends on GCE-math C++ library as git submodule.

Used with clang (version 9 or 10) and gcc (version 9).
Written with C++17.
List of commits:
Subject Hash Author Date (UTC)
Changed cmake library interface, gcem included properly 7e660bcdd283cc7d9203b0e03a2a5c2d7ee44829 Jackalope 2020-05-12 06:59:38
refactoring with name change to jmath, jm namespace, added license dda67de093198e66c57cbb10857c968e4382ac30 Jackalope 2020-05-09 19:07:42
replaced std min and max with math functions 0cbb0dfdbb9c3364361d27e25f70450f802518f3 Jackalope 2020-02-11 13:48:59
function number is template to prevent warnings 761fea461d2b6178c35385d63c4005eb708b2c6c Jackalope 2020-02-05 15:53:17
removed excess includes 88bc9c2f36118412a784907c91997f992825cb0e Jackalope 2020-02-05 12:18:17
changed vector to plane argument in plane distance 498b8412af406915b03f7cfa36228ae946c15baa jp.larry 2020-01-14 17:12:59
new line definitions and correct circle polygon intersection ffdc291cc19b8edcea2a33f06306dcc628d3535c jp.larry 2020-01-14 16:08:58
vector length_p2 function 8e59b70fef912432e5b9ce2299274b3d953c3116 jp.larry 2020-01-14 16:08:07
vector_base refactoring and distance,intersection functions moved to geometry header d8473eef6419504fbcc130fb1ce1f59032503a42 jp.larry 2020-01-14 00:41:30
functions to check if line out of range f54afa1443012f918cdf16483e7fb36021d1d465 jp.larry 2020-01-11 20:39:29
clusters depth slices and depth convertions a0d15a75baa2bdeef9c033c19ded7424ab29da1a jp.larry 2020-01-10 12:06:17
plane struct inherited from vector of size 4 with normal and offset 74331763aa73548b17ff91aab0d6abaa6fa0e7d8 jp.larry 2020-01-10 10:29:04
changed identation c815eb8588c6229bbf56606446e76b0a75553eee jp.larry 2020-01-10 10:28:20
sqrt function 856c393e7ba60f99bd18e524ef408f427e04fa1c jp.larry 2020-01-10 10:27:55
removed unused matrix files 1bc1e845a6a391cce90be9023fae41937dbd100d jp.larry 2020-01-07 13:55:53
frustum data type 48480173a43561e7502458579378b78591716d1c jp.larry 2020-01-07 13:53:57
different projection matrix built functions for different fov specifications (horizontal, vertical, both) 0aa5dbb5e22c616a559bb6f6d75b0313db7b3e84 jp.larry 2020-01-07 13:53:30
normal from 3 points and plane from normal and offset functions 432070f339b8c48b18c4e2dab4389dc19ffa241c jp.larry 2020-01-06 07:27:29
check if floating point when converting from degrees 75397be78960535bca1ec487221b6b46382e0724 jp.larry 2020-01-06 07:26:59
distance between 2 vectors and intersection line with plane 1620677672179226ea92affb5e3dc600cd3fa133 jp.larry 2020-01-05 03:22:56
Commit 7e660bcdd283cc7d9203b0e03a2a5c2d7ee44829 - Changed cmake library interface, gcem included properly
Author: Jackalope
Author date (UTC): 2020-05-12 06:59
Committer name: Jackalope
Committer date (UTC): 2020-05-12 06:59
Parent(s): dda67de093198e66c57cbb10857c968e4382ac30
Signing key:
Tree: 0c335872b47b00ddaa65606eb18777ba5e9b9d24
File Lines added Lines deleted
CMakeLists.txt 5 4
include/jmath/constants.h 1 3
File CMakeLists.txt changed (mode: 100644) (index b94262e..0d4f177)
1 1 cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.5)
2 set(JMATH_INCLUDE_DIRS
3 ${CMAKE_CURRENT_SOURCE_DIR}/include
4 ${CMAKE_CURRENT_SOURCE_DIR}/libs
5 PARENT_SCOPE)
2 add_library(JMATH INTERFACE)
3 add_subdirectory(libs/gcem)
4 target_include_directories(JMATH INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
5 target_link_libraries(JMATH INTERFACE gcem)
6 target_compile_features(JMATH INTERFACE cxx_std_17)
File include/jmath/constants.h changed (mode: 100644) (index ad69dce..bb4f0fd)
19 19 #include <type_traits> #include <type_traits>
20 20 #include <cstdint> #include <cstdint>
21 21
22 #pragma clang diagnostic ignored "-Wfloat-equal"
23
24 22 #pragma clang diagnostic push #pragma clang diagnostic push
25 23 #pragma clang diagnostic ignored "-Weverything" #pragma clang diagnostic ignored "-Weverything"
26 #include <gcem/include/gcem.hpp>
24 #include <gcem.hpp>
27 25 #pragma clang diagnostic pop #pragma clang diagnostic pop
28 26
29 27 namespace jm namespace jm
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/Jackalope/jmath

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/Jackalope/jmath

Clone this repository using git:
git clone git://git.rocketgit.com/user/Jackalope/jmath

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main