GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_convert_scale.gen.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.1-or-later
2/*
3 * gp_convert_scale.gen.h
4 *
5 * GENERATED on 2024 04 14 13:01:16 from gp_convert_scale.gen.h.t
6 *
7 * DO NOT MODIFY THIS FILE DIRECTLY!
8 */
9#ifndef GP_CONVERT_SCALE_GEN_H
10#define GP_CONVERT_SCALE_GEN_H
11
12/*
13 * Copyright (C) 2011 Tomas Gavenciak <gavento@ucw.cz>
14 * Copyright (C) 2013-2024 Cyril Hrubis <metan@ucw.cz>
15 */
16
35#define GP_SCALE_VAL(s1, s2, val) ( GP_SCALE_VAL_##s1##_##s2(val) )
36
37#define GP_SCALE_VAL_1_1(val) ((val) >> 0)
38#define GP_SCALE_VAL_1_2(val) (((val) * (0+0x1+0x2)) >> 0)
39#define GP_SCALE_VAL_1_3(val) (((val) * (0+0x1+0x2+0x4)) >> 0)
40#define GP_SCALE_VAL_1_4(val) (((val) * (0+0x1+0x2+0x4+0x8)) >> 0)
41#define GP_SCALE_VAL_1_5(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10)) >> 0)
42#define GP_SCALE_VAL_1_6(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20)) >> 0)
43#define GP_SCALE_VAL_1_7(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40)) >> 0)
44#define GP_SCALE_VAL_1_8(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80)) >> 0)
45#define GP_SCALE_VAL_1_9(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100)) >> 0)
46#define GP_SCALE_VAL_1_10(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200)) >> 0)
47#define GP_SCALE_VAL_1_11(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200+0x400)) >> 0)
48#define GP_SCALE_VAL_1_12(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200+0x400+0x800)) >> 0)
49#define GP_SCALE_VAL_1_13(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200+0x400+0x800+0x1000)) >> 0)
50#define GP_SCALE_VAL_1_14(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200+0x400+0x800+0x1000+0x2000)) >> 0)
51#define GP_SCALE_VAL_1_15(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200+0x400+0x800+0x1000+0x2000+0x4000)) >> 0)
52#define GP_SCALE_VAL_1_16(val) (((val) * (0+0x1+0x2+0x4+0x8+0x10+0x20+0x40+0x80+0x100+0x200+0x400+0x800+0x1000+0x2000+0x4000+0x8000)) >> 0)
53#define GP_SCALE_VAL_2_1(val) ((val) >> 1)
54#define GP_SCALE_VAL_2_2(val) ((val) >> 0)
55#define GP_SCALE_VAL_2_3(val) (((val) * (0+0x1+0x4)) >> 1)
56#define GP_SCALE_VAL_2_4(val) (((val) * (0+0x1+0x4)) >> 0)
57#define GP_SCALE_VAL_2_5(val) (((val) * (0+0x1+0x4+0x10)) >> 1)
58#define GP_SCALE_VAL_2_6(val) (((val) * (0+0x1+0x4+0x10)) >> 0)
59#define GP_SCALE_VAL_2_7(val) (((val) * (0+0x1+0x4+0x10+0x40)) >> 1)
60#define GP_SCALE_VAL_2_8(val) (((val) * (0+0x1+0x4+0x10+0x40)) >> 0)
61#define GP_SCALE_VAL_2_9(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100)) >> 1)
62#define GP_SCALE_VAL_2_10(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100)) >> 0)
63#define GP_SCALE_VAL_2_11(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100+0x400)) >> 1)
64#define GP_SCALE_VAL_2_12(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100+0x400)) >> 0)
65#define GP_SCALE_VAL_2_13(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100+0x400+0x1000)) >> 1)
66#define GP_SCALE_VAL_2_14(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100+0x400+0x1000)) >> 0)
67#define GP_SCALE_VAL_2_15(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100+0x400+0x1000+0x4000)) >> 1)
68#define GP_SCALE_VAL_2_16(val) (((val) * (0+0x1+0x4+0x10+0x40+0x100+0x400+0x1000+0x4000)) >> 0)
69#define GP_SCALE_VAL_3_1(val) ((val) >> 2)
70#define GP_SCALE_VAL_3_2(val) ((val) >> 1)
71#define GP_SCALE_VAL_3_3(val) ((val) >> 0)
72#define GP_SCALE_VAL_3_4(val) (((val) * (0+0x1+0x8)) >> 2)
73#define GP_SCALE_VAL_3_5(val) (((val) * (0+0x1+0x8)) >> 1)
74#define GP_SCALE_VAL_3_6(val) (((val) * (0+0x1+0x8)) >> 0)
75#define GP_SCALE_VAL_3_7(val) (((val) * (0+0x1+0x8+0x40)) >> 2)
76#define GP_SCALE_VAL_3_8(val) (((val) * (0+0x1+0x8+0x40)) >> 1)
77#define GP_SCALE_VAL_3_9(val) (((val) * (0+0x1+0x8+0x40)) >> 0)
78#define GP_SCALE_VAL_3_10(val) (((val) * (0+0x1+0x8+0x40+0x200)) >> 2)
79#define GP_SCALE_VAL_3_11(val) (((val) * (0+0x1+0x8+0x40+0x200)) >> 1)
80#define GP_SCALE_VAL_3_12(val) (((val) * (0+0x1+0x8+0x40+0x200)) >> 0)
81#define GP_SCALE_VAL_3_13(val) (((val) * (0+0x1+0x8+0x40+0x200+0x1000)) >> 2)
82#define GP_SCALE_VAL_3_14(val) (((val) * (0+0x1+0x8+0x40+0x200+0x1000)) >> 1)
83#define GP_SCALE_VAL_3_15(val) (((val) * (0+0x1+0x8+0x40+0x200+0x1000)) >> 0)
84#define GP_SCALE_VAL_3_16(val) (((val) * (0+0x1+0x8+0x40+0x200+0x1000+0x8000)) >> 2)
85#define GP_SCALE_VAL_4_1(val) ((val) >> 3)
86#define GP_SCALE_VAL_4_2(val) ((val) >> 2)
87#define GP_SCALE_VAL_4_3(val) ((val) >> 1)
88#define GP_SCALE_VAL_4_4(val) ((val) >> 0)
89#define GP_SCALE_VAL_4_5(val) (((val) * (0+0x1+0x10)) >> 3)
90#define GP_SCALE_VAL_4_6(val) (((val) * (0+0x1+0x10)) >> 2)
91#define GP_SCALE_VAL_4_7(val) (((val) * (0+0x1+0x10)) >> 1)
92#define GP_SCALE_VAL_4_8(val) (((val) * (0+0x1+0x10)) >> 0)
93#define GP_SCALE_VAL_4_9(val) (((val) * (0+0x1+0x10+0x100)) >> 3)
94#define GP_SCALE_VAL_4_10(val) (((val) * (0+0x1+0x10+0x100)) >> 2)
95#define GP_SCALE_VAL_4_11(val) (((val) * (0+0x1+0x10+0x100)) >> 1)
96#define GP_SCALE_VAL_4_12(val) (((val) * (0+0x1+0x10+0x100)) >> 0)
97#define GP_SCALE_VAL_4_13(val) (((val) * (0+0x1+0x10+0x100+0x1000)) >> 3)
98#define GP_SCALE_VAL_4_14(val) (((val) * (0+0x1+0x10+0x100+0x1000)) >> 2)
99#define GP_SCALE_VAL_4_15(val) (((val) * (0+0x1+0x10+0x100+0x1000)) >> 1)
100#define GP_SCALE_VAL_4_16(val) (((val) * (0+0x1+0x10+0x100+0x1000)) >> 0)
101#define GP_SCALE_VAL_5_1(val) ((val) >> 4)
102#define GP_SCALE_VAL_5_2(val) ((val) >> 3)
103#define GP_SCALE_VAL_5_3(val) ((val) >> 2)
104#define GP_SCALE_VAL_5_4(val) ((val) >> 1)
105#define GP_SCALE_VAL_5_5(val) ((val) >> 0)
106#define GP_SCALE_VAL_5_6(val) (((val) * (0+0x1+0x20)) >> 4)
107#define GP_SCALE_VAL_5_7(val) (((val) * (0+0x1+0x20)) >> 3)
108#define GP_SCALE_VAL_5_8(val) (((val) * (0+0x1+0x20)) >> 2)
109#define GP_SCALE_VAL_5_9(val) (((val) * (0+0x1+0x20)) >> 1)
110#define GP_SCALE_VAL_5_10(val) (((val) * (0+0x1+0x20)) >> 0)
111#define GP_SCALE_VAL_5_11(val) (((val) * (0+0x1+0x20+0x400)) >> 4)
112#define GP_SCALE_VAL_5_12(val) (((val) * (0+0x1+0x20+0x400)) >> 3)
113#define GP_SCALE_VAL_5_13(val) (((val) * (0+0x1+0x20+0x400)) >> 2)
114#define GP_SCALE_VAL_5_14(val) (((val) * (0+0x1+0x20+0x400)) >> 1)
115#define GP_SCALE_VAL_5_15(val) (((val) * (0+0x1+0x20+0x400)) >> 0)
116#define GP_SCALE_VAL_5_16(val) (((val) * (0+0x1+0x20+0x400+0x8000)) >> 4)
117#define GP_SCALE_VAL_6_1(val) ((val) >> 5)
118#define GP_SCALE_VAL_6_2(val) ((val) >> 4)
119#define GP_SCALE_VAL_6_3(val) ((val) >> 3)
120#define GP_SCALE_VAL_6_4(val) ((val) >> 2)
121#define GP_SCALE_VAL_6_5(val) ((val) >> 1)
122#define GP_SCALE_VAL_6_6(val) ((val) >> 0)
123#define GP_SCALE_VAL_6_7(val) (((val) * (0+0x1+0x40)) >> 5)
124#define GP_SCALE_VAL_6_8(val) (((val) * (0+0x1+0x40)) >> 4)
125#define GP_SCALE_VAL_6_9(val) (((val) * (0+0x1+0x40)) >> 3)
126#define GP_SCALE_VAL_6_10(val) (((val) * (0+0x1+0x40)) >> 2)
127#define GP_SCALE_VAL_6_11(val) (((val) * (0+0x1+0x40)) >> 1)
128#define GP_SCALE_VAL_6_12(val) (((val) * (0+0x1+0x40)) >> 0)
129#define GP_SCALE_VAL_6_13(val) (((val) * (0+0x1+0x40+0x1000)) >> 5)
130#define GP_SCALE_VAL_6_14(val) (((val) * (0+0x1+0x40+0x1000)) >> 4)
131#define GP_SCALE_VAL_6_15(val) (((val) * (0+0x1+0x40+0x1000)) >> 3)
132#define GP_SCALE_VAL_6_16(val) (((val) * (0+0x1+0x40+0x1000)) >> 2)
133#define GP_SCALE_VAL_7_1(val) ((val) >> 6)
134#define GP_SCALE_VAL_7_2(val) ((val) >> 5)
135#define GP_SCALE_VAL_7_3(val) ((val) >> 4)
136#define GP_SCALE_VAL_7_4(val) ((val) >> 3)
137#define GP_SCALE_VAL_7_5(val) ((val) >> 2)
138#define GP_SCALE_VAL_7_6(val) ((val) >> 1)
139#define GP_SCALE_VAL_7_7(val) ((val) >> 0)
140#define GP_SCALE_VAL_7_8(val) (((val) * (0+0x1+0x80)) >> 6)
141#define GP_SCALE_VAL_7_9(val) (((val) * (0+0x1+0x80)) >> 5)
142#define GP_SCALE_VAL_7_10(val) (((val) * (0+0x1+0x80)) >> 4)
143#define GP_SCALE_VAL_7_11(val) (((val) * (0+0x1+0x80)) >> 3)
144#define GP_SCALE_VAL_7_12(val) (((val) * (0+0x1+0x80)) >> 2)
145#define GP_SCALE_VAL_7_13(val) (((val) * (0+0x1+0x80)) >> 1)
146#define GP_SCALE_VAL_7_14(val) (((val) * (0+0x1+0x80)) >> 0)
147#define GP_SCALE_VAL_7_15(val) (((val) * (0+0x1+0x80+0x4000)) >> 6)
148#define GP_SCALE_VAL_7_16(val) (((val) * (0+0x1+0x80+0x4000)) >> 5)
149#define GP_SCALE_VAL_8_1(val) ((val) >> 7)
150#define GP_SCALE_VAL_8_2(val) ((val) >> 6)
151#define GP_SCALE_VAL_8_3(val) ((val) >> 5)
152#define GP_SCALE_VAL_8_4(val) ((val) >> 4)
153#define GP_SCALE_VAL_8_5(val) ((val) >> 3)
154#define GP_SCALE_VAL_8_6(val) ((val) >> 2)
155#define GP_SCALE_VAL_8_7(val) ((val) >> 1)
156#define GP_SCALE_VAL_8_8(val) ((val) >> 0)
157#define GP_SCALE_VAL_8_9(val) (((val) * (0+0x1+0x100)) >> 7)
158#define GP_SCALE_VAL_8_10(val) (((val) * (0+0x1+0x100)) >> 6)
159#define GP_SCALE_VAL_8_11(val) (((val) * (0+0x1+0x100)) >> 5)
160#define GP_SCALE_VAL_8_12(val) (((val) * (0+0x1+0x100)) >> 4)
161#define GP_SCALE_VAL_8_13(val) (((val) * (0+0x1+0x100)) >> 3)
162#define GP_SCALE_VAL_8_14(val) (((val) * (0+0x1+0x100)) >> 2)
163#define GP_SCALE_VAL_8_15(val) (((val) * (0+0x1+0x100)) >> 1)
164#define GP_SCALE_VAL_8_16(val) (((val) * (0+0x1+0x100)) >> 0)
165#define GP_SCALE_VAL_9_1(val) ((val) >> 8)
166#define GP_SCALE_VAL_9_2(val) ((val) >> 7)
167#define GP_SCALE_VAL_9_3(val) ((val) >> 6)
168#define GP_SCALE_VAL_9_4(val) ((val) >> 5)
169#define GP_SCALE_VAL_9_5(val) ((val) >> 4)
170#define GP_SCALE_VAL_9_6(val) ((val) >> 3)
171#define GP_SCALE_VAL_9_7(val) ((val) >> 2)
172#define GP_SCALE_VAL_9_8(val) ((val) >> 1)
173#define GP_SCALE_VAL_9_9(val) ((val) >> 0)
174#define GP_SCALE_VAL_9_10(val) (((val) * (0+0x1+0x200)) >> 8)
175#define GP_SCALE_VAL_9_11(val) (((val) * (0+0x1+0x200)) >> 7)
176#define GP_SCALE_VAL_9_12(val) (((val) * (0+0x1+0x200)) >> 6)
177#define GP_SCALE_VAL_9_13(val) (((val) * (0+0x1+0x200)) >> 5)
178#define GP_SCALE_VAL_9_14(val) (((val) * (0+0x1+0x200)) >> 4)
179#define GP_SCALE_VAL_9_15(val) (((val) * (0+0x1+0x200)) >> 3)
180#define GP_SCALE_VAL_9_16(val) (((val) * (0+0x1+0x200)) >> 2)
181#define GP_SCALE_VAL_10_1(val) ((val) >> 9)
182#define GP_SCALE_VAL_10_2(val) ((val) >> 8)
183#define GP_SCALE_VAL_10_3(val) ((val) >> 7)
184#define GP_SCALE_VAL_10_4(val) ((val) >> 6)
185#define GP_SCALE_VAL_10_5(val) ((val) >> 5)
186#define GP_SCALE_VAL_10_6(val) ((val) >> 4)
187#define GP_SCALE_VAL_10_7(val) ((val) >> 3)
188#define GP_SCALE_VAL_10_8(val) ((val) >> 2)
189#define GP_SCALE_VAL_10_9(val) ((val) >> 1)
190#define GP_SCALE_VAL_10_10(val) ((val) >> 0)
191#define GP_SCALE_VAL_10_11(val) (((val) * (0+0x1+0x400)) >> 9)
192#define GP_SCALE_VAL_10_12(val) (((val) * (0+0x1+0x400)) >> 8)
193#define GP_SCALE_VAL_10_13(val) (((val) * (0+0x1+0x400)) >> 7)
194#define GP_SCALE_VAL_10_14(val) (((val) * (0+0x1+0x400)) >> 6)
195#define GP_SCALE_VAL_10_15(val) (((val) * (0+0x1+0x400)) >> 5)
196#define GP_SCALE_VAL_10_16(val) (((val) * (0+0x1+0x400)) >> 4)
197#define GP_SCALE_VAL_11_1(val) ((val) >> 10)
198#define GP_SCALE_VAL_11_2(val) ((val) >> 9)
199#define GP_SCALE_VAL_11_3(val) ((val) >> 8)
200#define GP_SCALE_VAL_11_4(val) ((val) >> 7)
201#define GP_SCALE_VAL_11_5(val) ((val) >> 6)
202#define GP_SCALE_VAL_11_6(val) ((val) >> 5)
203#define GP_SCALE_VAL_11_7(val) ((val) >> 4)
204#define GP_SCALE_VAL_11_8(val) ((val) >> 3)
205#define GP_SCALE_VAL_11_9(val) ((val) >> 2)
206#define GP_SCALE_VAL_11_10(val) ((val) >> 1)
207#define GP_SCALE_VAL_11_11(val) ((val) >> 0)
208#define GP_SCALE_VAL_11_12(val) (((val) * (0+0x1+0x800)) >> 10)
209#define GP_SCALE_VAL_11_13(val) (((val) * (0+0x1+0x800)) >> 9)
210#define GP_SCALE_VAL_11_14(val) (((val) * (0+0x1+0x800)) >> 8)
211#define GP_SCALE_VAL_11_15(val) (((val) * (0+0x1+0x800)) >> 7)
212#define GP_SCALE_VAL_11_16(val) (((val) * (0+0x1+0x800)) >> 6)
213#define GP_SCALE_VAL_12_1(val) ((val) >> 11)
214#define GP_SCALE_VAL_12_2(val) ((val) >> 10)
215#define GP_SCALE_VAL_12_3(val) ((val) >> 9)
216#define GP_SCALE_VAL_12_4(val) ((val) >> 8)
217#define GP_SCALE_VAL_12_5(val) ((val) >> 7)
218#define GP_SCALE_VAL_12_6(val) ((val) >> 6)
219#define GP_SCALE_VAL_12_7(val) ((val) >> 5)
220#define GP_SCALE_VAL_12_8(val) ((val) >> 4)
221#define GP_SCALE_VAL_12_9(val) ((val) >> 3)
222#define GP_SCALE_VAL_12_10(val) ((val) >> 2)
223#define GP_SCALE_VAL_12_11(val) ((val) >> 1)
224#define GP_SCALE_VAL_12_12(val) ((val) >> 0)
225#define GP_SCALE_VAL_12_13(val) (((val) * (0+0x1+0x1000)) >> 11)
226#define GP_SCALE_VAL_12_14(val) (((val) * (0+0x1+0x1000)) >> 10)
227#define GP_SCALE_VAL_12_15(val) (((val) * (0+0x1+0x1000)) >> 9)
228#define GP_SCALE_VAL_12_16(val) (((val) * (0+0x1+0x1000)) >> 8)
229#define GP_SCALE_VAL_13_1(val) ((val) >> 12)
230#define GP_SCALE_VAL_13_2(val) ((val) >> 11)
231#define GP_SCALE_VAL_13_3(val) ((val) >> 10)
232#define GP_SCALE_VAL_13_4(val) ((val) >> 9)
233#define GP_SCALE_VAL_13_5(val) ((val) >> 8)
234#define GP_SCALE_VAL_13_6(val) ((val) >> 7)
235#define GP_SCALE_VAL_13_7(val) ((val) >> 6)
236#define GP_SCALE_VAL_13_8(val) ((val) >> 5)
237#define GP_SCALE_VAL_13_9(val) ((val) >> 4)
238#define GP_SCALE_VAL_13_10(val) ((val) >> 3)
239#define GP_SCALE_VAL_13_11(val) ((val) >> 2)
240#define GP_SCALE_VAL_13_12(val) ((val) >> 1)
241#define GP_SCALE_VAL_13_13(val) ((val) >> 0)
242#define GP_SCALE_VAL_13_14(val) (((val) * (0+0x1+0x2000)) >> 12)
243#define GP_SCALE_VAL_13_15(val) (((val) * (0+0x1+0x2000)) >> 11)
244#define GP_SCALE_VAL_13_16(val) (((val) * (0+0x1+0x2000)) >> 10)
245#define GP_SCALE_VAL_14_1(val) ((val) >> 13)
246#define GP_SCALE_VAL_14_2(val) ((val) >> 12)
247#define GP_SCALE_VAL_14_3(val) ((val) >> 11)
248#define GP_SCALE_VAL_14_4(val) ((val) >> 10)
249#define GP_SCALE_VAL_14_5(val) ((val) >> 9)
250#define GP_SCALE_VAL_14_6(val) ((val) >> 8)
251#define GP_SCALE_VAL_14_7(val) ((val) >> 7)
252#define GP_SCALE_VAL_14_8(val) ((val) >> 6)
253#define GP_SCALE_VAL_14_9(val) ((val) >> 5)
254#define GP_SCALE_VAL_14_10(val) ((val) >> 4)
255#define GP_SCALE_VAL_14_11(val) ((val) >> 3)
256#define GP_SCALE_VAL_14_12(val) ((val) >> 2)
257#define GP_SCALE_VAL_14_13(val) ((val) >> 1)
258#define GP_SCALE_VAL_14_14(val) ((val) >> 0)
259#define GP_SCALE_VAL_14_15(val) (((val) * (0+0x1+0x4000)) >> 13)
260#define GP_SCALE_VAL_14_16(val) (((val) * (0+0x1+0x4000)) >> 12)
261#define GP_SCALE_VAL_15_1(val) ((val) >> 14)
262#define GP_SCALE_VAL_15_2(val) ((val) >> 13)
263#define GP_SCALE_VAL_15_3(val) ((val) >> 12)
264#define GP_SCALE_VAL_15_4(val) ((val) >> 11)
265#define GP_SCALE_VAL_15_5(val) ((val) >> 10)
266#define GP_SCALE_VAL_15_6(val) ((val) >> 9)
267#define GP_SCALE_VAL_15_7(val) ((val) >> 8)
268#define GP_SCALE_VAL_15_8(val) ((val) >> 7)
269#define GP_SCALE_VAL_15_9(val) ((val) >> 6)
270#define GP_SCALE_VAL_15_10(val) ((val) >> 5)
271#define GP_SCALE_VAL_15_11(val) ((val) >> 4)
272#define GP_SCALE_VAL_15_12(val) ((val) >> 3)
273#define GP_SCALE_VAL_15_13(val) ((val) >> 2)
274#define GP_SCALE_VAL_15_14(val) ((val) >> 1)
275#define GP_SCALE_VAL_15_15(val) ((val) >> 0)
276#define GP_SCALE_VAL_15_16(val) (((val) * (0+0x1+0x8000)) >> 14)
277#define GP_SCALE_VAL_16_1(val) ((val) >> 15)
278#define GP_SCALE_VAL_16_2(val) ((val) >> 14)
279#define GP_SCALE_VAL_16_3(val) ((val) >> 13)
280#define GP_SCALE_VAL_16_4(val) ((val) >> 12)
281#define GP_SCALE_VAL_16_5(val) ((val) >> 11)
282#define GP_SCALE_VAL_16_6(val) ((val) >> 10)
283#define GP_SCALE_VAL_16_7(val) ((val) >> 9)
284#define GP_SCALE_VAL_16_8(val) ((val) >> 8)
285#define GP_SCALE_VAL_16_9(val) ((val) >> 7)
286#define GP_SCALE_VAL_16_10(val) ((val) >> 6)
287#define GP_SCALE_VAL_16_11(val) ((val) >> 5)
288#define GP_SCALE_VAL_16_12(val) ((val) >> 4)
289#define GP_SCALE_VAL_16_13(val) ((val) >> 3)
290#define GP_SCALE_VAL_16_14(val) ((val) >> 2)
291#define GP_SCALE_VAL_16_15(val) ((val) >> 1)
292#define GP_SCALE_VAL_16_16(val) ((val) >> 0)
293#define GP_SCALE_VAL_17_1(val) ((val) >> 16)
294#define GP_SCALE_VAL_17_2(val) ((val) >> 15)
295#define GP_SCALE_VAL_17_3(val) ((val) >> 14)
296#define GP_SCALE_VAL_17_4(val) ((val) >> 13)
297#define GP_SCALE_VAL_17_5(val) ((val) >> 12)
298#define GP_SCALE_VAL_17_6(val) ((val) >> 11)
299#define GP_SCALE_VAL_17_7(val) ((val) >> 10)
300#define GP_SCALE_VAL_17_8(val) ((val) >> 9)
301#define GP_SCALE_VAL_17_9(val) ((val) >> 8)
302#define GP_SCALE_VAL_17_10(val) ((val) >> 7)
303#define GP_SCALE_VAL_17_11(val) ((val) >> 6)
304#define GP_SCALE_VAL_17_12(val) ((val) >> 5)
305#define GP_SCALE_VAL_17_13(val) ((val) >> 4)
306#define GP_SCALE_VAL_17_14(val) ((val) >> 3)
307#define GP_SCALE_VAL_17_15(val) ((val) >> 2)
308#define GP_SCALE_VAL_17_16(val) ((val) >> 1)
309#define GP_SCALE_VAL_18_1(val) ((val) >> 17)
310#define GP_SCALE_VAL_18_2(val) ((val) >> 16)
311#define GP_SCALE_VAL_18_3(val) ((val) >> 15)
312#define GP_SCALE_VAL_18_4(val) ((val) >> 14)
313#define GP_SCALE_VAL_18_5(val) ((val) >> 13)
314#define GP_SCALE_VAL_18_6(val) ((val) >> 12)
315#define GP_SCALE_VAL_18_7(val) ((val) >> 11)
316#define GP_SCALE_VAL_18_8(val) ((val) >> 10)
317#define GP_SCALE_VAL_18_9(val) ((val) >> 9)
318#define GP_SCALE_VAL_18_10(val) ((val) >> 8)
319#define GP_SCALE_VAL_18_11(val) ((val) >> 7)
320#define GP_SCALE_VAL_18_12(val) ((val) >> 6)
321#define GP_SCALE_VAL_18_13(val) ((val) >> 5)
322#define GP_SCALE_VAL_18_14(val) ((val) >> 4)
323#define GP_SCALE_VAL_18_15(val) ((val) >> 3)
324#define GP_SCALE_VAL_18_16(val) ((val) >> 2)
325#define GP_SCALE_VAL_19_1(val) ((val) >> 18)
326#define GP_SCALE_VAL_19_2(val) ((val) >> 17)
327#define GP_SCALE_VAL_19_3(val) ((val) >> 16)
328#define GP_SCALE_VAL_19_4(val) ((val) >> 15)
329#define GP_SCALE_VAL_19_5(val) ((val) >> 14)
330#define GP_SCALE_VAL_19_6(val) ((val) >> 13)
331#define GP_SCALE_VAL_19_7(val) ((val) >> 12)
332#define GP_SCALE_VAL_19_8(val) ((val) >> 11)
333#define GP_SCALE_VAL_19_9(val) ((val) >> 10)
334#define GP_SCALE_VAL_19_10(val) ((val) >> 9)
335#define GP_SCALE_VAL_19_11(val) ((val) >> 8)
336#define GP_SCALE_VAL_19_12(val) ((val) >> 7)
337#define GP_SCALE_VAL_19_13(val) ((val) >> 6)
338#define GP_SCALE_VAL_19_14(val) ((val) >> 5)
339#define GP_SCALE_VAL_19_15(val) ((val) >> 4)
340#define GP_SCALE_VAL_19_16(val) ((val) >> 3)
341#define GP_SCALE_VAL_20_1(val) ((val) >> 19)
342#define GP_SCALE_VAL_20_2(val) ((val) >> 18)
343#define GP_SCALE_VAL_20_3(val) ((val) >> 17)
344#define GP_SCALE_VAL_20_4(val) ((val) >> 16)
345#define GP_SCALE_VAL_20_5(val) ((val) >> 15)
346#define GP_SCALE_VAL_20_6(val) ((val) >> 14)
347#define GP_SCALE_VAL_20_7(val) ((val) >> 13)
348#define GP_SCALE_VAL_20_8(val) ((val) >> 12)
349#define GP_SCALE_VAL_20_9(val) ((val) >> 11)
350#define GP_SCALE_VAL_20_10(val) ((val) >> 10)
351#define GP_SCALE_VAL_20_11(val) ((val) >> 9)
352#define GP_SCALE_VAL_20_12(val) ((val) >> 8)
353#define GP_SCALE_VAL_20_13(val) ((val) >> 7)
354#define GP_SCALE_VAL_20_14(val) ((val) >> 6)
355#define GP_SCALE_VAL_20_15(val) ((val) >> 5)
356#define GP_SCALE_VAL_20_16(val) ((val) >> 4)
357#define GP_SCALE_VAL_21_1(val) ((val) >> 20)
358#define GP_SCALE_VAL_21_2(val) ((val) >> 19)
359#define GP_SCALE_VAL_21_3(val) ((val) >> 18)
360#define GP_SCALE_VAL_21_4(val) ((val) >> 17)
361#define GP_SCALE_VAL_21_5(val) ((val) >> 16)
362#define GP_SCALE_VAL_21_6(val) ((val) >> 15)
363#define GP_SCALE_VAL_21_7(val) ((val) >> 14)
364#define GP_SCALE_VAL_21_8(val) ((val) >> 13)
365#define GP_SCALE_VAL_21_9(val) ((val) >> 12)
366#define GP_SCALE_VAL_21_10(val) ((val) >> 11)
367#define GP_SCALE_VAL_21_11(val) ((val) >> 10)
368#define GP_SCALE_VAL_21_12(val) ((val) >> 9)
369#define GP_SCALE_VAL_21_13(val) ((val) >> 8)
370#define GP_SCALE_VAL_21_14(val) ((val) >> 7)
371#define GP_SCALE_VAL_21_15(val) ((val) >> 6)
372#define GP_SCALE_VAL_21_16(val) ((val) >> 5)
373#define GP_SCALE_VAL_22_1(val) ((val) >> 21)
374#define GP_SCALE_VAL_22_2(val) ((val) >> 20)
375#define GP_SCALE_VAL_22_3(val) ((val) >> 19)
376#define GP_SCALE_VAL_22_4(val) ((val) >> 18)
377#define GP_SCALE_VAL_22_5(val) ((val) >> 17)
378#define GP_SCALE_VAL_22_6(val) ((val) >> 16)
379#define GP_SCALE_VAL_22_7(val) ((val) >> 15)
380#define GP_SCALE_VAL_22_8(val) ((val) >> 14)
381#define GP_SCALE_VAL_22_9(val) ((val) >> 13)
382#define GP_SCALE_VAL_22_10(val) ((val) >> 12)
383#define GP_SCALE_VAL_22_11(val) ((val) >> 11)
384#define GP_SCALE_VAL_22_12(val) ((val) >> 10)
385#define GP_SCALE_VAL_22_13(val) ((val) >> 9)
386#define GP_SCALE_VAL_22_14(val) ((val) >> 8)
387#define GP_SCALE_VAL_22_15(val) ((val) >> 7)
388#define GP_SCALE_VAL_22_16(val) ((val) >> 6)
389#define GP_SCALE_VAL_23_1(val) ((val) >> 22)
390#define GP_SCALE_VAL_23_2(val) ((val) >> 21)
391#define GP_SCALE_VAL_23_3(val) ((val) >> 20)
392#define GP_SCALE_VAL_23_4(val) ((val) >> 19)
393#define GP_SCALE_VAL_23_5(val) ((val) >> 18)
394#define GP_SCALE_VAL_23_6(val) ((val) >> 17)
395#define GP_SCALE_VAL_23_7(val) ((val) >> 16)
396#define GP_SCALE_VAL_23_8(val) ((val) >> 15)
397#define GP_SCALE_VAL_23_9(val) ((val) >> 14)
398#define GP_SCALE_VAL_23_10(val) ((val) >> 13)
399#define GP_SCALE_VAL_23_11(val) ((val) >> 12)
400#define GP_SCALE_VAL_23_12(val) ((val) >> 11)
401#define GP_SCALE_VAL_23_13(val) ((val) >> 10)
402#define GP_SCALE_VAL_23_14(val) ((val) >> 9)
403#define GP_SCALE_VAL_23_15(val) ((val) >> 8)
404#define GP_SCALE_VAL_23_16(val) ((val) >> 7)
405#define GP_SCALE_VAL_24_1(val) ((val) >> 23)
406#define GP_SCALE_VAL_24_2(val) ((val) >> 22)
407#define GP_SCALE_VAL_24_3(val) ((val) >> 21)
408#define GP_SCALE_VAL_24_4(val) ((val) >> 20)
409#define GP_SCALE_VAL_24_5(val) ((val) >> 19)
410#define GP_SCALE_VAL_24_6(val) ((val) >> 18)
411#define GP_SCALE_VAL_24_7(val) ((val) >> 17)
412#define GP_SCALE_VAL_24_8(val) ((val) >> 16)
413#define GP_SCALE_VAL_24_9(val) ((val) >> 15)
414#define GP_SCALE_VAL_24_10(val) ((val) >> 14)
415#define GP_SCALE_VAL_24_11(val) ((val) >> 13)
416#define GP_SCALE_VAL_24_12(val) ((val) >> 12)
417#define GP_SCALE_VAL_24_13(val) ((val) >> 11)
418#define GP_SCALE_VAL_24_14(val) ((val) >> 10)
419#define GP_SCALE_VAL_24_15(val) ((val) >> 9)
420#define GP_SCALE_VAL_24_16(val) ((val) >> 8)
421#define GP_SCALE_VAL_25_1(val) ((val) >> 24)
422#define GP_SCALE_VAL_25_2(val) ((val) >> 23)
423#define GP_SCALE_VAL_25_3(val) ((val) >> 22)
424#define GP_SCALE_VAL_25_4(val) ((val) >> 21)
425#define GP_SCALE_VAL_25_5(val) ((val) >> 20)
426#define GP_SCALE_VAL_25_6(val) ((val) >> 19)
427#define GP_SCALE_VAL_25_7(val) ((val) >> 18)
428#define GP_SCALE_VAL_25_8(val) ((val) >> 17)
429#define GP_SCALE_VAL_25_9(val) ((val) >> 16)
430#define GP_SCALE_VAL_25_10(val) ((val) >> 15)
431#define GP_SCALE_VAL_25_11(val) ((val) >> 14)
432#define GP_SCALE_VAL_25_12(val) ((val) >> 13)
433#define GP_SCALE_VAL_25_13(val) ((val) >> 12)
434#define GP_SCALE_VAL_25_14(val) ((val) >> 11)
435#define GP_SCALE_VAL_25_15(val) ((val) >> 10)
436#define GP_SCALE_VAL_25_16(val) ((val) >> 9)
437#define GP_SCALE_VAL_26_1(val) ((val) >> 25)
438#define GP_SCALE_VAL_26_2(val) ((val) >> 24)
439#define GP_SCALE_VAL_26_3(val) ((val) >> 23)
440#define GP_SCALE_VAL_26_4(val) ((val) >> 22)
441#define GP_SCALE_VAL_26_5(val) ((val) >> 21)
442#define GP_SCALE_VAL_26_6(val) ((val) >> 20)
443#define GP_SCALE_VAL_26_7(val) ((val) >> 19)
444#define GP_SCALE_VAL_26_8(val) ((val) >> 18)
445#define GP_SCALE_VAL_26_9(val) ((val) >> 17)
446#define GP_SCALE_VAL_26_10(val) ((val) >> 16)
447#define GP_SCALE_VAL_26_11(val) ((val) >> 15)
448#define GP_SCALE_VAL_26_12(val) ((val) >> 14)
449#define GP_SCALE_VAL_26_13(val) ((val) >> 13)
450#define GP_SCALE_VAL_26_14(val) ((val) >> 12)
451#define GP_SCALE_VAL_26_15(val) ((val) >> 11)
452#define GP_SCALE_VAL_26_16(val) ((val) >> 10)
453#define GP_SCALE_VAL_27_1(val) ((val) >> 26)
454#define GP_SCALE_VAL_27_2(val) ((val) >> 25)
455#define GP_SCALE_VAL_27_3(val) ((val) >> 24)
456#define GP_SCALE_VAL_27_4(val) ((val) >> 23)
457#define GP_SCALE_VAL_27_5(val) ((val) >> 22)
458#define GP_SCALE_VAL_27_6(val) ((val) >> 21)
459#define GP_SCALE_VAL_27_7(val) ((val) >> 20)
460#define GP_SCALE_VAL_27_8(val) ((val) >> 19)
461#define GP_SCALE_VAL_27_9(val) ((val) >> 18)
462#define GP_SCALE_VAL_27_10(val) ((val) >> 17)
463#define GP_SCALE_VAL_27_11(val) ((val) >> 16)
464#define GP_SCALE_VAL_27_12(val) ((val) >> 15)
465#define GP_SCALE_VAL_27_13(val) ((val) >> 14)
466#define GP_SCALE_VAL_27_14(val) ((val) >> 13)
467#define GP_SCALE_VAL_27_15(val) ((val) >> 12)
468#define GP_SCALE_VAL_27_16(val) ((val) >> 11)
469#define GP_SCALE_VAL_28_1(val) ((val) >> 27)
470#define GP_SCALE_VAL_28_2(val) ((val) >> 26)
471#define GP_SCALE_VAL_28_3(val) ((val) >> 25)
472#define GP_SCALE_VAL_28_4(val) ((val) >> 24)
473#define GP_SCALE_VAL_28_5(val) ((val) >> 23)
474#define GP_SCALE_VAL_28_6(val) ((val) >> 22)
475#define GP_SCALE_VAL_28_7(val) ((val) >> 21)
476#define GP_SCALE_VAL_28_8(val) ((val) >> 20)
477#define GP_SCALE_VAL_28_9(val) ((val) >> 19)
478#define GP_SCALE_VAL_28_10(val) ((val) >> 18)
479#define GP_SCALE_VAL_28_11(val) ((val) >> 17)
480#define GP_SCALE_VAL_28_12(val) ((val) >> 16)
481#define GP_SCALE_VAL_28_13(val) ((val) >> 15)
482#define GP_SCALE_VAL_28_14(val) ((val) >> 14)
483#define GP_SCALE_VAL_28_15(val) ((val) >> 13)
484#define GP_SCALE_VAL_28_16(val) ((val) >> 12)
485#define GP_SCALE_VAL_29_1(val) ((val) >> 28)
486#define GP_SCALE_VAL_29_2(val) ((val) >> 27)
487#define GP_SCALE_VAL_29_3(val) ((val) >> 26)
488#define GP_SCALE_VAL_29_4(val) ((val) >> 25)
489#define GP_SCALE_VAL_29_5(val) ((val) >> 24)
490#define GP_SCALE_VAL_29_6(val) ((val) >> 23)
491#define GP_SCALE_VAL_29_7(val) ((val) >> 22)
492#define GP_SCALE_VAL_29_8(val) ((val) >> 21)
493#define GP_SCALE_VAL_29_9(val) ((val) >> 20)
494#define GP_SCALE_VAL_29_10(val) ((val) >> 19)
495#define GP_SCALE_VAL_29_11(val) ((val) >> 18)
496#define GP_SCALE_VAL_29_12(val) ((val) >> 17)
497#define GP_SCALE_VAL_29_13(val) ((val) >> 16)
498#define GP_SCALE_VAL_29_14(val) ((val) >> 15)
499#define GP_SCALE_VAL_29_15(val) ((val) >> 14)
500#define GP_SCALE_VAL_29_16(val) ((val) >> 13)
501#define GP_SCALE_VAL_30_1(val) ((val) >> 29)
502#define GP_SCALE_VAL_30_2(val) ((val) >> 28)
503#define GP_SCALE_VAL_30_3(val) ((val) >> 27)
504#define GP_SCALE_VAL_30_4(val) ((val) >> 26)
505#define GP_SCALE_VAL_30_5(val) ((val) >> 25)
506#define GP_SCALE_VAL_30_6(val) ((val) >> 24)
507#define GP_SCALE_VAL_30_7(val) ((val) >> 23)
508#define GP_SCALE_VAL_30_8(val) ((val) >> 22)
509#define GP_SCALE_VAL_30_9(val) ((val) >> 21)
510#define GP_SCALE_VAL_30_10(val) ((val) >> 20)
511#define GP_SCALE_VAL_30_11(val) ((val) >> 19)
512#define GP_SCALE_VAL_30_12(val) ((val) >> 18)
513#define GP_SCALE_VAL_30_13(val) ((val) >> 17)
514#define GP_SCALE_VAL_30_14(val) ((val) >> 16)
515#define GP_SCALE_VAL_30_15(val) ((val) >> 15)
516#define GP_SCALE_VAL_30_16(val) ((val) >> 14)
517#define GP_SCALE_VAL_31_1(val) ((val) >> 30)
518#define GP_SCALE_VAL_31_2(val) ((val) >> 29)
519#define GP_SCALE_VAL_31_3(val) ((val) >> 28)
520#define GP_SCALE_VAL_31_4(val) ((val) >> 27)
521#define GP_SCALE_VAL_31_5(val) ((val) >> 26)
522#define GP_SCALE_VAL_31_6(val) ((val) >> 25)
523#define GP_SCALE_VAL_31_7(val) ((val) >> 24)
524#define GP_SCALE_VAL_31_8(val) ((val) >> 23)
525#define GP_SCALE_VAL_31_9(val) ((val) >> 22)
526#define GP_SCALE_VAL_31_10(val) ((val) >> 21)
527#define GP_SCALE_VAL_31_11(val) ((val) >> 20)
528#define GP_SCALE_VAL_31_12(val) ((val) >> 19)
529#define GP_SCALE_VAL_31_13(val) ((val) >> 18)
530#define GP_SCALE_VAL_31_14(val) ((val) >> 17)
531#define GP_SCALE_VAL_31_15(val) ((val) >> 16)
532#define GP_SCALE_VAL_31_16(val) ((val) >> 15)
533#define GP_SCALE_VAL_32_1(val) ((val) >> 31)
534#define GP_SCALE_VAL_32_2(val) ((val) >> 30)
535#define GP_SCALE_VAL_32_3(val) ((val) >> 29)
536#define GP_SCALE_VAL_32_4(val) ((val) >> 28)
537#define GP_SCALE_VAL_32_5(val) ((val) >> 27)
538#define GP_SCALE_VAL_32_6(val) ((val) >> 26)
539#define GP_SCALE_VAL_32_7(val) ((val) >> 25)
540#define GP_SCALE_VAL_32_8(val) ((val) >> 24)
541#define GP_SCALE_VAL_32_9(val) ((val) >> 23)
542#define GP_SCALE_VAL_32_10(val) ((val) >> 22)
543#define GP_SCALE_VAL_32_11(val) ((val) >> 21)
544#define GP_SCALE_VAL_32_12(val) ((val) >> 20)
545#define GP_SCALE_VAL_32_13(val) ((val) >> 19)
546#define GP_SCALE_VAL_32_14(val) ((val) >> 18)
547#define GP_SCALE_VAL_32_15(val) ((val) >> 17)
548#define GP_SCALE_VAL_32_16(val) ((val) >> 16)
549#endif /* GP_CONVERT_SCALE_GEN_H */