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)
new vector types b338913aa1d93eeda0b771e27dd0572353d17139 jp.larry 2019-02-26 03:33:58
inlines and new functions 1a2b86f33d8a0b1ec7db4edc138b8058fd6935b3 jp.larry 2019-02-23 18:24:38
type cast for warning remove a401d65e4ba7f4edbb9f193397017a0ddabd55cd jp.larry 2019-01-18 23:09:44
comparison operator issue solved, added begin & end functions for vector 56bc2502562e613fee6be95a889ee98197f253a2 jp.larry 2019-01-06 08:58:32
reduced pi number precision from 100500 numbers after dots to 100498 278d8e24bcabb0d55f3414915b348db601c30092 jp.larry 2019-01-06 02:34:07
nothing ba652a4c8dfd731fcc7bad57bba65ec3cb77716b jp.larry 2018-11-01 03:54:11
added is_power_of_2 for integers adf0dcb3a3ed02c441e6712f1a031ab05788045b jp.larry 2018-10-29 00:47:48
Initial commit f36f18cb8677587102be1f4f04027a04a94624b3 jp.larry 2018-10-11 19:06:27
Commit b338913aa1d93eeda0b771e27dd0572353d17139 - new vector types
Author: jp.larry
Author date (UTC): 2019-02-26 03:33
Committer name: jp.larry
Committer date (UTC): 2019-02-26 03:33
Parent(s): 1a2b86f33d8a0b1ec7db4edc138b8058fd6935b3
Signer:
Signing key:
Signing status: N
Tree: 489a643e7badd6f5395668f20abbb8828b7d0849
File Lines added Lines deleted
vector/type_defs.h 17 0
File vector/type_defs.h changed (mode: 100755) (index a372654..e34f103)
2 2
3 3 #include "base.h" #include "base.h"
4 4
5 #include <cinttypes>
6
5 7 namespace math namespace math
6 8 { {
7 9 template<typename type> using vec1 = vector<1, type>; template<typename type> using vec1 = vector<1, type>;
 
... ... namespace math
25 27 using v2ld = vec2<long double>; using v2ld = vec2<long double>;
26 28 using v2d = vec2<double>; using v2d = vec2<double>;
27 29 using v2f = vec2<float>; using v2f = vec2<float>;
30
31 using v5b = vec5<bool>;
32 using v4b = vec4<bool>;
33 using v3b = vec3<bool>;
34 using v2b = vec2<bool>;
35
36 using v5i32 = vec5<int32_t>;
37 using v4i32 = vec4<int32_t>;
38 using v3i32 = vec3<int32_t>;
39 using v2i32 = vec2<int32_t>;
40
41 using v5u32 = vec5<uint32_t>;
42 using v4u32 = vec4<uint32_t>;
43 using v3u32 = vec3<uint32_t>;
44 using v2u32 = vec2<uint32_t>;
28 45 } }
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