mirror of
https://github.com/recp/cglm.git
synced 2025-10-04 09:08:53 +00:00
Add ivec3 and ivec4 files
This commit is contained in:
@@ -64,6 +64,8 @@ add_library(${PROJECT_NAME}
|
|||||||
src/vec3.c
|
src/vec3.c
|
||||||
src/vec4.c
|
src/vec4.c
|
||||||
src/ivec2.c
|
src/ivec2.c
|
||||||
|
src/ivec3.c
|
||||||
|
src/ivec4.c
|
||||||
src/mat2.c
|
src/mat2.c
|
||||||
src/mat3.c
|
src/mat3.c
|
||||||
src/mat4.c
|
src/mat4.c
|
||||||
|
@@ -16,6 +16,8 @@ extern "C" {
|
|||||||
#include "call/vec3.h"
|
#include "call/vec3.h"
|
||||||
#include "call/vec4.h"
|
#include "call/vec4.h"
|
||||||
#include "call/ivec2.h"
|
#include "call/ivec2.h"
|
||||||
|
#include "call/ivec3.h"
|
||||||
|
#include "call/ivec4.h"
|
||||||
#include "call/mat2.h"
|
#include "call/mat2.h"
|
||||||
#include "call/mat3.h"
|
#include "call/mat3.h"
|
||||||
#include "call/mat4.h"
|
#include "call/mat4.h"
|
||||||
|
23
include/cglm/call/ivec3.h
Normal file
23
include/cglm/call/ivec3.h
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef cglmc_ivec3_h
|
||||||
|
#define cglmc_ivec3_h
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "../cglm.h"
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_ivec3(int * __restrict v, ivec3 dest);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* cglmc_ivec3_h */
|
23
include/cglm/call/ivec4.h
Normal file
23
include/cglm/call/ivec4.h
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef cglmc_ivec4_h
|
||||||
|
#define cglmc_ivec4_h
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "../cglm.h"
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_ivec4(ivec3 v3, int last, ivec4 dest);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* cglmc_ivec4_h */
|
@@ -13,6 +13,8 @@
|
|||||||
#include "vec3.h"
|
#include "vec3.h"
|
||||||
#include "vec4.h"
|
#include "vec4.h"
|
||||||
#include "ivec2.h"
|
#include "ivec2.h"
|
||||||
|
#include "ivec3.h"
|
||||||
|
#include "ivec4.h"
|
||||||
#include "mat4.h"
|
#include "mat4.h"
|
||||||
#include "mat3.h"
|
#include "mat3.h"
|
||||||
#include "mat2.h"
|
#include "mat2.h"
|
||||||
|
32
include/cglm/ivec3.h
Normal file
32
include/cglm/ivec3.h
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
FUNCTIONS:
|
||||||
|
CGLM_INLINE void glm_ivec3(int * __restrict v, ivec3 dest)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef cglm_ivec3_h
|
||||||
|
#define cglm_ivec3_h
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief init ivec3 using another vector
|
||||||
|
*
|
||||||
|
* @param[in] v a vector
|
||||||
|
* @param[out] dest destination
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_ivec3(int * __restrict v, ivec3 dest) {
|
||||||
|
dest[0] = v[0];
|
||||||
|
dest[1] = v[1];
|
||||||
|
dest[2] = v[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* cglm_ivec3_h */
|
34
include/cglm/ivec4.h
Normal file
34
include/cglm/ivec4.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
FUNCTIONS:
|
||||||
|
CGLM_INLINE void glm_ivec4(int * __restrict v, ivec4 dest)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef cglm_ivec4_h
|
||||||
|
#define cglm_ivec4_h
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief init ivec4 using ivec3
|
||||||
|
*
|
||||||
|
* @param[in] v3 vector3
|
||||||
|
* @param[in] last last item
|
||||||
|
* @param[out] dest destination
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_ivec4(ivec3 v3, int last, ivec4 dest) {
|
||||||
|
dest[0] = v3[0];
|
||||||
|
dest[1] = v3[1];
|
||||||
|
dest[2] = v3[2];
|
||||||
|
dest[3] = last;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* cglm_ivec4_h */
|
15
src/ivec3.c
Normal file
15
src/ivec3.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../include/cglm/cglm.h"
|
||||||
|
#include "../include/cglm/call.h"
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_ivec3(int * __restrict v, ivec3 dest) {
|
||||||
|
glm_ivec3(v, dest);
|
||||||
|
}
|
15
src/ivec4.c
Normal file
15
src/ivec4.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../include/cglm/cglm.h"
|
||||||
|
#include "../include/cglm/call.h"
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_ivec4(ivec3 v3, int last, ivec4 dest) {
|
||||||
|
glm_ivec4(v3, last, dest);
|
||||||
|
}
|
20
test/src/test_ivec3.h
Normal file
20
test/src/test_ivec3.h
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "test_common.h"
|
||||||
|
|
||||||
|
TEST_IMPL(GLM_PREFIX, ivec3) {
|
||||||
|
ivec4 v4 = {2, 3, 5, 7};
|
||||||
|
ivec3 v3;
|
||||||
|
|
||||||
|
GLM(ivec3)(v4, v3);
|
||||||
|
ASSERT(test_eq(v3[0], v4[0]))
|
||||||
|
ASSERT(test_eq(v3[1], v4[1]))
|
||||||
|
ASSERT(test_eq(v3[2], v4[2]))
|
||||||
|
|
||||||
|
TEST_SUCCESS
|
||||||
|
}
|
21
test/src/test_ivec4.h
Normal file
21
test/src/test_ivec4.h
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c), Recep Aslantas.
|
||||||
|
*
|
||||||
|
* MIT License (MIT), http://opensource.org/licenses/MIT
|
||||||
|
* Full license can be found in the LICENSE file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "test_common.h"
|
||||||
|
|
||||||
|
TEST_IMPL(GLM_PREFIX, ivec4) {
|
||||||
|
ivec3 v3 = {2, 3, 5};
|
||||||
|
ivec4 v4;
|
||||||
|
|
||||||
|
GLM(ivec4)(v3, 7, v4);
|
||||||
|
ASSERT(test_eq(v4[0], v3[0]))
|
||||||
|
ASSERT(test_eq(v4[1], v3[1]))
|
||||||
|
ASSERT(test_eq(v4[2], v3[2]))
|
||||||
|
ASSERT(test_eq(v4[3], 7))
|
||||||
|
|
||||||
|
TEST_SUCCESS
|
||||||
|
}
|
@@ -16,6 +16,8 @@
|
|||||||
#include "test_vec3.h"
|
#include "test_vec3.h"
|
||||||
#include "test_vec4.h"
|
#include "test_vec4.h"
|
||||||
#include "test_ivec2.h"
|
#include "test_ivec2.h"
|
||||||
|
#include "test_ivec3.h"
|
||||||
|
#include "test_ivec4.h"
|
||||||
#include "test_mat2.h"
|
#include "test_mat2.h"
|
||||||
#include "test_mat3.h"
|
#include "test_mat3.h"
|
||||||
#include "test_mat4.h"
|
#include "test_mat4.h"
|
||||||
@@ -41,6 +43,8 @@
|
|||||||
#include "test_vec3.h"
|
#include "test_vec3.h"
|
||||||
#include "test_vec4.h"
|
#include "test_vec4.h"
|
||||||
#include "test_ivec2.h"
|
#include "test_ivec2.h"
|
||||||
|
#include "test_ivec3.h"
|
||||||
|
#include "test_ivec4.h"
|
||||||
#include "test_mat2.h"
|
#include "test_mat2.h"
|
||||||
#include "test_mat3.h"
|
#include "test_mat3.h"
|
||||||
#include "test_mat4.h"
|
#include "test_mat4.h"
|
||||||
|
20
test/tests.h
20
test/tests.h
@@ -735,6 +735,16 @@ TEST_DECLARE(glm_ivec2)
|
|||||||
|
|
||||||
TEST_DECLARE(glmc_ivec2)
|
TEST_DECLARE(glmc_ivec2)
|
||||||
|
|
||||||
|
/* ivec3 */
|
||||||
|
TEST_DECLARE(glm_ivec3)
|
||||||
|
|
||||||
|
TEST_DECLARE(glmc_ivec3)
|
||||||
|
|
||||||
|
/* ivec4 */
|
||||||
|
TEST_DECLARE(glm_ivec4)
|
||||||
|
|
||||||
|
TEST_DECLARE(glmc_ivec4)
|
||||||
|
|
||||||
/* structs */
|
/* structs */
|
||||||
TEST_DECLARE(mat3s_identity_init)
|
TEST_DECLARE(mat3s_identity_init)
|
||||||
TEST_DECLARE(mat3s_zero_init)
|
TEST_DECLARE(mat3s_zero_init)
|
||||||
@@ -1468,6 +1478,16 @@ TEST_LIST {
|
|||||||
|
|
||||||
TEST_ENTRY(glmc_ivec2)
|
TEST_ENTRY(glmc_ivec2)
|
||||||
|
|
||||||
|
/* ivec3 */
|
||||||
|
TEST_ENTRY(glm_ivec3)
|
||||||
|
|
||||||
|
TEST_ENTRY(glmc_ivec3)
|
||||||
|
|
||||||
|
/* ivec4 */
|
||||||
|
TEST_ENTRY(glm_ivec4)
|
||||||
|
|
||||||
|
TEST_ENTRY(glmc_ivec4)
|
||||||
|
|
||||||
/* structs */
|
/* structs */
|
||||||
TEST_ENTRY(mat3s_identity_init)
|
TEST_ENTRY(mat3s_identity_init)
|
||||||
TEST_ENTRY(mat3s_zero_init)
|
TEST_ENTRY(mat3s_zero_init)
|
||||||
|
Reference in New Issue
Block a user