-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvector.rkt
More file actions
25 lines (18 loc) · 734 Bytes
/
vector.rkt
File metadata and controls
25 lines (18 loc) · 734 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#lang racket/base
(require ffi/vector
glm)
(provide (all-defined-out))
(define-values (^ ^+ ^- ^* ^/ ^? ^list in-^)
(values ivec ivec+ ivec- ivec* ivec/ ivec? ivec->list in-ivec))
(define-values (^1 ^1?) (values ivec1 ivec1?))
(define-values (^2 ^2?) (values ivec2 ivec2?))
(define-values (^3 ^3?) (values ivec3 ivec3?))
(define-values (^4 ^4?) (values ivec4 ivec4?))
(define-values ($ $+ $- $* $/ $? $list in-$)
(values vec vec+ vec- vec* vec/ vec? vec->list in-vec))
(define ($f32vector . args)
(vec->f32vector (apply vec args)))
(define-values ($1 $1?) (values vec1 vec1?))
(define-values ($2 $2?) (values vec2 vec2?))
(define-values ($3 $3?) (values vec3 vec3?))
(define-values ($4 $4?) (values vec4 vec4?))