]> gitweb.factorcode.org Git - factor.git/blob - extra/cuda/types/types.factor
Switch to https urls
[factor.git] / extra / cuda / types / types.factor
1 ! Copyright (C) 2010 Joe Groff.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors alien.c-types classes.struct kernel math ;
4 FROM: alien.c-types => float ;
5 IN: cuda.types
6
7 STRUCT: char1
8     { x char } ;
9 STRUCT: char2
10     { x char }
11     { y char } ;
12 STRUCT: char3
13     { x char }
14     { y char }
15     { z char } ;
16 STRUCT: char4
17     { x char }
18     { y char }
19     { z char }
20     { w char } ;
21
22 STRUCT: uchar1
23     { x uchar } ;
24 STRUCT: uchar2
25     { x uchar }
26     { y uchar } ;
27 STRUCT: uchar3
28     { x uchar }
29     { y uchar }
30     { z uchar } ;
31 STRUCT: uchar4
32     { x uchar }
33     { y uchar }
34     { z uchar }
35     { w uchar } ;
36
37 STRUCT: short1
38     { x short } ;
39 STRUCT: short2
40     { x short }
41     { y short } ;
42 STRUCT: short3
43     { x short }
44     { y short }
45     { z short } ;
46 STRUCT: short4
47     { x short }
48     { y short }
49     { z short }
50     { w short } ;
51
52 STRUCT: ushort1
53     { x ushort } ;
54 STRUCT: ushort2
55     { x ushort }
56     { y ushort } ;
57 STRUCT: ushort3
58     { x ushort }
59     { y ushort }
60     { z ushort } ;
61 STRUCT: ushort4
62     { x ushort }
63     { y ushort }
64     { z ushort }
65     { w ushort } ;
66
67 STRUCT: int1
68     { x int } ;
69 STRUCT: int2
70     { x int }
71     { y int } ;
72 STRUCT: int3
73     { x int }
74     { y int }
75     { z int } ;
76 STRUCT: int4
77     { x int }
78     { y int }
79     { z int }
80     { w int } ;
81
82 STRUCT: uint1
83     { x uint } ;
84 STRUCT: uint2
85     { x uint }
86     { y uint } ;
87 STRUCT: uint3
88     { x uint }
89     { y uint }
90     { z uint } ;
91 STRUCT: uint4
92     { x uint }
93     { y uint }
94     { z uint }
95     { w uint } ;
96
97 STRUCT: long1
98     { x long } ;
99 STRUCT: long2
100     { x long }
101     { y long } ;
102 STRUCT: long3
103     { x long }
104     { y long }
105     { z long } ;
106 STRUCT: long4
107     { x long }
108     { y long }
109     { z long }
110     { w long } ;
111
112 STRUCT: ulong1
113     { x ulong } ;
114 STRUCT: ulong2
115     { x ulong }
116     { y ulong } ;
117 STRUCT: ulong3
118     { x ulong }
119     { y ulong }
120     { z ulong } ;
121 STRUCT: ulong4
122     { x ulong }
123     { y ulong }
124     { z ulong }
125     { w ulong } ;
126
127 STRUCT: longlong1
128     { x longlong } ;
129 STRUCT: longlong2
130     { x longlong }
131     { y longlong } ;
132 STRUCT: longlong3
133     { x longlong }
134     { y longlong }
135     { z longlong } ;
136 STRUCT: longlong4
137     { x longlong }
138     { y longlong }
139     { z longlong }
140     { w longlong } ;
141
142 STRUCT: ulonglong1
143     { x ulonglong } ;
144 STRUCT: ulonglong2
145     { x ulonglong }
146     { y ulonglong } ;
147 STRUCT: ulonglong3
148     { x ulonglong }
149     { y ulonglong }
150     { z ulonglong } ;
151 STRUCT: ulonglong4
152     { x ulonglong }
153     { y ulonglong }
154     { z ulonglong }
155     { w ulonglong } ;
156
157 STRUCT: float1
158     { x float } ;
159 STRUCT: float2
160     { x float }
161     { y float } ;
162 STRUCT: float3
163     { x float }
164     { y float }
165     { z float } ;
166 STRUCT: float4
167     { x float }
168     { y float }
169     { z float }
170     { w float } ;
171
172 STRUCT: double1
173     { x double } ;
174 STRUCT: double2
175     { x double }
176     { y double } ;
177 STRUCT: double3
178     { x double }
179     { y double }
180     { z double } ;
181 STRUCT: double4
182     { x double }
183     { y double }
184     { z double }
185     { w double } ;
186
187 char2 lookup-c-type
188     2 >>align
189     2 >>align-first
190     drop
191 char4 lookup-c-type
192     4 >>align
193     4 >>align-first
194     drop
195
196 uchar2 lookup-c-type
197     2 >>align
198     2 >>align-first
199     drop
200 uchar4 lookup-c-type
201     4 >>align
202     4 >>align-first
203     drop
204
205 short2 lookup-c-type
206     4 >>align
207     4 >>align-first
208     drop
209 short4 lookup-c-type
210     8 >>align
211     8 >>align-first
212     drop
213
214 ushort2 lookup-c-type
215     4 >>align
216     4 >>align-first
217     drop
218 ushort4 lookup-c-type
219     8 >>align
220     8 >>align-first
221     drop
222
223 int2 lookup-c-type
224     8 >>align
225     8 >>align-first
226     drop
227 int4 lookup-c-type
228     16 >>align
229     16 >>align-first
230     drop
231
232 uint2 lookup-c-type
233     8 >>align
234     8 >>align-first
235     drop
236 uint4 lookup-c-type
237     16 >>align
238     16 >>align-first
239     drop
240
241 long2 lookup-c-type
242     long heap-size 2 * >>align
243     long heap-size 2 * >>align-first
244     drop
245 long4 lookup-c-type
246     16 >>align
247     16 >>align-first
248     drop
249
250 ulong2 lookup-c-type
251     long heap-size 2 * >>align
252     long heap-size 2 * >>align-first
253     drop
254 ulong4 lookup-c-type
255     16 >>align
256     16 >>align-first
257     drop
258
259 longlong2 lookup-c-type
260     16 >>align
261     16 >>align-first
262     drop
263 longlong4 lookup-c-type
264     16 >>align
265     16 >>align-first
266     drop
267
268 ulonglong2 lookup-c-type
269     16 >>align
270     16 >>align-first
271     drop
272 ulonglong4 lookup-c-type
273     16 >>align
274     16 >>align-first
275     drop
276
277 float2 lookup-c-type
278     8 >>align
279     8 >>align-first
280     drop
281 float4 lookup-c-type
282     16 >>align
283     16 >>align-first
284     drop
285
286 double2 lookup-c-type
287     16 >>align
288     16 >>align-first
289     drop
290 double4 lookup-c-type
291     16 >>align
292     16 >>align-first
293     drop