1ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray/*
2ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * Copyright (C) 2013 The Android Open Source Project
3ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *
4ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * Licensed under the Apache License, Version 2.0 (the "License");
5ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * you may not use this file except in compliance with the License.
6ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * You may obtain a copy of the License at
7ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *
8ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *      http://www.apache.org/licenses/LICENSE-2.0
9ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *
10ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * Unless required by applicable law or agreed to in writing, software
11ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * distributed under the License is distributed on an "AS IS" BASIS,
12ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * See the License for the specific language governing permissions and
14ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * limitations under the License.
15ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray */
16ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
17ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murraypackage android.support.v8.renderscript;
18ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
19ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murrayclass ScriptIntrinsicBlendThunker extends ScriptIntrinsicBlend {
20ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    android.renderscript.ScriptIntrinsicBlend mN;
21ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
22ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    android.renderscript.ScriptIntrinsicBlend getNObj() {
23ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return mN;
24ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
25ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
26ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    ScriptIntrinsicBlendThunker(int id, RenderScript rs) {
27ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        super(id, rs);
28ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
29ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
30ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public static ScriptIntrinsicBlendThunker create(RenderScript rs, Element e) {
31ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        RenderScriptThunker rst = (RenderScriptThunker) rs;
32ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        ElementThunker et = (ElementThunker)e;
33ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
34ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        ScriptIntrinsicBlendThunker blend = new ScriptIntrinsicBlendThunker(0, rs);
35ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        blend.mN = android.renderscript.ScriptIntrinsicBlend.create(rst.mN, et.getNObj());
36ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return blend;
37ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
38ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
39ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachClear(Allocation ain, Allocation aout) {
40ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
41ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
42ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
43ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachClear(aint.getNObj(), aoutt.getNObj());
44ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
45ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
46ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDClear() {
47ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(0, 3, null, null);
48ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDClear();
49ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
50ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
51ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
52ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachSrc(Allocation ain, Allocation aout) {
53ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
54ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
55ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
56ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachSrc(aint.getNObj(), aoutt.getNObj());
57ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
58ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
59ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDSrc() {
60ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(1, 3, null, null);
61ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDSrc();
62ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
63ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
64ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
65ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachDst(Allocation ain, Allocation aout) {
66ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
67ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
68ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
69ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachDst(aint.getNObj(), aoutt.getNObj());
70ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
71ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
72ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDDst() {
73ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(2, 3, null, null);
74ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDDst();
75ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
76ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
77ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
78ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachSrcOver(Allocation ain, Allocation aout) {
79ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
80ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
81ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
82ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachSrcOver(aint.getNObj(), aoutt.getNObj());
83ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
84ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
85ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDSrcOver() {
86ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(3, 3, null, null);
87ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDSrcOver();
88ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
89ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
90ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
91ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachDstOver(Allocation ain, Allocation aout) {
92ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
93ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
94ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
95ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachDstOver(aint.getNObj(), aoutt.getNObj());
96ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
97ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
98ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDDstOver() {
99ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(4, 3, null, null);
100ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDDstOver();
101ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
102ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
103ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
104ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachSrcIn(Allocation ain, Allocation aout) {
105ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
106ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
107ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
108ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachSrcIn(aint.getNObj(), aoutt.getNObj());
109ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
110ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
111ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDSrcIn() {
112ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(5, 3, null, null);
113ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDSrcIn();
114ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
115ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
116ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
117ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachDstIn(Allocation ain, Allocation aout) {
118ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
119ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
120ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
121ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachDstIn(aint.getNObj(), aoutt.getNObj());
122ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
123ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
124ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDDstIn() {
125ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(6, 3, null, null);
126ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDDstIn();
127ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
128ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
129ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
130ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachSrcOut(Allocation ain, Allocation aout) {
131ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
132ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
133ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
134ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachSrcOut(aint.getNObj(), aoutt.getNObj());
135ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
136ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
137ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDSrcOut() {
138ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(7, 3, null, null);
139ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDSrcOut();
140ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
141ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
142ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
143ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachDstOut(Allocation ain, Allocation aout) {
144ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
145ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
146ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
147ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachDstOut(aint.getNObj(), aoutt.getNObj());
148ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
149ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
150ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDDstOut() {
151ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(8, 3, null, null);
152ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDDstOut();
153ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
154ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
155ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
156ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachSrcAtop(Allocation ain, Allocation aout) {
157ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
158ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
159ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
160ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachSrcAtop(aint.getNObj(), aoutt.getNObj());
161ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
162ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
163ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDSrcAtop() {
164ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(9, 3, null, null);
165ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDSrcAtop();
166ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
167ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
168ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
169ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachDstAtop(Allocation ain, Allocation aout) {
170ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
171ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
172ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
173ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachDstAtop(aint.getNObj(), aoutt.getNObj());
174ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
175ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
176ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDDstAtop() {
177ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(10, 3, null, null);
178ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDDstAtop();
179ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
180ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
181ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
182ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachXor(Allocation ain, Allocation aout) {
183ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
184ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
185ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
186ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachXor(aint.getNObj(), aoutt.getNObj());
187ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
188ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
189ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDXor() {
190ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(11, 3, null, null);
191ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDXor();
192ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
193ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
194ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
195ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachMultiply(Allocation ain, Allocation aout) {
196ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
197ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
198ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
199ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachMultiply(aint.getNObj(), aoutt.getNObj());
200ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
201ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
202ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDMultiply() {
203ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(14, 3, null, null);
204ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDMultiply();
205ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
206ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
207ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
208ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachAdd(Allocation ain, Allocation aout) {
209ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
210ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
211ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
212ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachAdd(aint.getNObj(), aoutt.getNObj());
213ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
214ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
215ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDAdd() {
216ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(34, 3, null, null);
217ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDAdd();
218ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
219ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
220ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
221ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEachSubtract(Allocation ain, Allocation aout) {
222ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
223ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
224ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
225ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.forEachSubtract(aint.getNObj(), aoutt.getNObj());
226ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
227ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
228ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelIDSubtract() {
229ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(35, 3, null, null);
230ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelIDSubtract();
231ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
232ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
233ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
234ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray}
235ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
236