11a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks/* 21a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * Copyright (C) 2017 The Android Open Source Project 31a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * 41a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * Licensed under the Apache License, Version 2.0 (the "License"); 51a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * you may not use this file except in compliance with the License. 61a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * You may obtain a copy of the License at 71a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * 81a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * http://www.apache.org/licenses/LICENSE-2.0 91a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * 101a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * Unless required by applicable law or agreed to in writing, software 111a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * distributed under the License is distributed on an "AS IS" BASIS, 121a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * See the License for the specific language governing permissions and 141a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks * limitations under the License. 151a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks */ 161a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 171a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubankspackage com.android.rs.unittest; 181a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 191a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanksimport android.content.Context; 201a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanksimport android.renderscript.RenderScript; 211a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 221a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubankspublic class UT_unsigned extends UnitTest { 231a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 241a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks public UT_unsigned(Context ctx) { 251a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks super("Unsigned", ctx); 261a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } 271a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 281a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks private boolean initializeGlobals(ScriptC_unsigned s) { 291a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks short pUC = s.get_uc(); 301a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks if (pUC != 5) { 311a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks return false; 321a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } 331a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks s.set_uc((short) 129); 341a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 351a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks long pUI = s.get_ui(); 361a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks if (pUI != 37) { 371a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks return false; 381a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } 391a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks s.set_ui(0x7fffffff); 401a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 411a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks return true; 421a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } 431a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks 441a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks public void run() { 454cad330154b7df7c3adf126b9f4b2665191a23a4Arthur Eubanks RenderScript pRS = createRenderScript(true); 461a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks ScriptC_unsigned s = new ScriptC_unsigned(pRS); 471a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks if (!initializeGlobals(s)) { 481a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks failTest(); 491a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } else { 501a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks s.invoke_unsigned_test(); 511a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks pRS.finish(); 521a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } 531a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks s.destroy(); 541a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks pRS.destroy(); 551a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks } 561a3e97c3ab51f602927a67d4abc50ffa6ce5ccbaArthur Eubanks} 57