Merge "MediaPlayerTest.testGetTrackInfo: fix effect-less statement" into lmp-dev
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
index 16a6609..6ec30e2 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
@@ -85,6 +85,37 @@
public static final int SESSION_CLOSE_TIMEOUT_MS = 2000;
public static final int SESSION_READY_TIMEOUT_MS = 2000;
public static final int SESSION_ACTIVE_TIMEOUT_MS = 1000;
+
+ public static final int MAX_READER_IMAGES = 5;
+
+ /**
+ * Create an {@link android.media.ImageReader} object and get the surface.
+ *
+ * @param size The size of this ImageReader to be created.
+ * @param format The format of this ImageReader to be created
+ * @param maxNumImages The max number of images that can be acquired simultaneously.
+ * @param listener The listener used by this ImageReader to notify callbacks.
+ * @param handler The handler to use for any listener callbacks.
+ */
+ public static ImageReader makeImageReader(Size size, int format, int maxNumImages,
+ ImageReader.OnImageAvailableListener listener, Handler handler) {
+ ImageReader reader = ImageReader.newInstance(size.getWidth(), size.getHeight(), format,
+ maxNumImages);
+ reader.setOnImageAvailableListener(listener, handler);
+ if (VERBOSE) Log.v(TAG, "Created ImageReader size " + size);
+ return reader;
+ }
+
+ /**
+ * Close pending images and clean up an {@link android.media.ImageReader} object.
+ * @param reader an {@link android.media.ImageReader} to close.
+ */
+ public static void closeImageReader(ImageReader reader) {
+ if (reader != null) {
+ reader.close();
+ }
+ }
+
/**
* Dummy listener that release the image immediately once it is available.
*
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
index 94eb0b7..3a8a42f 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
@@ -18,25 +18,34 @@
import android.content.Context;
import android.graphics.ImageFormat;
+import android.hardware.camera2.CameraCaptureSession;
import android.hardware.camera2.CameraDevice;
import android.hardware.camera2.CameraMetadata;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.CaptureResult;
+import android.hardware.camera2.TotalCaptureResult;
+import android.hardware.camera2.cts.helpers.CameraSessionUtils;
+import android.media.Image;
+import android.media.ImageReader;
+import android.os.SystemClock;
+import android.util.Pair;
import android.util.Size;
import android.hardware.camera2.cts.testcases.Camera2AndroidTestCase;
import static android.hardware.camera2.cts.CameraTestUtils.*;
+import static android.hardware.camera2.cts.helpers.CameraSessionUtils.*;
import android.util.Log;
import android.view.Surface;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
public class CaptureResultTest extends Camera2AndroidTestCase {
private static final String TAG = "CaptureResultTest";
private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
- private static final int MAX_NUM_IMAGES = 5;
+ private static final int MAX_NUM_IMAGES = MAX_READER_IMAGES;
private static final int NUM_FRAMES_VERIFIED = 30;
private static final long WAIT_FOR_RESULT_TIMEOUT_MS = 3000;
@@ -49,6 +58,14 @@
public void setContext(Context context) {
mAllKeys = getAllCaptureResultKeys();
super.setContext(context);
+
+ /**
+ * Workaround for mockito and JB-MR2 incompatibility
+ *
+ * Avoid java.lang.IllegalArgumentException: dexcache == null
+ * https://code.google.com/p/dexmaker/issues/detail?id=2
+ */
+ System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
}
@Override
@@ -141,6 +158,108 @@
}
}
+ /**
+ * Check that the timestamps passed in the results, buffers, and capture callbacks match for
+ * a single request, and increase monotonically
+ */
+ public void testResultTimestamps() throws Exception {
+ for (String id : mCameraIds) {
+ ImageReader previewReader = null;
+ ImageReader jpegReader = null;
+
+ SimpleImageReaderListener jpegListener = new SimpleImageReaderListener();
+ SimpleImageReaderListener prevListener = new SimpleImageReaderListener();
+ try {
+ openDevice(id);
+
+ CaptureRequest.Builder previewBuilder =
+ mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
+ CaptureRequest.Builder multiBuilder =
+ mCamera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
+
+ // Create image reader and surface.
+ Size previewSize = mOrderedPreviewSizes.get(0);
+ Size jpegSize = mOrderedStillSizes.get(0);
+
+ // Create ImageReaders.
+ previewReader = makeImageReader(previewSize, ImageFormat.YUV_420_888,
+ MAX_NUM_IMAGES, prevListener, mHandler);
+ jpegReader = makeImageReader(jpegSize, ImageFormat.JPEG,
+ MAX_NUM_IMAGES, jpegListener, mHandler);
+
+ // Configure output streams with preview and jpeg streams.
+ List<Surface> outputSurfaces = new ArrayList<>(Arrays.asList(
+ previewReader.getSurface(), jpegReader.getSurface()));
+
+ SessionListener mockSessionListener = getMockSessionListener();
+
+ CameraCaptureSession session = configureAndVerifySession(mockSessionListener,
+ mCamera, outputSurfaces, mHandler);
+
+ // Configure the requests.
+ previewBuilder.addTarget(previewReader.getSurface());
+ multiBuilder.addTarget(previewReader.getSurface());
+ multiBuilder.addTarget(jpegReader.getSurface());
+
+ CaptureListener mockCaptureListener = getMockCaptureListener();
+
+ // Capture targeting only preview
+ Pair<TotalCaptureResult, Long> result = captureAndVerifyResult(mockCaptureListener,
+ session, previewBuilder.build(), mHandler);
+
+ // Check if all timestamps are the same
+ validateTimestamps("Result 1", result.first,
+ prevListener.getImage(CAPTURE_IMAGE_TIMEOUT_MS), result.second);
+
+ // Capture targeting both jpeg and preview
+ Pair<TotalCaptureResult, Long> result2 = captureAndVerifyResult(mockCaptureListener,
+ session, multiBuilder.build(), mHandler);
+
+ // Check if all timestamps are the same
+ validateTimestamps("Result 2 Preview", result2.first,
+ prevListener.getImage(CAPTURE_IMAGE_TIMEOUT_MS), result2.second);
+ validateTimestamps("Result 2 Jpeg", result2.first,
+ jpegListener.getImage(CAPTURE_IMAGE_TIMEOUT_MS), result2.second);
+
+ // Check if timestamps are increasing
+ mCollector.expectGreater("Timestamps must be increasing.", result.second,
+ result2.second);
+
+ // Capture two preview frames
+ long startTime = SystemClock.elapsedRealtimeNanos();
+ Pair<TotalCaptureResult, Long> result3 = captureAndVerifyResult(mockCaptureListener,
+ session, previewBuilder.build(), mHandler);
+ Pair<TotalCaptureResult, Long> result4 = captureAndVerifyResult(mockCaptureListener,
+ session, previewBuilder.build(), mHandler);
+ long clockDiff = SystemClock.elapsedRealtimeNanos() - startTime;
+ long resultDiff = result4.second - result3.second;
+
+ // Check if all timestamps are the same
+ validateTimestamps("Result 3", result3.first,
+ prevListener.getImage(CAPTURE_IMAGE_TIMEOUT_MS), result3.second);
+ validateTimestamps("Result 4", result4.first,
+ prevListener.getImage(CAPTURE_IMAGE_TIMEOUT_MS), result4.second);
+
+ // Check that the timestamps monotonically increase at a reasonable rate
+ mCollector.expectGreaterOrEqual("Timestamps increase faster than system clock.",
+ resultDiff, clockDiff);
+ mCollector.expectGreater("Timestamps must be increasing.", result3.second,
+ result4.second);
+ } finally {
+ closeDevice(id);
+ closeImageReader(previewReader);
+ closeImageReader(jpegReader);
+ }
+ }
+ }
+
+ private void validateTimestamps(String msg, TotalCaptureResult result, Image resultImage,
+ long captureTime) {
+ mCollector.expectKeyValueEquals(result, CaptureResult.SENSOR_TIMESTAMP, captureTime);
+ mCollector.expectEquals(msg + ": Capture timestamp must be same as resultImage timestamp",
+ resultImage.getTimestamp(), captureTime);
+ }
+
private void validateCaptureResult(SimpleCaptureListener captureListener,
List<CaptureResult.Key<?>> skippedKeys, CaptureRequest.Builder requestBuilder,
int numFramesVerified) throws Exception {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
index 64df952..066ea0b 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
@@ -748,8 +748,8 @@
stopPreview();
} finally {
- closeImageReader(rawReader);
- closeImageReader(jpegReader);
+ CameraTestUtils.closeImageReader(rawReader);
+ CameraTestUtils.closeImageReader(jpegReader);
rawReader = null;
jpegReader = null;
}
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraErrorCollector.java b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraErrorCollector.java
index 811c1c0..9073ec5 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraErrorCollector.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraErrorCollector.java
@@ -149,8 +149,8 @@
return false;
}
- addMessage(String.format("%s (expected = %s, actual = %s) ", msg, expected.toString(),
- actual.toString()));
+ addMessage(String.format("%s (expected = %s, actual = %s) ", msg, expected,
+ actual));
return false;
}
@@ -187,6 +187,34 @@
}
/**
+ * Check that the {@code actual} value is greater than the {@code expected} value.
+ *
+ * @param msg Message to be logged when check fails.
+ * @param expected The expected value to check that the actual value is larger than.
+ * @param actual Actual value to check.
+ * @return {@code true} if {@code actual} is greater than {@code expected}.
+ */
+ public <T extends Comparable<? super T>> boolean expectGreater(String msg, T expected,
+ T actual) {
+ return expectTrue(String.format("%s: (expected = %s was not greater than actual = %s) ",
+ msg, expected, actual), actual.compareTo(expected) > 0);
+ }
+
+ /**
+ * Check that the {@code actual} value is greater than or equal to the {@code expected} value.
+ *
+ * @param msg Message to be logged when check fails.
+ * @param expected The expected value to check that the actual value is larger than or equal to.
+ * @param actual Actual value to check.
+ * @return {@code true} if {@code actual} is greater than or equal to {@code expected}.
+ */
+ public <T extends Comparable<? super T>> boolean expectGreaterOrEqual(String msg, T expected,
+ T actual) {
+ return expectTrue(String.format("%s: (expected = %s was not greater than actual = %s) ",
+ msg, expected, actual), actual.compareTo(expected) >= 0);
+ }
+
+ /**
* Check if the two float values are equal with given error tolerance.
*
* @param msg Message to be logged when check fails.
@@ -543,7 +571,7 @@
/**
* Check if the key is non-null and the value is not equal to target.
*
- * @param result The The {@link CaptureResult} to get the key from.
+ * @param result The {@link CaptureResult} to get the key from.
* @param key The {@link CaptureResult} key to be checked.
* @param expected The expected value of the CaptureResult key.
*/
@@ -563,6 +591,29 @@
}
/**
+ * Check if the value is non-null and the value is equal to target.
+ *
+ * @param result The {@link CaptureResult} to lookup the value in.
+ * @param key The {@link CaptureResult} key to be checked.
+ * @param expected The expected value of the {@link CaptureResult} key.
+ */
+ public <T> void expectKeyValueEquals(CaptureResult result, CaptureResult.Key<T> key,
+ T expected) {
+ if (result == null || key == null || expected == null) {
+ throw new IllegalArgumentException("request, key and expected shouldn't be null");
+ }
+
+ T value;
+ if ((value = expectKeyValueNotNull(result, key)) == null) {
+ return;
+ }
+
+ String reason = "Key " + key.getName() + " value " + value.toString()
+ + " doesn't match the expected value " + expected.toString();
+ checkThat(reason, value, CoreMatchers.equalTo(expected));
+ }
+
+ /**
* Check if the key is non-null and the value is equal to target.
*
* <p>Only check non-null if the target is null.</p>
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java
new file mode 100644
index 0000000..d85a610
--- /dev/null
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.hardware.camera2.cts.helpers;
+
+import android.hardware.camera2.CameraAccessException;
+import android.hardware.camera2.CameraCaptureSession;
+import android.hardware.camera2.CameraDevice;
+import android.hardware.camera2.CaptureFailure;
+import android.hardware.camera2.CaptureRequest;
+import android.hardware.camera2.TotalCaptureResult;
+import android.hardware.camera2.cts.CameraTestUtils;
+import android.os.Handler;
+import android.util.Log;
+import android.util.Pair;
+import android.view.Surface;
+
+import com.android.ex.camera2.blocking.BlockingCaptureListener;
+import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
+
+import junit.framework.Assert;
+
+import org.mockito.internal.util.MockUtil;
+
+import java.util.List;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import static com.android.internal.util.Preconditions.*;
+import static org.mockito.Mockito.*;
+
+/**
+ * A utility class with common functions setting up sessions and capturing.
+ */
+public class CameraSessionUtils extends Assert {
+ private static final String TAG = "CameraSessionUtils";
+ private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
+
+ /**
+ * A blocking listener class for synchronously opening and configuring sessions.
+ */
+ public static class SessionListener extends BlockingSessionListener {
+ private final LinkedBlockingQueue<CameraCaptureSession> mSessionQueue =
+ new LinkedBlockingQueue<>();
+
+ /**
+ * Get a new configured {@link CameraCaptureSession}.
+ *
+ * <p>
+ * This method is blocking, and will time out after
+ * {@link CameraTestUtils#SESSION_CONFIGURE_TIMEOUT_MS}.
+ * </p>
+ *
+ * @param device the {@link CameraDevice} to open a session for.
+ * @param outputs the {@link Surface} outputs to configure.
+ * @param handler the {@link Handler} to use for callbacks.
+ * @return a configured {@link CameraCaptureSession}.
+ *
+ * @throws CameraAccessException if any of the {@link CameraDevice} methods fail.
+ * @throws TimeoutRuntimeException if no result was received before the timeout.
+ */
+ public synchronized CameraCaptureSession getConfiguredSession(CameraDevice device,
+ List<Surface> outputs,
+ Handler handler)
+ throws CameraAccessException {
+ device.createCaptureSession(outputs, this, handler);
+ getStateWaiter().waitForState(SESSION_CONFIGURED,
+ CameraTestUtils.SESSION_CONFIGURE_TIMEOUT_MS);
+ return mSessionQueue.poll();
+ }
+
+ @Override
+ public void onConfigured(CameraCaptureSession session) {
+ mSessionQueue.offer(session);
+ super.onConfigured(session);
+ }
+ }
+
+ /**
+ * A blocking listener class for synchronously capturing and results with a session.
+ */
+ public static class CaptureListener extends BlockingCaptureListener {
+ private final LinkedBlockingQueue<TotalCaptureResult> mResultQueue =
+ new LinkedBlockingQueue<>();
+ private final LinkedBlockingQueue<Long> mCaptureTimeQueue =
+ new LinkedBlockingQueue<>();
+
+ /**
+ * Capture a new result with the given {@link CameraCaptureSession}.
+ *
+ * <p>
+ * This method is blocking, and will time out after
+ * {@link CameraTestUtils#CAPTURE_RESULT_TIMEOUT_MS}.
+ * </p>
+ *
+ * @param session the {@link CameraCaptureSession} to use.
+ * @param request the {@link CaptureRequest} to capture with.
+ * @param handler the {@link Handler} to use for callbacks.
+ * @return a {@link Pair} containing the capture result and capture time.
+ *
+ * @throws CameraAccessException if any of the {@link CameraDevice} methods fail.
+ * @throws TimeoutRuntimeException if no result was received before the timeout.
+ */
+ public synchronized Pair<TotalCaptureResult, Long> getCapturedResult(
+ CameraCaptureSession session, CaptureRequest request, Handler handler)
+ throws CameraAccessException {
+ session.capture(request, this, handler);
+ getStateWaiter().waitForState(CAPTURE_COMPLETED,
+ CameraTestUtils.CAPTURE_RESULT_TIMEOUT_MS);
+ return new Pair<>(mResultQueue.poll(), mCaptureTimeQueue.poll());
+ }
+
+ @Override
+ public void onCaptureStarted(CameraCaptureSession session, CaptureRequest request,
+ long timestamp) {
+ mCaptureTimeQueue.offer(timestamp);
+ super.onCaptureStarted(session, request, timestamp);
+ }
+
+ @Override
+ public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
+ TotalCaptureResult result) {
+ mResultQueue.offer(result);
+ super.onCaptureCompleted(session, request, result);
+ }
+ }
+
+ /**
+ * Get a mocked {@link CaptureListener}.
+ */
+ public static CaptureListener getMockCaptureListener() {
+ return spy(new CaptureListener());
+ }
+
+ /**
+ * Get a mocked {@link CaptureListener}.
+ */
+ public static SessionListener getMockSessionListener() {
+ return spy(new SessionListener());
+ }
+
+ /**
+ * Configure and return a new {@link CameraCaptureSession}.
+ *
+ * <p>
+ * This will verify that the correct session callbacks are called if a mocked listener is
+ * passed as the {@code listener} argument. This method is blocking, and will time out after
+ * {@link CameraTestUtils#SESSION_CONFIGURE_TIMEOUT_MS}.
+ * </p>
+ *
+ * @param listener a {@link SessionListener} to use for callbacks.
+ * @param device the {@link CameraDevice} to use.
+ * @param outputs the {@link Surface} outputs to configure.
+ * @param handler the {@link Handler} to call callbacks on.
+ * @return a configured {@link CameraCaptureSession}.
+ *
+ * @throws CameraAccessException if any of the {@link CameraDevice} methods fail.
+ * @throws TimeoutRuntimeException if no result was received before the timeout.
+ */
+ public static CameraCaptureSession configureAndVerifySession(SessionListener listener,
+ CameraDevice device,
+ List<Surface> outputs,
+ Handler handler)
+ throws CameraAccessException {
+ checkNotNull(listener);
+ checkNotNull(device);
+ checkNotNull(handler);
+ checkCollectionNotEmpty(outputs, "outputs");
+ checkCollectionElementsNotNull(outputs, "outputs");
+
+ CameraCaptureSession session = listener.getConfiguredSession(device, outputs, handler);
+ if (new MockUtil().isMock(listener)) {
+ verify(listener, never()).onConfigureFailed(any(CameraCaptureSession.class));
+ verify(listener, never()).onClosed(eq(session));
+ verify(listener, atLeastOnce()).onConfigured(eq(session));
+ }
+
+ checkNotNull(session);
+ return session;
+ }
+
+ /**
+ * Capture and return a new {@link TotalCaptureResult}.
+ *
+ * <p>
+ * This will verify that the correct capture callbacks are called if a mocked listener is
+ * passed as the {@code listener} argument. This method is blocking, and will time out after
+ * {@link CameraTestUtils#CAPTURE_RESULT_TIMEOUT_MS}.
+ * </p>
+ *
+ * @param listener a {@link CaptureListener} to use for callbacks.
+ * @param session the {@link CameraCaptureSession} to use.
+ * @param request the {@link CaptureRequest} to capture with.
+ * @param handler the {@link Handler} to call callbacks on.
+ * @return a {@link Pair} containing the capture result and capture time.
+ *
+ * @throws CameraAccessException if any of the {@link CameraDevice} methods fail.
+ * @throws TimeoutRuntimeException if no result was received before the timeout.
+ */
+ public static Pair<TotalCaptureResult, Long> captureAndVerifyResult(CaptureListener listener,
+ CameraCaptureSession session, CaptureRequest request, Handler handler)
+ throws CameraAccessException {
+ checkNotNull(listener);
+ checkNotNull(session);
+ checkNotNull(request);
+ checkNotNull(handler);
+
+ Pair<TotalCaptureResult, Long> result = listener.getCapturedResult(session, request,
+ handler);
+ if (new MockUtil().isMock(listener)) {
+ verify(listener, never()).onCaptureFailed(any(CameraCaptureSession.class),
+ any(CaptureRequest.class), any(CaptureFailure.class));
+ verify(listener, atLeastOnce()).onCaptureStarted(eq(session), eq(request), anyLong());
+ verify(listener, atLeastOnce()).onCaptureCompleted(eq(session), eq(request),
+ eq(result.first));
+ }
+
+ checkNotNull(result);
+ return result;
+ }
+
+ // Suppress default constructor for noninstantiability
+ private CameraSessionUtils() { throw new AssertionError(); }
+}
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
index fd032dd..59459a9 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
@@ -20,7 +20,6 @@
import static com.android.ex.camera2.blocking.BlockingStateListener.STATE_CLOSED;
import android.hardware.camera2.params.StreamConfigurationMap;
-import android.media.Image;
import android.media.ImageReader;
import android.os.Environment;
import android.os.Handler;
@@ -70,7 +69,6 @@
private static final String TAG = "SurfaceViewTestCase";
private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
private static final int WAIT_FOR_SURFACE_CHANGE_TIMEOUT_MS = 1000;
- protected static final int MAX_READER_IMAGES = 5;
// TODO: Use internal storage for this to make sure the file is only visible to test.
protected static final String DEBUG_FILE_NAME_BASE =
@@ -536,54 +534,15 @@
}
/**
- * Create an {@link ImageReader} object and get the surface.
- *
- * @param size The size of this ImageReader to be created.
- * @param format The format of this ImageReader to be created
- * @param maxNumImages The max number of images that can be acquired simultaneously.
- * @param listener The listener used by this ImageReader to notify callbacks.
- * @param handler The handler to use for any listener callbacks.
- */
- protected static ImageReader makeImageReader(Size size, int format,
- int maxNumImages,
- ImageReader.OnImageAvailableListener
- listener,
- Handler handler) {
- ImageReader reader = ImageReader.newInstance(size.getWidth(), size.getHeight(), format,
- maxNumImages);
- reader.setOnImageAvailableListener(listener, handler);
- if (VERBOSE) Log.v(TAG, "Created ImageReader size " + size.toString());
- return reader;
- }
-
- /**
* Close the pending images then close current active {@link ImageReader} object.
*/
protected void closeImageReader() {
- closeImageReader(mReader);
+ CameraTestUtils.closeImageReader(mReader);
mReader = null;
mReaderSurface = null;
}
/**
- * Close pending images and clean up an {@link ImageReader} object.
- * @param reader an {@link ImageReader} to close.
- */
- public static void closeImageReader(ImageReader reader) {
- if (reader != null) {
- try {
- // Close all possible pending images first.
- Image image = reader.acquireLatestImage();
- if (image != null) {
- image.close();
- }
- } finally {
- reader.close();
- }
- }
- }
-
- /**
* Open a camera device and get the StaticMetadata for a given camera id.
*
* @param cameraId The id of the camera device to be opened.
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java b/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java
index 05908b2..74c34e3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java
@@ -894,8 +894,20 @@
args.out = new Floaty(hypot(args.inX, args.inY), 4, 4);
}
- static public void computeIlogb(TestIlogb.ArgumentsFloatInt args) {
- args.out = ilogb(args.in);
+ static public String verifyIlogb(TestIlogb.ArgumentsFloatInt args, boolean relaxed) {
+ // Special case when the input is 0. We accept two different answers.
+ if (args.in == 0.0f) {
+ if (args.out != -Integer.MAX_VALUE && args.out != Integer.MIN_VALUE) {
+ return "Expected " + Integer.toString(-Integer.MAX_VALUE) + " or " +
+ Integer.toString(Integer.MIN_VALUE);
+ }
+ } else {
+ int result = ilogb(args.in);
+ if (args.out != result) {
+ return "Expected " + Integer.toString(result);
+ }
+ }
+ return null;
}
static public void computeLdexp(TestLdexp.ArgumentsFloatIntFloat args) {
@@ -1038,6 +1050,84 @@
args.out = new Floaty(Float.NaN, 0, 0);
}
+ static public void computeNativeAcos(TestNativeAcos.ArgumentsFloatFloat args) {
+ args.out = new Floaty(acos(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAcosh(TestNativeAcosh.ArgumentsFloatFloat args) {
+ args.out = new Floaty(acosh(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAcospi(TestNativeAcospi.ArgumentsFloatFloat args) {
+ args.out = new Floaty(acos(args.inV) / (float) Math.PI, NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAsin(TestNativeAsin.ArgumentsFloatFloat args) {
+ args.out = new Floaty(asin(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAsinh(TestNativeAsinh.ArgumentsFloatFloat args) {
+ args.out = new Floaty(asinh(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAsinpi(TestNativeAsinpi.ArgumentsFloatFloat args) {
+ args.out = new Floaty(asin(args.inV) / (float) Math.PI, NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAtan(TestNativeAtan.ArgumentsFloatFloat args) {
+ args.out = new Floaty(atan(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAtanh(TestNativeAtanh.ArgumentsFloatFloat args) {
+ args.out = new Floaty(atanh(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAtanpi(TestNativeAtanpi.ArgumentsFloatFloat args) {
+ args.out = new Floaty(atan(args.inV) / (float) Math.PI, NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAtan2(TestNativeAtan2.ArgumentsFloatFloatFloat args) {
+ args.out = new Floaty(atan2(args.inY, args.inX), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeAtan2pi(TestNativeAtan2pi.ArgumentsFloatFloatFloat args) {
+ args.out = new Floaty(atan2(args.inY, args.inX) / (float)Math.PI, NATIVE_PRECISION,
+ NATIVE_PRECISION);
+ }
+
+ static public void computeNativeCbrt(TestNativeCbrt.ArgumentsFloatFloat args) {
+ args.out = new Floaty(cbrt(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeCos(TestNativeCos.ArgumentsFloatFloat args) {
+ args.out = new Floaty(cos(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeCosh(TestNativeCosh.ArgumentsFloatFloat args) {
+ args.out = new Floaty(cosh(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeCospi(TestNativeCospi.ArgumentsFloatFloat args) {
+ Floaty ip = new Floaty((float) ((double)args.in * Math.PI), 1, 1);
+ args.out = Floaty.FloatyFromRange(
+ (float) Math.cos(ip.getDoubleMin()),
+ (float) Math.cos(ip.getDoubleMax()), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeDistance(TestNativeDistance.ArgumentsFloatFloatFloat args) {
+ args.out = distance(new float[]{args.inLhs}, new float[]{args.inRhs}, NATIVE_PRECISION,
+ NATIVE_PRECISION);
+ }
+
+ static public void computeNativeDistance(TestNativeDistance.ArgumentsFloatNFloatNFloat args) {
+ args.out = distance(args.inLhs, args.inRhs, NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeDivide(TestNativeDivide.ArgumentsFloatFloatFloat args) {
+ args.out = Floaty.divide(new Floaty(args.inLhs), new Floaty(args.inRhs));
+ args.out.setMinimumError(NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
static public void computeNativeExp(TestNativeExp.ArgumentsFloatFloat args) {
// TODO we would like to use NATIVE_PRECISION, NATIVE_PRECISION
args.out = new Floaty(exp(args.inV), 9500, 9500);
@@ -1053,6 +1143,14 @@
args.out = new Floaty(exp2(args.inV), 13000, 13000);
}
+ static public void computeNativeExpm1(TestNativeExpm1.ArgumentsFloatFloat args) {
+ args.out = new Floaty(expm1(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeHypot(TestNativeHypot.ArgumentsFloatFloatFloat args) {
+ args.out = new Floaty(hypot(args.inX, args.inY), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
static public void computeNativeLog(TestNativeLog.ArgumentsFloatFloat args) {
args.out = new Floaty(log(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
}
@@ -1061,6 +1159,10 @@
args.out = new Floaty(log10(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
}
+ static public void computeNativeLog1p(TestNativeLog1p.ArgumentsFloatFloat args) {
+ args.out = new Floaty(log1p(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
static public void computeNativeLog2(TestNativeLog2.ArgumentsFloatFloat args) {
args.out = new Floaty(log2(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
}
@@ -1083,11 +1185,6 @@
normalize(args.inV, args.out, NATIVE_PRECISION, NATIVE_PRECISION);
}
- static public void computeNativeRecip(TestNativeRecip.ArgumentsFloatFloat args) {
- args.out = new Floaty(1.0f / args.inV, NATIVE_PRECISION, NATIVE_PRECISION);
- }
-
-
/* TODO enable once fixed handling of v = 0
static public void computeNativePowr(TestNativePowr.ArgumentsFloatFloatFloat args) {
// TODO we would like to use NATIVE_PRECISION, NATIVE_PRECISION
@@ -1095,6 +1192,53 @@
}
*/
+ static public void computeNativeRecip(TestNativeRecip.ArgumentsFloatFloat args) {
+ args.out = new Floaty(1.0f / args.inV, NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeRsqrt(TestNativeRsqrt.ArgumentsFloatFloat args) {
+ args.out = new Floaty(1f / sqrt(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeSin(TestNativeSin.ArgumentsFloatFloat args) {
+ args.out = new Floaty(sin(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeSincos(TestNativeSincos.ArgumentsFloatFloatFloat args) {
+ args.outCosptr = new Floaty(cos(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
+ args.out = new Floaty(sin(args.inV), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeSinh(TestNativeSinh.ArgumentsFloatFloat args) {
+ args.out = new Floaty(sinh(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeSinpi(TestNativeSinpi.ArgumentsFloatFloat args) {
+ Floaty ip = new Floaty((float) ((double)args.in * Math.PI), 1, 1);
+ args.out = Floaty.FloatyFromRange(
+ (float) Math.sin(ip.getDoubleMin()),
+ (float) Math.sin(ip.getDoubleMax()), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeSqrt(TestNativeSqrt.ArgumentsFloatFloat args) {
+ args.out = new Floaty(sqrt(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeTan(TestNativeTan.ArgumentsFloatFloat args) {
+ args.out = new Floaty(tan(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeTanh(TestNativeTanh.ArgumentsFloatFloat args) {
+ args.out = new Floaty(tanh(args.in), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
+ static public void computeNativeTanpi(TestNativeTanpi.ArgumentsFloatFloat args) {
+ Floaty ip = new Floaty((float) ((double)args.in * Math.PI), 1, 1);
+ args.out = Floaty.FloatyFromRange(
+ (float) Math.tan(ip.getDoubleMin()),
+ (float) Math.tan(ip.getDoubleMax()), NATIVE_PRECISION, NATIVE_PRECISION);
+ }
+
static public void computeNextafter(TestNextafter.ArgumentsFloatFloatFloat args) {
args.out = new Floaty(Math.nextAfter(args.inX, args.inY), 0, 0);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAbs.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAbs.java
index 7799a8a..3547d9c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAbs.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAbs.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -127,7 +127,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -184,7 +184,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -241,7 +241,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -303,7 +303,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -360,7 +360,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -417,7 +417,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -474,7 +474,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -536,7 +536,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -593,7 +593,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -650,7 +650,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -707,7 +707,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAbs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAcos.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAcos.java
index 95f7a51..d93ac1c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAcos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAcos.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAcosh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAcosh.java
index 90993cf..de18d7e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAcosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAcosh.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAcospi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAcospi.java
index d11148d..2c342a2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAcospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAcospi.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAcospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAsin.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAsin.java
index 71253f6..847bbea 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAsin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAsin.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAsinh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAsinh.java
index 1ec9c0a..8bc74fe 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAsinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAsinh.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAsinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAsinpi.java
index f6bb172..8219acb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAsinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAsinpi.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAsinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAtan.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAtan.java
index cfdcba9..07bbe10 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAtan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAtan.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2.java
index 6981149..203db81 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2pi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2pi.java
index 3f6960f..8d9f5fc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2pi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAtan2pi.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2pi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2pi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2pi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtan2pi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAtanh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAtanh.java
index d153efa..2c7797f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAtanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAtanh.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestAtanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestAtanpi.java
index c9cd821..956fed8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestAtanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestAtanpi.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeAtanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCbrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestCbrt.java
index 5c364d5..91e9a14 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCbrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCbrt.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCbrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCbrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCbrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCbrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCeil.java b/tests/tests/renderscript/src/android/renderscript/cts/TestCeil.java
index d14de2b..7a8222a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCeil.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCeil.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCeil(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCeil(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCeil(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCeil(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestClamp.java b/tests/tests/renderscript/src/android/renderscript/cts/TestClamp.java
index e635f15..04cf924 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestClamp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestClamp.java
@@ -85,7 +85,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -165,7 +165,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -245,7 +245,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -325,7 +325,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -405,7 +405,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -485,7 +485,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -565,7 +565,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -652,7 +652,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -728,7 +728,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -804,7 +804,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -880,7 +880,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -963,7 +963,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1039,7 +1039,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1115,7 +1115,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1191,7 +1191,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1274,7 +1274,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1350,7 +1350,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1426,7 +1426,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1502,7 +1502,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1585,7 +1585,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1661,7 +1661,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1737,7 +1737,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1813,7 +1813,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1896,7 +1896,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1972,7 +1972,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2048,7 +2048,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2124,7 +2124,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2207,7 +2207,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2283,7 +2283,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2359,7 +2359,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2435,7 +2435,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2518,7 +2518,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2594,7 +2594,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2670,7 +2670,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2746,7 +2746,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2829,7 +2829,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2905,7 +2905,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2981,7 +2981,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3057,7 +3057,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3133,7 +3133,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3209,7 +3209,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3285,7 +3285,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3361,7 +3361,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3437,7 +3437,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3513,7 +3513,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3589,7 +3589,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3665,7 +3665,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3741,7 +3741,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3817,7 +3817,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3893,7 +3893,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3969,7 +3969,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4045,7 +4045,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4121,7 +4121,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4197,7 +4197,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4273,7 +4273,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4349,7 +4349,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4425,7 +4425,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4501,7 +4501,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4577,7 +4577,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4653,7 +4653,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4729,7 +4729,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4805,7 +4805,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4881,7 +4881,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClamp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestClz.java b/tests/tests/renderscript/src/android/renderscript/cts/TestClz.java
index 8e9be9a..36606a1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestClz.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestClz.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -127,7 +127,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -184,7 +184,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -241,7 +241,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -303,7 +303,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -360,7 +360,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -417,7 +417,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -474,7 +474,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -536,7 +536,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -593,7 +593,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -650,7 +650,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -707,7 +707,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -769,7 +769,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -826,7 +826,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -883,7 +883,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -940,7 +940,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1002,7 +1002,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1059,7 +1059,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1116,7 +1116,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1173,7 +1173,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1235,7 +1235,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1292,7 +1292,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1349,7 +1349,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1406,7 +1406,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeClz(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestConvert.java b/tests/tests/renderscript/src/android/renderscript/cts/TestConvert.java
index 80a3c3f..3945f84 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestConvert.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestConvert.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -252,7 +252,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -310,7 +310,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -368,7 +368,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -431,7 +431,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -489,7 +489,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -547,7 +547,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -610,7 +610,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -668,7 +668,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -726,7 +726,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -789,7 +789,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -847,7 +847,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -905,7 +905,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -968,7 +968,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -1026,7 +1026,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -1084,7 +1084,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -1147,7 +1147,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -1205,7 +1205,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -1263,7 +1263,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -1326,7 +1326,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1384,7 +1384,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1442,7 +1442,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1505,7 +1505,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1562,7 +1562,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1619,7 +1619,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1681,7 +1681,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1738,7 +1738,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1795,7 +1795,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1857,7 +1857,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1914,7 +1914,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1971,7 +1971,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2033,7 +2033,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2090,7 +2090,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2147,7 +2147,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2209,7 +2209,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2266,7 +2266,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2323,7 +2323,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2385,7 +2385,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2442,7 +2442,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2499,7 +2499,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2561,7 +2561,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2619,7 +2619,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2677,7 +2677,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2740,7 +2740,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2797,7 +2797,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2854,7 +2854,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2916,7 +2916,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2973,7 +2973,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3030,7 +3030,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3092,7 +3092,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3149,7 +3149,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3206,7 +3206,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3268,7 +3268,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3325,7 +3325,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3382,7 +3382,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3444,7 +3444,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3501,7 +3501,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3558,7 +3558,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3620,7 +3620,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3677,7 +3677,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3734,7 +3734,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3796,7 +3796,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -3854,7 +3854,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3912,7 +3912,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -3975,7 +3975,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4032,7 +4032,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4089,7 +4089,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4151,7 +4151,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4208,7 +4208,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4265,7 +4265,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4327,7 +4327,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4384,7 +4384,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4441,7 +4441,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4503,7 +4503,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4560,7 +4560,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4617,7 +4617,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4679,7 +4679,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4736,7 +4736,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4793,7 +4793,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4855,7 +4855,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -4912,7 +4912,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -4969,7 +4969,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5031,7 +5031,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -5089,7 +5089,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5147,7 +5147,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5210,7 +5210,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -5267,7 +5267,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5324,7 +5324,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5386,7 +5386,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -5443,7 +5443,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5500,7 +5500,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5562,7 +5562,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -5619,7 +5619,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5676,7 +5676,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5738,7 +5738,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -5795,7 +5795,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5852,7 +5852,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -5914,7 +5914,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -5971,7 +5971,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6028,7 +6028,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6090,7 +6090,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -6147,7 +6147,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6204,7 +6204,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6266,7 +6266,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -6324,7 +6324,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6382,7 +6382,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6445,7 +6445,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -6502,7 +6502,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6559,7 +6559,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6621,7 +6621,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -6678,7 +6678,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6735,7 +6735,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6797,7 +6797,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -6854,7 +6854,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6911,7 +6911,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -6973,7 +6973,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -7030,7 +7030,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7087,7 +7087,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7149,7 +7149,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -7206,7 +7206,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7263,7 +7263,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7325,7 +7325,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -7382,7 +7382,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7439,7 +7439,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7501,7 +7501,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -7559,7 +7559,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7617,7 +7617,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7680,7 +7680,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -7737,7 +7737,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7794,7 +7794,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7856,7 +7856,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -7913,7 +7913,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -7970,7 +7970,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8032,7 +8032,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -8089,7 +8089,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8146,7 +8146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8208,7 +8208,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -8265,7 +8265,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8322,7 +8322,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8384,7 +8384,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -8441,7 +8441,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8498,7 +8498,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8560,7 +8560,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -8617,7 +8617,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8674,7 +8674,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -8736,7 +8736,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -8795,7 +8795,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -8854,7 +8854,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -8918,7 +8918,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -8976,7 +8976,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -9034,7 +9034,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -9097,7 +9097,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -9155,7 +9155,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -9213,7 +9213,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -9276,7 +9276,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -9334,7 +9334,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9392,7 +9392,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9455,7 +9455,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -9512,7 +9512,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9569,7 +9569,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9631,7 +9631,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -9688,7 +9688,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9745,7 +9745,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9807,7 +9807,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -9865,7 +9865,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9923,7 +9923,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -9986,7 +9986,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -10043,7 +10043,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -10100,7 +10100,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -10162,7 +10162,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -10219,7 +10219,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -10276,7 +10276,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -10338,7 +10338,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -10397,7 +10397,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -10456,7 +10456,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -10520,7 +10520,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -10578,7 +10578,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -10636,7 +10636,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -10699,7 +10699,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -10757,7 +10757,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -10815,7 +10815,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -10878,7 +10878,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -10936,7 +10936,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -10994,7 +10994,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11057,7 +11057,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -11114,7 +11114,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11171,7 +11171,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11233,7 +11233,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -11290,7 +11290,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11347,7 +11347,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11409,7 +11409,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -11467,7 +11467,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11525,7 +11525,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11588,7 +11588,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -11645,7 +11645,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11702,7 +11702,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11764,7 +11764,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -11821,7 +11821,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11878,7 +11878,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -11940,7 +11940,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -11998,7 +11998,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12056,7 +12056,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12119,7 +12119,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -12176,7 +12176,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12233,7 +12233,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12295,7 +12295,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -12352,7 +12352,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12409,7 +12409,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12471,7 +12471,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -12529,7 +12529,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12587,7 +12587,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12650,7 +12650,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -12707,7 +12707,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12764,7 +12764,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12826,7 +12826,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -12883,7 +12883,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -12940,7 +12940,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13002,7 +13002,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -13060,7 +13060,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13118,7 +13118,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13181,7 +13181,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -13238,7 +13238,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13295,7 +13295,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13357,7 +13357,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -13414,7 +13414,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13471,7 +13471,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13533,7 +13533,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -13591,7 +13591,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13649,7 +13649,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13712,7 +13712,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -13769,7 +13769,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13826,7 +13826,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -13888,7 +13888,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -13945,7 +13945,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -14002,7 +14002,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -14064,7 +14064,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -14123,7 +14123,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14182,7 +14182,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14246,7 +14246,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -14304,7 +14304,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14362,7 +14362,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14425,7 +14425,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -14483,7 +14483,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14541,7 +14541,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14604,7 +14604,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -14662,7 +14662,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14720,7 +14720,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14783,7 +14783,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -14841,7 +14841,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14899,7 +14899,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -14962,7 +14962,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -15020,7 +15020,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -15078,7 +15078,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -15141,7 +15141,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -15199,7 +15199,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -15257,7 +15257,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -15320,7 +15320,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -15378,7 +15378,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15436,7 +15436,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15499,7 +15499,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -15556,7 +15556,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15613,7 +15613,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15675,7 +15675,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -15732,7 +15732,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15789,7 +15789,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15851,7 +15851,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -15908,7 +15908,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -15965,7 +15965,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16027,7 +16027,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -16084,7 +16084,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16141,7 +16141,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16203,7 +16203,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -16260,7 +16260,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16317,7 +16317,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16379,7 +16379,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -16436,7 +16436,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16493,7 +16493,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16555,7 +16555,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -16613,7 +16613,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16671,7 +16671,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16734,7 +16734,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -16791,7 +16791,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16848,7 +16848,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -16910,7 +16910,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -16967,7 +16967,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17024,7 +17024,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17086,7 +17086,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -17143,7 +17143,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17200,7 +17200,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17262,7 +17262,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -17319,7 +17319,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17376,7 +17376,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17438,7 +17438,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -17495,7 +17495,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17552,7 +17552,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17614,7 +17614,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -17671,7 +17671,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -17728,7 +17728,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeConvert(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCopysign.java b/tests/tests/renderscript/src/android/renderscript/cts/TestCopysign.java
index d102fb9..0f792bb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCopysign.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCopysign.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCopysign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCopysign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCopysign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCopysign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCos.java b/tests/tests/renderscript/src/android/renderscript/cts/TestCos.java
index 4bdcc4c..07da8f7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCos.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCosh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestCosh.java
index f24e65d..6b2388b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCosh.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCosh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCospi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestCospi.java
index cc3f427..bec65c5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCospi.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeCospi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestDegrees.java b/tests/tests/renderscript/src/android/renderscript/cts/TestDegrees.java
index f9dd198..ecbbdd4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestDegrees.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestDegrees.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeDegrees(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeDegrees(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeDegrees(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeDegrees(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestErf.java b/tests/tests/renderscript/src/android/renderscript/cts/TestErf.java
index f846681..06b77fc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestErf.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestErf.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestErfc.java b/tests/tests/renderscript/src/android/renderscript/cts/TestErfc.java
index e7a859a..25332aa 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestErfc.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestErfc.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErfc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErfc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErfc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeErfc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestExp.java b/tests/tests/renderscript/src/android/renderscript/cts/TestExp.java
index 47a55ef..e46dab1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestExp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestExp.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestExp10.java b/tests/tests/renderscript/src/android/renderscript/cts/TestExp10.java
index 7784e54..eb6c3b5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestExp10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestExp10.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestExp2.java b/tests/tests/renderscript/src/android/renderscript/cts/TestExp2.java
index a47184b..18bd20a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestExp2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestExp2.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestExpm1.java b/tests/tests/renderscript/src/android/renderscript/cts/TestExpm1.java
index 4835f7e..b0d288d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestExpm1.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestExpm1.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExpm1(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExpm1(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExpm1(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeExpm1(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFabs.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFabs.java
index 12bcb78..e74eaf8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFabs.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFabs.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFabs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFabs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFabs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFabs(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFdim.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFdim.java
index db0a46b..13ca2c8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFdim.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFdim.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFdim(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFdim(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFdim(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFdim(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFloor.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFloor.java
index 6cfb3c4..07d4409 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFloor.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFloor.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFloor(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFloor(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFloor(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFloor(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFma.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFma.java
index 705c54d..93ac196 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFma.java
@@ -84,7 +84,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -163,7 +163,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -242,7 +242,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -321,7 +321,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFmax.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFmax.java
index ca7706a..83fc48d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFmax.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFmax.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -353,7 +353,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -422,7 +422,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -491,7 +491,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFmin.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFmin.java
index 39a100c..0c8b7a0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFmin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFmin.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -353,7 +353,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -422,7 +422,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -491,7 +491,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFmod.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFmod.java
index 60426e3..a211530 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFmod.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFmod.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmod(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmod(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmod(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFmod(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFract.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFract.java
index bc1faa8..78f497c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFract.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFract.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outFloor.couldBe(arrayOutFloor[i * 1 + j])) {
valid = false;
@@ -155,7 +155,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outFloor.couldBe(arrayOutFloor[i * 2 + j])) {
valid = false;
@@ -233,7 +233,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
valid = false;
@@ -311,7 +311,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
valid = false;
@@ -388,7 +388,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -447,7 +447,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -506,7 +506,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -565,7 +565,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFract(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestFrexp.java b/tests/tests/renderscript/src/android/renderscript/cts/TestFrexp.java
index 1437f21..0ed1bd8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestFrexp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestFrexp.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFrexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outIptr != arrayOutIptr[i * 1 + j]) {
valid = false;
@@ -154,7 +154,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFrexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outIptr != arrayOutIptr[i * 2 + j]) {
valid = false;
@@ -231,7 +231,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFrexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outIptr != arrayOutIptr[i * 4 + j]) {
valid = false;
@@ -308,7 +308,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeFrexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outIptr != arrayOutIptr[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRecip.java b/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRecip.java
index 91cc567..1697e95 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRecip.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRecip.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRsqrt.java
index 9f339a3..cdd67a3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestHalfRsqrt.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestHalfSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestHalfSqrt.java
index 00d2d92..3cac0d2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestHalfSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestHalfSqrt.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHalfSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestHypot.java b/tests/tests/renderscript/src/android/renderscript/cts/TestHypot.java
index 53d4c55..040418d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestHypot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestHypot.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHypot(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHypot(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHypot(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeHypot(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestIlogb.java b/tests/tests/renderscript/src/android/renderscript/cts/TestIlogb.java
index c15e9f2..d86d749 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestIlogb.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestIlogb.java
@@ -67,29 +67,22 @@
// Extract the inputs.
ArgumentsFloatInt args = new ArgumentsFloatInt();
args.in = arrayIn[i];
- // Figure out what the outputs should have been.
+ // Extract the outputs.
+ args.out = arrayOut[i * 1 + j];
+ // Ask the CoreMathVerifier to validate.
Floaty.setRelaxed(relaxed);
- CoreMathVerifier.computeIlogb(args);
- // Figure out what the outputs should have been.
- boolean valid = true;
- if (args.out != arrayOut[i * 1 + j]) {
- valid = false;
- }
+ String errorMessage = CoreMathVerifier.verifyIlogb(args, relaxed);
+ boolean valid = errorMessage == null;
if (!valid) {
StringBuilder message = new StringBuilder();
message.append("Input in: ");
message.append(String.format("%14.8g %8x %15a",
args.in, Float.floatToRawIntBits(args.in), args.in));
message.append("\n");
- message.append("Expected output out: ");
+ message.append("Output out: ");
message.append(String.format("%d", args.out));
message.append("\n");
- message.append("Actual output out: ");
- message.append(String.format("%d", arrayOut[i * 1 + j]));
- if (args.out != arrayOut[i * 1 + j]) {
- message.append(" FAIL");
- }
- message.append("\n");
+ message.append(errorMessage);
assertTrue("Incorrect output for checkIlogbFloatInt" +
(relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
}
@@ -125,29 +118,22 @@
// Extract the inputs.
ArgumentsFloatInt args = new ArgumentsFloatInt();
args.in = arrayIn[i * 2 + j];
- // Figure out what the outputs should have been.
+ // Extract the outputs.
+ args.out = arrayOut[i * 2 + j];
+ // Ask the CoreMathVerifier to validate.
Floaty.setRelaxed(relaxed);
- CoreMathVerifier.computeIlogb(args);
- // Figure out what the outputs should have been.
- boolean valid = true;
- if (args.out != arrayOut[i * 2 + j]) {
- valid = false;
- }
+ String errorMessage = CoreMathVerifier.verifyIlogb(args, relaxed);
+ boolean valid = errorMessage == null;
if (!valid) {
StringBuilder message = new StringBuilder();
message.append("Input in: ");
message.append(String.format("%14.8g %8x %15a",
args.in, Float.floatToRawIntBits(args.in), args.in));
message.append("\n");
- message.append("Expected output out: ");
+ message.append("Output out: ");
message.append(String.format("%d", args.out));
message.append("\n");
- message.append("Actual output out: ");
- message.append(String.format("%d", arrayOut[i * 2 + j]));
- if (args.out != arrayOut[i * 2 + j]) {
- message.append(" FAIL");
- }
- message.append("\n");
+ message.append(errorMessage);
assertTrue("Incorrect output for checkIlogbFloat2Int2" +
(relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
}
@@ -183,29 +169,22 @@
// Extract the inputs.
ArgumentsFloatInt args = new ArgumentsFloatInt();
args.in = arrayIn[i * 4 + j];
- // Figure out what the outputs should have been.
+ // Extract the outputs.
+ args.out = arrayOut[i * 4 + j];
+ // Ask the CoreMathVerifier to validate.
Floaty.setRelaxed(relaxed);
- CoreMathVerifier.computeIlogb(args);
- // Figure out what the outputs should have been.
- boolean valid = true;
- if (args.out != arrayOut[i * 4 + j]) {
- valid = false;
- }
+ String errorMessage = CoreMathVerifier.verifyIlogb(args, relaxed);
+ boolean valid = errorMessage == null;
if (!valid) {
StringBuilder message = new StringBuilder();
message.append("Input in: ");
message.append(String.format("%14.8g %8x %15a",
args.in, Float.floatToRawIntBits(args.in), args.in));
message.append("\n");
- message.append("Expected output out: ");
+ message.append("Output out: ");
message.append(String.format("%d", args.out));
message.append("\n");
- message.append("Actual output out: ");
- message.append(String.format("%d", arrayOut[i * 4 + j]));
- if (args.out != arrayOut[i * 4 + j]) {
- message.append(" FAIL");
- }
- message.append("\n");
+ message.append(errorMessage);
assertTrue("Incorrect output for checkIlogbFloat3Int3" +
(relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
}
@@ -241,29 +220,22 @@
// Extract the inputs.
ArgumentsFloatInt args = new ArgumentsFloatInt();
args.in = arrayIn[i * 4 + j];
- // Figure out what the outputs should have been.
+ // Extract the outputs.
+ args.out = arrayOut[i * 4 + j];
+ // Ask the CoreMathVerifier to validate.
Floaty.setRelaxed(relaxed);
- CoreMathVerifier.computeIlogb(args);
- // Figure out what the outputs should have been.
- boolean valid = true;
- if (args.out != arrayOut[i * 4 + j]) {
- valid = false;
- }
+ String errorMessage = CoreMathVerifier.verifyIlogb(args, relaxed);
+ boolean valid = errorMessage == null;
if (!valid) {
StringBuilder message = new StringBuilder();
message.append("Input in: ");
message.append(String.format("%14.8g %8x %15a",
args.in, Float.floatToRawIntBits(args.in), args.in));
message.append("\n");
- message.append("Expected output out: ");
+ message.append("Output out: ");
message.append(String.format("%d", args.out));
message.append("\n");
- message.append("Actual output out: ");
- message.append(String.format("%d", arrayOut[i * 4 + j]));
- if (args.out != arrayOut[i * 4 + j]) {
- message.append(" FAIL");
- }
- message.append("\n");
+ message.append(errorMessage);
assertTrue("Incorrect output for checkIlogbFloat4Int4" +
(relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLdexp.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLdexp.java
index e565113..7c54ab1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLdexp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLdexp.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -145,7 +145,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -213,7 +213,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -281,7 +281,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -349,7 +349,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -417,7 +417,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -485,7 +485,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLdexp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLgamma.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLgamma.java
index d3c44e4..a6581f1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLgamma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLgamma.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -318,7 +318,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outY != arrayOutY[i * 1 + j]) {
valid = false;
@@ -395,7 +395,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outY != arrayOutY[i * 2 + j]) {
valid = false;
@@ -472,7 +472,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outY != arrayOutY[i * 4 + j]) {
valid = false;
@@ -549,7 +549,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outY != arrayOutY[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLog.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLog.java
index d9dd9fc..9728636 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLog.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLog.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLog10.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLog10.java
index 9711f6b..847cea3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLog10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLog10.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLog1p.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLog1p.java
index 4d455fa..fadc9d1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLog1p.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLog1p.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog1p(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog1p(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog1p(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog1p(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLog2.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLog2.java
index bf7d420..61ea10f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLog2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLog2.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestLogb.java b/tests/tests/renderscript/src/android/renderscript/cts/TestLogb.java
index 4ff2eb5..41e6f21 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestLogb.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestLogb.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLogb(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLogb(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLogb(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeLogb(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestMad.java b/tests/tests/renderscript/src/android/renderscript/cts/TestMad.java
index 1d0e1ac..11ef35a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestMad.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestMad.java
@@ -84,7 +84,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMad(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -163,7 +163,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMad(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -242,7 +242,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMad(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -321,7 +321,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMad(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestMax.java b/tests/tests/renderscript/src/android/renderscript/cts/TestMax.java
index b20cbcb..3ef9aeb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestMax.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestMax.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -359,7 +359,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -425,7 +425,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -491,7 +491,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -557,7 +557,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -629,7 +629,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -695,7 +695,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -761,7 +761,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -827,7 +827,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -899,7 +899,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -965,7 +965,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1031,7 +1031,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1097,7 +1097,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1169,7 +1169,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1235,7 +1235,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1301,7 +1301,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1367,7 +1367,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1439,7 +1439,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1505,7 +1505,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1571,7 +1571,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1637,7 +1637,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1709,7 +1709,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1775,7 +1775,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1841,7 +1841,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1907,7 +1907,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1979,7 +1979,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2045,7 +2045,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2111,7 +2111,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2177,7 +2177,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2249,7 +2249,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2315,7 +2315,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2381,7 +2381,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2447,7 +2447,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMax(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestMin.java b/tests/tests/renderscript/src/android/renderscript/cts/TestMin.java
index aaf6549..6765c20 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestMin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestMin.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -359,7 +359,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -425,7 +425,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -491,7 +491,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -557,7 +557,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -629,7 +629,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -695,7 +695,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -761,7 +761,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -827,7 +827,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -899,7 +899,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -965,7 +965,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1031,7 +1031,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1097,7 +1097,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1169,7 +1169,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1235,7 +1235,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1301,7 +1301,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1367,7 +1367,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1439,7 +1439,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1505,7 +1505,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1571,7 +1571,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1637,7 +1637,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1709,7 +1709,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -1775,7 +1775,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -1841,7 +1841,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1907,7 +1907,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -1979,7 +1979,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2045,7 +2045,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2111,7 +2111,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2177,7 +2177,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2249,7 +2249,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 1 + j]) {
valid = false;
@@ -2315,7 +2315,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 2 + j]) {
valid = false;
@@ -2381,7 +2381,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
@@ -2447,7 +2447,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.out != arrayOut[i * 4 + j]) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestMix.java b/tests/tests/renderscript/src/android/renderscript/cts/TestMix.java
index e9618cf..adcea66 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestMix.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestMix.java
@@ -84,7 +84,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -163,7 +163,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -242,7 +242,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -321,7 +321,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -400,7 +400,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -479,7 +479,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -558,7 +558,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeMix(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestModf.java b/tests/tests/renderscript/src/android/renderscript/cts/TestModf.java
index 1d2190f..bffe9b9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestModf.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestModf.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeModf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outIret.couldBe(arrayOutIret[i * 1 + j])) {
valid = false;
@@ -155,7 +155,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeModf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outIret.couldBe(arrayOutIret[i * 2 + j])) {
valid = false;
@@ -233,7 +233,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeModf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outIret.couldBe(arrayOutIret[i * 4 + j])) {
valid = false;
@@ -311,7 +311,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeModf(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outIret.couldBe(arrayOutIret[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNan.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNan.java
index d8ae72b..f00b951 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNan.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcos.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcos.java
index 7e03ee0..793f609 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcos.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAcosRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float inV;
+ public Floaty out;
+ }
+
private void checkNativeAcosFloatFloat() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7749aa14657f3d94l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAcosFloatFloat(inV, out);
+ verifyResultsNativeAcosFloatFloat(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcosFloatFloat(inV, out);
+ verifyResultsNativeAcosFloatFloat(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAcosFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcosFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcosFloat2Float2() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x92e82297d87e02d8l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAcosFloat2Float2(inV, out);
+ verifyResultsNativeAcosFloat2Float2(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcosFloat2Float2(inV, out);
+ verifyResultsNativeAcosFloat2Float2(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAcosFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcosFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcosFloat3Float3() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x92e9ebb2ce9923b6l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAcosFloat3Float3(inV, out);
+ verifyResultsNativeAcosFloat3Float3(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcosFloat3Float3(inV, out);
+ verifyResultsNativeAcosFloat3Float3(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAcosFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcosFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcosFloat4Float4() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x92ebb4cdc4b44494l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAcosFloat4Float4(inV, out);
+ verifyResultsNativeAcosFloat4Float4(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcosFloat4Float4(inV, out);
+ verifyResultsNativeAcosFloat4Float4(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcosFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAcosFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcosFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAcos() {
checkNativeAcosFloatFloat();
checkNativeAcosFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcosh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcosh.java
index 8a595ae..ae56fcf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcosh.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAcoshRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeAcoshFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x332857238c9c505cl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAcoshFloatFloat(in, out);
+ verifyResultsNativeAcoshFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcoshFloatFloat(in, out);
+ verifyResultsNativeAcoshFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAcoshFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcoshFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcoshFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7e5c81be4638e398l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAcoshFloat2Float2(in, out);
+ verifyResultsNativeAcoshFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcoshFloat2Float2(in, out);
+ verifyResultsNativeAcoshFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAcoshFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcoshFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcoshFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7e5c8c5fa53f7932l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAcoshFloat3Float3(in, out);
+ verifyResultsNativeAcoshFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcoshFloat3Float3(in, out);
+ verifyResultsNativeAcoshFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAcoshFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcoshFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcoshFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7e5c970104460eccl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAcoshFloat4Float4(in, out);
+ verifyResultsNativeAcoshFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcoshFloat4Float4(in, out);
+ verifyResultsNativeAcoshFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcoshFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAcoshFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcoshFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAcosh() {
checkNativeAcoshFloatFloat();
checkNativeAcoshFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcospi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcospi.java
index b01286b..b8adf58 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAcospi.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAcospiRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float inV;
+ public Floaty out;
+ }
+
private void checkNativeAcospiFloatFloat() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdcf67f5599c7d8ffl, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAcospiFloatFloat(inV, out);
+ verifyResultsNativeAcospiFloatFloat(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcospiFloatFloat(inV, out);
+ verifyResultsNativeAcospiFloatFloat(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAcospiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcospiFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcospiFloat2Float2() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf038668a78e88aabl, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAcospiFloat2Float2(inV, out);
+ verifyResultsNativeAcospiFloat2Float2(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcospiFloat2Float2(inV, out);
+ verifyResultsNativeAcospiFloat2Float2(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAcospiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcospiFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcospiFloat3Float3() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf03a2fa56f03ab89l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAcospiFloat3Float3(inV, out);
+ verifyResultsNativeAcospiFloat3Float3(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcospiFloat3Float3(inV, out);
+ verifyResultsNativeAcospiFloat3Float3(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAcospiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcospiFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAcospiFloat4Float4() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf03bf8c0651ecc67l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAcospiFloat4Float4(inV, out);
+ verifyResultsNativeAcospiFloat4Float4(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAcospiFloat4Float4(inV, out);
+ verifyResultsNativeAcospiFloat4Float4(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAcospiFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAcospiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAcospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAcospiFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAcospi() {
checkNativeAcospiFloatFloat();
checkNativeAcospiFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsin.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsin.java
index 9cf00bd..95a4980 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsin.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAsinRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float inV;
+ public Floaty out;
+ }
+
private void checkNativeAsinFloatFloat() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1167d6d8d3e5bc7l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAsinFloatFloat(inV, out);
+ verifyResultsNativeAsinFloatFloat(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinFloatFloat(inV, out);
+ verifyResultsNativeAsinFloatFloat(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAsinFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinFloat2Float2() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdb4aa187ebdf2133l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAsinFloat2Float2(inV, out);
+ verifyResultsNativeAsinFloat2Float2(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinFloat2Float2(inV, out);
+ verifyResultsNativeAsinFloat2Float2(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAsinFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinFloat3Float3() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdb4c6aa2e1fa4211l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAsinFloat3Float3(inV, out);
+ verifyResultsNativeAsinFloat3Float3(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinFloat3Float3(inV, out);
+ verifyResultsNativeAsinFloat3Float3(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAsinFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinFloat4Float4() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdb4e33bdd81562efl, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAsinFloat4Float4(inV, out);
+ verifyResultsNativeAsinFloat4Float4(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinFloat4Float4(inV, out);
+ verifyResultsNativeAsinFloat4Float4(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAsinFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAsin() {
checkNativeAsinFloatFloat();
checkNativeAsinFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinh.java
index 958764a..830140e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinh.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAsinhRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeAsinhFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbcf52a7cb45b6e8fl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAsinhFloatFloat(in, out);
+ verifyResultsNativeAsinhFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinhFloatFloat(in, out);
+ verifyResultsNativeAsinhFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAsinhFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinhFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinhFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc6bf00ae599a01f3l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAsinhFloat2Float2(in, out);
+ verifyResultsNativeAsinhFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinhFloat2Float2(in, out);
+ verifyResultsNativeAsinhFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAsinhFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinhFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinhFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc6bf0b4fb8a0978dl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAsinhFloat3Float3(in, out);
+ verifyResultsNativeAsinhFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinhFloat3Float3(in, out);
+ verifyResultsNativeAsinhFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAsinhFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinhFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinhFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc6bf15f117a72d27l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAsinhFloat4Float4(in, out);
+ verifyResultsNativeAsinhFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinhFloat4Float4(in, out);
+ verifyResultsNativeAsinhFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinhFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAsinhFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinhFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAsinh() {
checkNativeAsinhFloatFloat();
checkNativeAsinhFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinpi.java
index bd2ece4..04824d8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAsinpi.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAsinpiRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float inV;
+ public Floaty out;
+ }
+
private void checkNativeAsinpiFloatFloat() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2558fe45ad28f75al, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAsinpiFloatFloat(inV, out);
+ verifyResultsNativeAsinpiFloatFloat(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinpiFloatFloat(inV, out);
+ verifyResultsNativeAsinpiFloatFloat(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAsinpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinpiFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinpiFloat2Float2() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xbf9f3a86715cc9eel, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAsinpiFloat2Float2(inV, out);
+ verifyResultsNativeAsinpiFloat2Float2(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinpiFloat2Float2(inV, out);
+ verifyResultsNativeAsinpiFloat2Float2(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAsinpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinpiFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinpiFloat3Float3() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbfa103a16777eaccl, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAsinpiFloat3Float3(inV, out);
+ verifyResultsNativeAsinpiFloat3Float3(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinpiFloat3Float3(inV, out);
+ verifyResultsNativeAsinpiFloat3Float3(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAsinpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinpiFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAsinpiFloat4Float4() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbfa2ccbc5d930baal, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAsinpiFloat4Float4(inV, out);
+ verifyResultsNativeAsinpiFloat4Float4(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAsinpiFloat4Float4(inV, out);
+ verifyResultsNativeAsinpiFloat4Float4(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAsinpiFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAsinpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAsinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAsinpiFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAsinpi() {
checkNativeAsinpiFloatFloat();
checkNativeAsinpiFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan.java
index 2bd7aa7..c60520c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAtanRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float inV;
+ public Floaty out;
+ }
+
private void checkNativeAtanFloatFloat() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xaafbf9b325b34e42l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAtanFloatFloat(inV, out);
+ verifyResultsNativeAtanFloatFloat(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanFloatFloat(inV, out);
+ verifyResultsNativeAtanFloatFloat(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAtanFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanFloat2Float2() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf5c93432108a7b96l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAtanFloat2Float2(inV, out);
+ verifyResultsNativeAtanFloat2Float2(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanFloat2Float2(inV, out);
+ verifyResultsNativeAtanFloat2Float2(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAtanFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanFloat3Float3() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf5cafd4d06a59c74l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAtanFloat3Float3(inV, out);
+ verifyResultsNativeAtanFloat3Float3(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanFloat3Float3(inV, out);
+ verifyResultsNativeAtanFloat3Float3(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAtanFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanFloat4Float4() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf5ccc667fcc0bd52l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAtanFloat4Float4(inV, out);
+ verifyResultsNativeAtanFloat4Float4(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanFloat4Float4(inV, out);
+ verifyResultsNativeAtanFloat4Float4(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAtanFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAtan() {
checkNativeAtanFloatFloat();
checkNativeAtanFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2.java
index bf30b43..6d3fca7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2.java
@@ -34,6 +34,12 @@
scriptRelaxed = new ScriptC_TestNativeAtan2Relaxed(mRS);
}
+ public class ArgumentsFloatFloatFloat {
+ public float inY;
+ public float inX;
+ public Floaty out;
+ }
+
private void checkNativeAtan2FloatFloatFloat() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4ecf7d3b9e2a276fl, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4ecf7d3b9e2a276el, false);
@@ -41,6 +47,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2FloatFloatFloat(inY, out);
+ verifyResultsNativeAtan2FloatFloatFloat(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2FloatFloatFloat: " + e.toString());
}
@@ -48,11 +55,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2FloatFloatFloat(inY, out);
+ verifyResultsNativeAtan2FloatFloatFloat(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2FloatFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2FloatFloatFloat(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 1];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 1];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i];
+ args.inX = arrayInX[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2FloatFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtan2Float2Float2Float2() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3c2d1a09d1c2a8c7l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3c2d1a09d1c2a8c6l, false);
@@ -60,6 +116,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2Float2Float2Float2(inY, out);
+ verifyResultsNativeAtan2Float2Float2Float2(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2Float2Float2Float2: " + e.toString());
}
@@ -67,11 +124,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2Float2Float2Float2(inY, out);
+ verifyResultsNativeAtan2Float2Float2Float2(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2Float2Float2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2Float2Float2Float2(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 2];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 2];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i * 2 + j];
+ args.inX = arrayInX[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2Float2Float2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtan2Float3Float3Float3() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9091f829d3a0aa68l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9091f829d3a0aa67l, false);
@@ -79,6 +185,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2Float3Float3Float3(inY, out);
+ verifyResultsNativeAtan2Float3Float3Float3(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2Float3Float3Float3: " + e.toString());
}
@@ -86,11 +193,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2Float3Float3Float3(inY, out);
+ verifyResultsNativeAtan2Float3Float3Float3(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2Float3Float3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2Float3Float3Float3(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 4];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 4];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i * 4 + j];
+ args.inX = arrayInX[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2Float3Float3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtan2Float4Float4Float4() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe4f6d649d57eac09l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe4f6d649d57eac08l, false);
@@ -98,6 +254,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2Float4Float4Float4(inY, out);
+ verifyResultsNativeAtan2Float4Float4Float4(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2Float4Float4Float4: " + e.toString());
}
@@ -105,11 +262,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2Float4Float4Float4(inY, out);
+ verifyResultsNativeAtan2Float4Float4Float4(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2Float4Float4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2Float4Float4Float4(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 4];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 4];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i * 4 + j];
+ args.inX = arrayInX[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2Float4Float4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAtan2() {
checkNativeAtan2FloatFloatFloat();
checkNativeAtan2Float2Float2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2pi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2pi.java
index 0dcae63..1cb13e7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2pi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtan2pi.java
@@ -34,6 +34,12 @@
scriptRelaxed = new ScriptC_TestNativeAtan2piRelaxed(mRS);
}
+ public class ArgumentsFloatFloatFloat {
+ public float inY;
+ public float inX;
+ public Floaty out;
+ }
+
private void checkNativeAtan2piFloatFloatFloat() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x39c4f8fd35fc5dc8l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x39c4f8fd35fc5dc7l, false);
@@ -41,6 +47,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2piFloatFloatFloat(inY, out);
+ verifyResultsNativeAtan2piFloatFloatFloat(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloatFloatFloat: " + e.toString());
}
@@ -48,11 +55,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2piFloatFloatFloat(inY, out);
+ verifyResultsNativeAtan2piFloatFloatFloat(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloatFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2piFloatFloatFloat(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 1];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 1];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i];
+ args.inX = arrayInX[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2pi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2piFloatFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtan2piFloat2Float2Float2() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6aff980c8d47a3e2l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6aff980c8d47a3e1l, false);
@@ -60,6 +116,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2piFloat2Float2Float2(inY, out);
+ verifyResultsNativeAtan2piFloat2Float2Float2(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloat2Float2Float2: " + e.toString());
}
@@ -67,11 +124,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2piFloat2Float2Float2(inY, out);
+ verifyResultsNativeAtan2piFloat2Float2Float2(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloat2Float2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2piFloat2Float2Float2(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 2];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 2];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i * 2 + j];
+ args.inX = arrayInX[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2pi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2piFloat2Float2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtan2piFloat3Float3Float3() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbf64762c8f25a583l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbf64762c8f25a582l, false);
@@ -79,6 +185,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2piFloat3Float3Float3(inY, out);
+ verifyResultsNativeAtan2piFloat3Float3Float3(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloat3Float3Float3: " + e.toString());
}
@@ -86,11 +193,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2piFloat3Float3Float3(inY, out);
+ verifyResultsNativeAtan2piFloat3Float3Float3(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloat3Float3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2piFloat3Float3Float3(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 4];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 4];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i * 4 + j];
+ args.inX = arrayInX[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2pi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2piFloat3Float3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtan2piFloat4Float4Float4() {
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x13c9544c9103a724l, false);
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x13c9544c9103a723l, false);
@@ -98,6 +254,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.set_gAllocInX(inX);
script.forEach_testNativeAtan2piFloat4Float4Float4(inY, out);
+ verifyResultsNativeAtan2piFloat4Float4Float4(inY, inX, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloat4Float4Float4: " + e.toString());
}
@@ -105,11 +262,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.set_gAllocInX(inX);
scriptRelaxed.forEach_testNativeAtan2piFloat4Float4Float4(inY, out);
+ verifyResultsNativeAtan2piFloat4Float4Float4(inY, inX, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtan2piFloat4Float4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAtan2piFloat4Float4Float4(Allocation inY, Allocation inX, Allocation out, boolean relaxed) {
+ float[] arrayInY = new float[INPUTSIZE * 4];
+ inY.copyTo(arrayInY);
+ float[] arrayInX = new float[INPUTSIZE * 4];
+ inX.copyTo(arrayInX);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inY = arrayInY[i * 4 + j];
+ args.inX = arrayInX[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtan2pi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtan2piFloat4Float4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAtan2pi() {
checkNativeAtan2piFloatFloatFloat();
checkNativeAtan2piFloat2Float2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanh.java
index fffc9ae..b6a6f4e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanh.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAtanhRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeAtanhFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x66daa6c24cd0610al, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAtanhFloatFloat(in, out);
+ verifyResultsNativeAtanhFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanhFloatFloat(in, out);
+ verifyResultsNativeAtanhFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAtanhFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanhFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanhFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe13d93587e455c56l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAtanhFloat2Float2(in, out);
+ verifyResultsNativeAtanhFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanhFloat2Float2(in, out);
+ verifyResultsNativeAtanhFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAtanhFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanhFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanhFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe13d9df9dd4bf1f0l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAtanhFloat3Float3(in, out);
+ verifyResultsNativeAtanhFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanhFloat3Float3(in, out);
+ verifyResultsNativeAtanhFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAtanhFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanhFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanhFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe13da89b3c52878al, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAtanhFloat4Float4(in, out);
+ verifyResultsNativeAtanhFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanhFloat4Float4(in, out);
+ verifyResultsNativeAtanhFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanhFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAtanhFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanhFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAtanh() {
checkNativeAtanhFloatFloat();
checkNativeAtanhFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanpi.java
index aa26b10..0a17823 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeAtanpi.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeAtanpiRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float inV;
+ public Floaty out;
+ }
+
private void checkNativeAtanpiFloatFloat() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3fd790efd1d451bdl, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeAtanpiFloatFloat(inV, out);
+ verifyResultsNativeAtanpiFloatFloat(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanpiFloatFloat(inV, out);
+ verifyResultsNativeAtanpiFloatFloat(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeAtanpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanpiFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanpiFloat2Float2() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1bd089694afc9ef9l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeAtanpiFloat2Float2(inV, out);
+ verifyResultsNativeAtanpiFloat2Float2(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanpiFloat2Float2(inV, out);
+ verifyResultsNativeAtanpiFloat2Float2(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeAtanpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanpiFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanpiFloat3Float3() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1bd252844117bfd7l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeAtanpiFloat3Float3(inV, out);
+ verifyResultsNativeAtanpiFloat3Float3(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanpiFloat3Float3(inV, out);
+ verifyResultsNativeAtanpiFloat3Float3(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeAtanpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanpiFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeAtanpiFloat4Float4() {
Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1bd41b9f3732e0b5l, -1, 1);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeAtanpiFloat4Float4(inV, out);
+ verifyResultsNativeAtanpiFloat4Float4(inV, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeAtanpiFloat4Float4(inV, out);
+ verifyResultsNativeAtanpiFloat4Float4(inV, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeAtanpiFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeAtanpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeAtanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeAtanpiFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeAtanpi() {
checkNativeAtanpiFloatFloat();
checkNativeAtanpiFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCbrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCbrt.java
index a947902..2f11069 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCbrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCbrt.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeCbrtRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeCbrtFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6eed1901e2ca9d19l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeCbrtFloatFloat(in, out);
+ verifyResultsNativeCbrtFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeCbrtFloatFloat(in, out);
+ verifyResultsNativeCbrtFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeCbrtFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCbrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCbrtFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCbrtFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2e78c09abaa124adl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeCbrtFloat2Float2(in, out);
+ verifyResultsNativeCbrtFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeCbrtFloat2Float2(in, out);
+ verifyResultsNativeCbrtFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeCbrtFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCbrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCbrtFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCbrtFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2e78cb3c19a7ba47l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeCbrtFloat3Float3(in, out);
+ verifyResultsNativeCbrtFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeCbrtFloat3Float3(in, out);
+ verifyResultsNativeCbrtFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeCbrtFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCbrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCbrtFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCbrtFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2e78d5dd78ae4fe1l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeCbrtFloat4Float4(in, out);
+ verifyResultsNativeCbrtFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeCbrtFloat4Float4(in, out);
+ verifyResultsNativeCbrtFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCbrtFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeCbrtFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCbrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCbrtFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeCbrt() {
checkNativeCbrtFloatFloat();
checkNativeCbrtFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCos.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCos.java
index e778390..347f96a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCos.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeCosRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeCosFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x95ef4a20c73e7e3dl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeCosFloatFloat(in, out);
+ verifyResultsNativeCosFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeCosFloatFloat(in, out);
+ verifyResultsNativeCosFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeCosFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCosFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCosFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xed4d88bac39641b1l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeCosFloat2Float2(in, out);
+ verifyResultsNativeCosFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeCosFloat2Float2(in, out);
+ verifyResultsNativeCosFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeCosFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCosFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCosFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xed4d935c229cd74bl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeCosFloat3Float3(in, out);
+ verifyResultsNativeCosFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeCosFloat3Float3(in, out);
+ verifyResultsNativeCosFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeCosFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCosFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCosFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xed4d9dfd81a36ce5l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeCosFloat4Float4(in, out);
+ verifyResultsNativeCosFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeCosFloat4Float4(in, out);
+ verifyResultsNativeCosFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCosFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeCosFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCosFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeCos() {
checkNativeCosFloatFloat();
checkNativeCosFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCosh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCosh.java
index c8a177b..a3ba2df 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCosh.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeCoshRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeCoshFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xeb1020909e9c475dl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeCoshFloatFloat(in, out);
+ verifyResultsNativeCoshFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeCoshFloatFloat(in, out);
+ verifyResultsNativeCoshFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeCoshFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCoshFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCoshFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc77a568547f7e9d1l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeCoshFloat2Float2(in, out);
+ verifyResultsNativeCoshFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeCoshFloat2Float2(in, out);
+ verifyResultsNativeCoshFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeCoshFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCoshFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCoshFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc77a6126a6fe7f6bl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeCoshFloat3Float3(in, out);
+ verifyResultsNativeCoshFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeCoshFloat3Float3(in, out);
+ verifyResultsNativeCoshFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeCoshFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCoshFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCoshFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc77a6bc806051505l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeCoshFloat4Float4(in, out);
+ verifyResultsNativeCoshFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeCoshFloat4Float4(in, out);
+ verifyResultsNativeCoshFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCoshFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeCoshFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCosh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCoshFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeCosh() {
checkNativeCoshFloatFloat();
checkNativeCoshFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCospi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCospi.java
index b4c62ce..0136d45 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeCospi.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeCospiRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeCospiFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x8fc4f0187aafc9a6l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeCospiFloatFloat(in, out);
+ verifyResultsNativeCospiFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeCospiFloatFloat(in, out);
+ verifyResultsNativeCospiFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeCospiFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCospiFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCospiFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x656942c9d0dfeb12l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeCospiFloat2Float2(in, out);
+ verifyResultsNativeCospiFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeCospiFloat2Float2(in, out);
+ verifyResultsNativeCospiFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeCospiFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCospiFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCospiFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x65694d6b2fe680acl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeCospiFloat3Float3(in, out);
+ verifyResultsNativeCospiFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeCospiFloat3Float3(in, out);
+ verifyResultsNativeCospiFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeCospiFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCospiFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeCospiFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6569580c8eed1646l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeCospiFloat4Float4(in, out);
+ verifyResultsNativeCospiFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeCospiFloat4Float4(in, out);
+ verifyResultsNativeCospiFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeCospiFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeCospiFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeCospi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeCospiFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeCospi() {
checkNativeCospiFloatFloat();
checkNativeCospiFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDistance.java
index 00833a3..975910e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDistance.java
@@ -34,6 +34,12 @@
scriptRelaxed = new ScriptC_TestNativeDistanceRelaxed(mRS);
}
+ public class ArgumentsFloatFloatFloat {
+ public float inLhs;
+ public float inRhs;
+ public Floaty out;
+ }
+
private void checkNativeDistanceFloatFloatFloat() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe0fd4252f8556ff6l, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe0fd4252f8559b4cl, false);
@@ -41,6 +47,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDistanceFloatFloatFloat(inLhs, out);
+ verifyResultsNativeDistanceFloatFloatFloat(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloatFloatFloat: " + e.toString());
}
@@ -48,11 +55,65 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDistanceFloatFloatFloat(inLhs, out);
+ verifyResultsNativeDistanceFloatFloatFloat(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloatFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeDistanceFloatFloatFloat(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 1];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 1];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ // Create the appropriate sized arrays in args
+ // Fill args with the input values
+ args.inLhs = arrayInLhs[i];
+ args.inRhs = arrayInRhs[i];
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDistance(args);
+
+ // Compare the expected outputs to the actual values returned by RS.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInLhs[i], Float.floatToRawIntBits(arrayInLhs[i]), arrayInLhs[i]));
+ message.append("\n");
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInRhs[i], Float.floatToRawIntBits(arrayInRhs[i]), arrayInRhs[i]));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+ if (!args.out.couldBe(arrayOut[i])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDistanceFloatFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+
+ public class ArgumentsFloatNFloatNFloat {
+ public float[] inLhs;
+ public float[] inRhs;
+ public Floaty out;
+ }
+
private void checkNativeDistanceFloat2Float2Float() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x28a9ea2ea1fd926al, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x28a9ea2ea1fdbdc0l, false);
@@ -60,6 +121,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDistanceFloat2Float2Float(inLhs, out);
+ verifyResultsNativeDistanceFloat2Float2Float(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloat2Float2Float: " + e.toString());
}
@@ -67,11 +129,69 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDistanceFloat2Float2Float(inLhs, out);
+ verifyResultsNativeDistanceFloat2Float2Float(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloat2Float2Float: " + e.toString());
}
}
+ private void verifyResultsNativeDistanceFloat2Float2Float(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 2];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 2];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
+ // Create the appropriate sized arrays in args
+ args.inLhs = new float[2];
+ args.inRhs = new float[2];
+ // Fill args with the input values
+ for (int j = 0; j < 2 ; j++) {
+ args.inLhs[j] = arrayInLhs[i * 2 + j];
+ }
+ for (int j = 0; j < 2 ; j++) {
+ args.inRhs[j] = arrayInRhs[i * 2 + j];
+ }
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDistance(args);
+
+ // Compare the expected outputs to the actual values returned by RS.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ for (int j = 0; j < 2 ; j++) {
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInLhs[i * 2 + j], Float.floatToRawIntBits(arrayInLhs[i * 2 + j]), arrayInLhs[i * 2 + j]));
+ message.append("\n");
+ }
+ for (int j = 0; j < 2 ; j++) {
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInRhs[i * 2 + j], Float.floatToRawIntBits(arrayInRhs[i * 2 + j]), arrayInRhs[i * 2 + j]));
+ message.append("\n");
+ }
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+ if (!args.out.couldBe(arrayOut[i])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDistanceFloat2Float2Float" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+
private void checkNativeDistanceFloat3Float3Float() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x559b398ef213adc4l, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x559b398ef213d91al, false);
@@ -79,6 +199,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDistanceFloat3Float3Float(inLhs, out);
+ verifyResultsNativeDistanceFloat3Float3Float(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloat3Float3Float: " + e.toString());
}
@@ -86,11 +207,69 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDistanceFloat3Float3Float(inLhs, out);
+ verifyResultsNativeDistanceFloat3Float3Float(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloat3Float3Float: " + e.toString());
}
}
+ private void verifyResultsNativeDistanceFloat3Float3Float(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 4];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 4];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
+ // Create the appropriate sized arrays in args
+ args.inLhs = new float[3];
+ args.inRhs = new float[3];
+ // Fill args with the input values
+ for (int j = 0; j < 3 ; j++) {
+ args.inLhs[j] = arrayInLhs[i * 4 + j];
+ }
+ for (int j = 0; j < 3 ; j++) {
+ args.inRhs[j] = arrayInRhs[i * 4 + j];
+ }
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDistance(args);
+
+ // Compare the expected outputs to the actual values returned by RS.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ for (int j = 0; j < 3 ; j++) {
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInLhs[i * 4 + j], Float.floatToRawIntBits(arrayInLhs[i * 4 + j]), arrayInLhs[i * 4 + j]));
+ message.append("\n");
+ }
+ for (int j = 0; j < 3 ; j++) {
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInRhs[i * 4 + j], Float.floatToRawIntBits(arrayInRhs[i * 4 + j]), arrayInRhs[i * 4 + j]));
+ message.append("\n");
+ }
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+ if (!args.out.couldBe(arrayOut[i])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDistanceFloat3Float3Float" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+
private void checkNativeDistanceFloat4Float4Float() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x828c88ef4229c91el, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x828c88ef4229f474l, false);
@@ -98,6 +277,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDistanceFloat4Float4Float(inLhs, out);
+ verifyResultsNativeDistanceFloat4Float4Float(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloat4Float4Float: " + e.toString());
}
@@ -105,11 +285,69 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDistanceFloat4Float4Float(inLhs, out);
+ verifyResultsNativeDistanceFloat4Float4Float(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDistanceFloat4Float4Float: " + e.toString());
}
}
+ private void verifyResultsNativeDistanceFloat4Float4Float(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 4];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 4];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
+ // Create the appropriate sized arrays in args
+ args.inLhs = new float[4];
+ args.inRhs = new float[4];
+ // Fill args with the input values
+ for (int j = 0; j < 4 ; j++) {
+ args.inLhs[j] = arrayInLhs[i * 4 + j];
+ }
+ for (int j = 0; j < 4 ; j++) {
+ args.inRhs[j] = arrayInRhs[i * 4 + j];
+ }
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDistance(args);
+
+ // Compare the expected outputs to the actual values returned by RS.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ for (int j = 0; j < 4 ; j++) {
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInLhs[i * 4 + j], Float.floatToRawIntBits(arrayInLhs[i * 4 + j]), arrayInLhs[i * 4 + j]));
+ message.append("\n");
+ }
+ for (int j = 0; j < 4 ; j++) {
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayInRhs[i * 4 + j], Float.floatToRawIntBits(arrayInRhs[i * 4 + j]), arrayInRhs[i * 4 + j]));
+ message.append("\n");
+ }
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+ if (!args.out.couldBe(arrayOut[i])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDistanceFloat4Float4Float" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+
public void testNativeDistance() {
checkNativeDistanceFloatFloatFloat();
checkNativeDistanceFloat2Float2Float();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDivide.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDivide.java
index 3a2323f..e77a9cf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDivide.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeDivide.java
@@ -34,6 +34,12 @@
scriptRelaxed = new ScriptC_TestNativeDivideRelaxed(mRS);
}
+ public class ArgumentsFloatFloatFloat {
+ public float inLhs;
+ public float inRhs;
+ public Floaty out;
+ }
+
private void checkNativeDivideFloatFloatFloat() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe2845ef0c23d02del, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe2845ef0c23d2e34l, false);
@@ -41,6 +47,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDivideFloatFloatFloat(inLhs, out);
+ verifyResultsNativeDivideFloatFloatFloat(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloatFloatFloat: " + e.toString());
}
@@ -48,11 +55,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDivideFloatFloatFloat(inLhs, out);
+ verifyResultsNativeDivideFloatFloatFloat(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloatFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeDivideFloatFloatFloat(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 1];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 1];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inLhs = arrayInLhs[i];
+ args.inRhs = arrayInRhs[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDivide(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inLhs, Float.floatToRawIntBits(args.inLhs), args.inLhs));
+ message.append("\n");
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inRhs, Float.floatToRawIntBits(args.inRhs), args.inRhs));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDivideFloatFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeDivideFloat2Float2Float2() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x51c6d6ecaeab1c48l, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x51c6d6ecaeab479el, false);
@@ -60,6 +116,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDivideFloat2Float2Float2(inLhs, out);
+ verifyResultsNativeDivideFloat2Float2Float2(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloat2Float2Float2: " + e.toString());
}
@@ -67,11 +124,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDivideFloat2Float2Float2(inLhs, out);
+ verifyResultsNativeDivideFloat2Float2Float2(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloat2Float2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeDivideFloat2Float2Float2(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 2];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 2];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inLhs = arrayInLhs[i * 2 + j];
+ args.inRhs = arrayInRhs[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDivide(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inLhs, Float.floatToRawIntBits(args.inLhs), args.inLhs));
+ message.append("\n");
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inRhs, Float.floatToRawIntBits(args.inRhs), args.inRhs));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDivideFloat2Float2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeDivideFloat3Float3Float3() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xde4f2c1a2b24e021l, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xde4f2c1a2b250b77l, false);
@@ -79,6 +185,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDivideFloat3Float3Float3(inLhs, out);
+ verifyResultsNativeDivideFloat3Float3Float3(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloat3Float3Float3: " + e.toString());
}
@@ -86,11 +193,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDivideFloat3Float3Float3(inLhs, out);
+ verifyResultsNativeDivideFloat3Float3Float3(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloat3Float3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeDivideFloat3Float3Float3(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 4];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 4];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inLhs = arrayInLhs[i * 4 + j];
+ args.inRhs = arrayInRhs[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDivide(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inLhs, Float.floatToRawIntBits(args.inLhs), args.inLhs));
+ message.append("\n");
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inRhs, Float.floatToRawIntBits(args.inRhs), args.inRhs));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDivideFloat3Float3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeDivideFloat4Float4Float4() {
Allocation inLhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6ad78147a79ea3fal, false);
Allocation inRhs = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6ad78147a79ecf50l, false);
@@ -98,6 +254,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.set_gAllocInRhs(inRhs);
script.forEach_testNativeDivideFloat4Float4Float4(inLhs, out);
+ verifyResultsNativeDivideFloat4Float4Float4(inLhs, inRhs, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloat4Float4Float4: " + e.toString());
}
@@ -105,11 +262,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.set_gAllocInRhs(inRhs);
scriptRelaxed.forEach_testNativeDivideFloat4Float4Float4(inLhs, out);
+ verifyResultsNativeDivideFloat4Float4Float4(inLhs, inRhs, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeDivideFloat4Float4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeDivideFloat4Float4Float4(Allocation inLhs, Allocation inRhs, Allocation out, boolean relaxed) {
+ float[] arrayInLhs = new float[INPUTSIZE * 4];
+ inLhs.copyTo(arrayInLhs);
+ float[] arrayInRhs = new float[INPUTSIZE * 4];
+ inRhs.copyTo(arrayInRhs);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inLhs = arrayInLhs[i * 4 + j];
+ args.inRhs = arrayInRhs[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeDivide(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inLhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inLhs, Float.floatToRawIntBits(args.inLhs), args.inLhs));
+ message.append("\n");
+ message.append("Input inRhs: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inRhs, Float.floatToRawIntBits(args.inRhs), args.inRhs));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeDivideFloat4Float4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeDivide() {
checkNativeDivideFloatFloatFloat();
checkNativeDivideFloat2Float2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp.java
index 5432ce6..4f20a41 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp10.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp10.java
index 4f4d340..b6443c0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp10.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp2.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp2.java
index 469140d..f1939ee 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExp2.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeExp2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExpm1.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExpm1.java
index 5e2cde6..4b8b102 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExpm1.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeExpm1.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeExpm1Relaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeExpm1FloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x209e2820fcaa295fl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeExpm1FloatFloat(in, out);
+ verifyResultsNativeExpm1FloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1FloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeExpm1FloatFloat(in, out);
+ verifyResultsNativeExpm1FloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1FloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeExpm1FloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeExpm1(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeExpm1FloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeExpm1Float2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x964ef83c9a3d4a43l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeExpm1Float2Float2(in, out);
+ verifyResultsNativeExpm1Float2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1Float2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeExpm1Float2Float2(in, out);
+ verifyResultsNativeExpm1Float2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1Float2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeExpm1Float2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeExpm1(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeExpm1Float2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeExpm1Float3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x964f02ddf943dfddl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeExpm1Float3Float3(in, out);
+ verifyResultsNativeExpm1Float3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1Float3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeExpm1Float3Float3(in, out);
+ verifyResultsNativeExpm1Float3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1Float3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeExpm1Float3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeExpm1(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeExpm1Float3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeExpm1Float4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x964f0d7f584a7577l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeExpm1Float4Float4(in, out);
+ verifyResultsNativeExpm1Float4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1Float4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeExpm1Float4Float4(in, out);
+ verifyResultsNativeExpm1Float4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeExpm1Float4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeExpm1Float4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeExpm1(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeExpm1Float4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeExpm1() {
checkNativeExpm1FloatFloat();
checkNativeExpm1Float2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeHypot.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeHypot.java
index d1b5f76..b3538d5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeHypot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeHypot.java
@@ -34,6 +34,12 @@
scriptRelaxed = new ScriptC_TestNativeHypotRelaxed(mRS);
}
+ public class ArgumentsFloatFloatFloat {
+ public float inX;
+ public float inY;
+ public Floaty out;
+ }
+
private void checkNativeHypotFloatFloatFloat() {
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3d61f129bdf66018l, false);
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3d61f129bdf66019l, false);
@@ -41,6 +47,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocInY(inY);
script.forEach_testNativeHypotFloatFloatFloat(inX, out);
+ verifyResultsNativeHypotFloatFloatFloat(inX, inY, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloatFloatFloat: " + e.toString());
}
@@ -48,11 +55,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocInY(inY);
scriptRelaxed.forEach_testNativeHypotFloatFloatFloat(inX, out);
+ verifyResultsNativeHypotFloatFloatFloat(inX, inY, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloatFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeHypotFloatFloatFloat(Allocation inX, Allocation inY, Allocation out, boolean relaxed) {
+ float[] arrayInX = new float[INPUTSIZE * 1];
+ inX.copyTo(arrayInX);
+ float[] arrayInY = new float[INPUTSIZE * 1];
+ inY.copyTo(arrayInY);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inX = arrayInX[i];
+ args.inY = arrayInY[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeHypot(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeHypotFloatFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeHypotFloat2Float2Float2() {
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x92a8064760a50e64l, false);
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x92a8064760a50e65l, false);
@@ -60,6 +116,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.set_gAllocInY(inY);
script.forEach_testNativeHypotFloat2Float2Float2(inX, out);
+ verifyResultsNativeHypotFloat2Float2Float2(inX, inY, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloat2Float2Float2: " + e.toString());
}
@@ -67,11 +124,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.set_gAllocInY(inY);
scriptRelaxed.forEach_testNativeHypotFloat2Float2Float2(inX, out);
+ verifyResultsNativeHypotFloat2Float2Float2(inX, inY, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloat2Float2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeHypotFloat2Float2Float2(Allocation inX, Allocation inY, Allocation out, boolean relaxed) {
+ float[] arrayInX = new float[INPUTSIZE * 2];
+ inX.copyTo(arrayInX);
+ float[] arrayInY = new float[INPUTSIZE * 2];
+ inY.copyTo(arrayInY);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inX = arrayInX[i * 2 + j];
+ args.inY = arrayInY[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeHypot(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeHypotFloat2Float2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeHypotFloat3Float3Float3() {
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe70ce46762831005l, false);
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe70ce46762831006l, false);
@@ -79,6 +185,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.set_gAllocInY(inY);
script.forEach_testNativeHypotFloat3Float3Float3(inX, out);
+ verifyResultsNativeHypotFloat3Float3Float3(inX, inY, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloat3Float3Float3: " + e.toString());
}
@@ -86,11 +193,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.set_gAllocInY(inY);
scriptRelaxed.forEach_testNativeHypotFloat3Float3Float3(inX, out);
+ verifyResultsNativeHypotFloat3Float3Float3(inX, inY, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloat3Float3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeHypotFloat3Float3Float3(Allocation inX, Allocation inY, Allocation out, boolean relaxed) {
+ float[] arrayInX = new float[INPUTSIZE * 4];
+ inX.copyTo(arrayInX);
+ float[] arrayInY = new float[INPUTSIZE * 4];
+ inY.copyTo(arrayInY);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inX = arrayInX[i * 4 + j];
+ args.inY = arrayInY[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeHypot(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeHypotFloat3Float3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeHypotFloat4Float4Float4() {
Allocation inX = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3b71c287646111a6l, false);
Allocation inY = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3b71c287646111a7l, false);
@@ -98,6 +254,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.set_gAllocInY(inY);
script.forEach_testNativeHypotFloat4Float4Float4(inX, out);
+ verifyResultsNativeHypotFloat4Float4Float4(inX, inY, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloat4Float4Float4: " + e.toString());
}
@@ -105,11 +262,60 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.set_gAllocInY(inY);
scriptRelaxed.forEach_testNativeHypotFloat4Float4Float4(inX, out);
+ verifyResultsNativeHypotFloat4Float4Float4(inX, inY, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeHypotFloat4Float4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeHypotFloat4Float4Float4(Allocation inX, Allocation inY, Allocation out, boolean relaxed) {
+ float[] arrayInX = new float[INPUTSIZE * 4];
+ inX.copyTo(arrayInX);
+ float[] arrayInY = new float[INPUTSIZE * 4];
+ inY.copyTo(arrayInY);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inX = arrayInX[i * 4 + j];
+ args.inY = arrayInY[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeHypot(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inX: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inX, Float.floatToRawIntBits(args.inX), args.inX));
+ message.append("\n");
+ message.append("Input inY: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inY, Float.floatToRawIntBits(args.inY), args.inY));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeHypotFloat4Float4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeHypot() {
checkNativeHypotFloatFloatFloat();
checkNativeHypotFloat2Float2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog.java
index 821760b..3cbd176 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0002)) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0002)) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0002)) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0002)) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog10.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog10.java
index caa1133..33bf7a6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog10.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j], 0.00005)) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j], 0.00005)) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j], 0.00005)) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog10(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j], 0.00005)) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog1p.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog1p.java
index d138fe8..60cb122 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog1p.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog1p.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeLog1pRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeLog1pFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x444585911437d95l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeLog1pFloatFloat(in, out);
+ verifyResultsNativeLog1pFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeLog1pFloatFloat(in, out);
+ verifyResultsNativeLog1pFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeLog1pFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeLog1p(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeLog1pFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeLog1pFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd1a13d4961ae8449l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeLog1pFloat2Float2(in, out);
+ verifyResultsNativeLog1pFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeLog1pFloat2Float2(in, out);
+ verifyResultsNativeLog1pFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeLog1pFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeLog1p(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeLog1pFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeLog1pFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd1a147eac0b519e3l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeLog1pFloat3Float3(in, out);
+ verifyResultsNativeLog1pFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeLog1pFloat3Float3(in, out);
+ verifyResultsNativeLog1pFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeLog1pFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeLog1p(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeLog1pFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeLog1pFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd1a1528c1fbbaf7dl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeLog1pFloat4Float4(in, out);
+ verifyResultsNativeLog1pFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeLog1pFloat4Float4(in, out);
+ verifyResultsNativeLog1pFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeLog1pFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeLog1pFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeLog1p(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeLog1pFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeLog1p() {
checkNativeLog1pFloatFloat();
checkNativeLog1pFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog2.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog2.java
index b860a5e..5e85550 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeLog2.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0002)) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0002)) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0002)) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeLog2(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0002)) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRecip.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRecip.java
index bed1a34..bef9efe 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRecip.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRecip.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNativeRecip(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRsqrt.java
index 2e364eb..99c30ff 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeRsqrt.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeRsqrtRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeRsqrtFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf3cf23b51aa29de0l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeRsqrtFloatFloat(in, out);
+ verifyResultsNativeRsqrtFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeRsqrtFloatFloat(in, out);
+ verifyResultsNativeRsqrtFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeRsqrtFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeRsqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeRsqrtFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeRsqrtFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf318090911bec1fcl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeRsqrtFloat2Float2(in, out);
+ verifyResultsNativeRsqrtFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeRsqrtFloat2Float2(in, out);
+ verifyResultsNativeRsqrtFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeRsqrtFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeRsqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeRsqrtFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeRsqrtFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf31813aa70c55796l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeRsqrtFloat3Float3(in, out);
+ verifyResultsNativeRsqrtFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeRsqrtFloat3Float3(in, out);
+ verifyResultsNativeRsqrtFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeRsqrtFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeRsqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeRsqrtFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeRsqrtFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf3181e4bcfcbed30l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeRsqrtFloat4Float4(in, out);
+ verifyResultsNativeRsqrtFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeRsqrtFloat4Float4(in, out);
+ verifyResultsNativeRsqrtFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeRsqrtFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeRsqrtFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeRsqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeRsqrtFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeRsqrt() {
checkNativeRsqrtFloatFloat();
checkNativeRsqrtFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSin.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSin.java
index 80df250..1399f7e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSin.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeSinRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeSinFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x33ee19763354cc56l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeSinFloatFloat(in, out);
+ verifyResultsNativeSinFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinFloatFloat(in, out);
+ verifyResultsNativeSinFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeSinFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x12b508b470b05442l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeSinFloat2Float2(in, out);
+ verifyResultsNativeSinFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinFloat2Float2(in, out);
+ verifyResultsNativeSinFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeSinFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x12b51355cfb6e9dcl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeSinFloat3Float3(in, out);
+ verifyResultsNativeSinFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinFloat3Float3(in, out);
+ verifyResultsNativeSinFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeSinFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x12b51df72ebd7f76l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeSinFloat4Float4(in, out);
+ verifyResultsNativeSinFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinFloat4Float4(in, out);
+ verifyResultsNativeSinFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeSinFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSin(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeSin() {
checkNativeSinFloatFloat();
checkNativeSinFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSincos.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSincos.java
index 70df1a1..7cb57cb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSincos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSincos.java
@@ -34,6 +34,12 @@
scriptRelaxed = new ScriptC_TestNativeSincosRelaxed(mRS);
}
+ public class ArgumentsFloatFloatFloat {
+ public float inV;
+ public Floaty outCosptr;
+ public Floaty out;
+ }
+
private void checkNativeSincosFloatFloatFloat() {
Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe15df2366436cc13l, false);
try {
@@ -41,6 +47,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.set_gAllocOutCosptr(outCosptr);
script.forEach_testNativeSincosFloatFloatFloat(inV, out);
+ verifyResultsNativeSincosFloatFloatFloat(inV, outCosptr, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloatFloatFloat: " + e.toString());
}
@@ -49,11 +56,68 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.set_gAllocOutCosptr(outCosptr);
scriptRelaxed.forEach_testNativeSincosFloatFloatFloat(inV, out);
+ verifyResultsNativeSincosFloatFloatFloat(inV, outCosptr, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloatFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeSincosFloatFloatFloat(Allocation inV, Allocation outCosptr, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 1];
+ inV.copyTo(arrayInV);
+ float[] arrayOutCosptr = new float[INPUTSIZE * 1];
+ outCosptr.copyTo(arrayOutCosptr);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inV = arrayInV[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSincos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 1 + j])) {
+ valid = false;
+ }
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output outCosptr: ");
+ message.append(args.outCosptr.toString());
+ message.append("\n");
+ message.append("Actual output outCosptr: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOutCosptr[i * 1 + j], Float.floatToRawIntBits(arrayOutCosptr[i * 1 + j]), arrayOutCosptr[i * 1 + j]));
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSincosFloatFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSincosFloat2Float2Float2() {
Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe5a1f1dcda676ea9l, false);
try {
@@ -61,6 +125,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.set_gAllocOutCosptr(outCosptr);
script.forEach_testNativeSincosFloat2Float2Float2(inV, out);
+ verifyResultsNativeSincosFloat2Float2Float2(inV, outCosptr, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloat2Float2Float2: " + e.toString());
}
@@ -69,11 +134,68 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.set_gAllocOutCosptr(outCosptr);
scriptRelaxed.forEach_testNativeSincosFloat2Float2Float2(inV, out);
+ verifyResultsNativeSincosFloat2Float2Float2(inV, outCosptr, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloat2Float2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeSincosFloat2Float2Float2(Allocation inV, Allocation outCosptr, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 2];
+ inV.copyTo(arrayInV);
+ float[] arrayOutCosptr = new float[INPUTSIZE * 2];
+ outCosptr.copyTo(arrayOutCosptr);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inV = arrayInV[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSincos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 2 + j])) {
+ valid = false;
+ }
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output outCosptr: ");
+ message.append(args.outCosptr.toString());
+ message.append("\n");
+ message.append("Actual output outCosptr: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOutCosptr[i * 2 + j], Float.floatToRawIntBits(arrayOutCosptr[i * 2 + j]), arrayOutCosptr[i * 2 + j]));
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSincosFloat2Float2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSincosFloat3Float3Float3() {
Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3a06cffcdc45704al, false);
try {
@@ -81,6 +203,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.set_gAllocOutCosptr(outCosptr);
script.forEach_testNativeSincosFloat3Float3Float3(inV, out);
+ verifyResultsNativeSincosFloat3Float3Float3(inV, outCosptr, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloat3Float3Float3: " + e.toString());
}
@@ -89,11 +212,68 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.set_gAllocOutCosptr(outCosptr);
scriptRelaxed.forEach_testNativeSincosFloat3Float3Float3(inV, out);
+ verifyResultsNativeSincosFloat3Float3Float3(inV, outCosptr, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloat3Float3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeSincosFloat3Float3Float3(Allocation inV, Allocation outCosptr, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOutCosptr = new float[INPUTSIZE * 4];
+ outCosptr.copyTo(arrayOutCosptr);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSincos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 4 + j])) {
+ valid = false;
+ }
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output outCosptr: ");
+ message.append(args.outCosptr.toString());
+ message.append("\n");
+ message.append("Actual output outCosptr: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOutCosptr[i * 4 + j], Float.floatToRawIntBits(arrayOutCosptr[i * 4 + j]), arrayOutCosptr[i * 4 + j]));
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSincosFloat3Float3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSincosFloat4Float4Float4() {
Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8e6bae1cde2371ebl, false);
try {
@@ -101,6 +281,7 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.set_gAllocOutCosptr(outCosptr);
script.forEach_testNativeSincosFloat4Float4Float4(inV, out);
+ verifyResultsNativeSincosFloat4Float4Float4(inV, outCosptr, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloat4Float4Float4: " + e.toString());
}
@@ -109,11 +290,68 @@
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.set_gAllocOutCosptr(outCosptr);
scriptRelaxed.forEach_testNativeSincosFloat4Float4Float4(inV, out);
+ verifyResultsNativeSincosFloat4Float4Float4(inV, outCosptr, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSincosFloat4Float4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeSincosFloat4Float4Float4(Allocation inV, Allocation outCosptr, Allocation out, boolean relaxed) {
+ float[] arrayInV = new float[INPUTSIZE * 4];
+ inV.copyTo(arrayInV);
+ float[] arrayOutCosptr = new float[INPUTSIZE * 4];
+ outCosptr.copyTo(arrayOutCosptr);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
+ args.inV = arrayInV[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSincos(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 4 + j])) {
+ valid = false;
+ }
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input inV: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+ message.append("\n");
+ message.append("Expected output outCosptr: ");
+ message.append(args.outCosptr.toString());
+ message.append("\n");
+ message.append("Actual output outCosptr: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOutCosptr[i * 4 + j], Float.floatToRawIntBits(arrayOutCosptr[i * 4 + j]), arrayOutCosptr[i * 4 + j]));
+ if (!args.outCosptr.couldBe(arrayOutCosptr[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSincosFloat4Float4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeSincos() {
checkNativeSincosFloatFloatFloat();
checkNativeSincosFloat2Float2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinh.java
index c4321c4..e94b6a0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinh.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeSinhRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeSinhFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x74dcf3e9c65b6590l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeSinhFloatFloat(in, out);
+ verifyResultsNativeSinhFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinhFloatFloat(in, out);
+ verifyResultsNativeSinhFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeSinhFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinhFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinhFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfdcd5755b59082cl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeSinhFloat2Float2(in, out);
+ verifyResultsNativeSinhFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinhFloat2Float2(in, out);
+ verifyResultsNativeSinhFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeSinhFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinhFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinhFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfdce016ba5f9dc6l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeSinhFloat3Float3(in, out);
+ verifyResultsNativeSinhFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinhFloat3Float3(in, out);
+ verifyResultsNativeSinhFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeSinhFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinhFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinhFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfdceab819663360l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeSinhFloat4Float4(in, out);
+ verifyResultsNativeSinhFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinhFloat4Float4(in, out);
+ verifyResultsNativeSinhFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinhFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeSinhFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinhFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeSinh() {
checkNativeSinhFloatFloat();
checkNativeSinhFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinpi.java
index 6e2bf9b..61e550f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSinpi.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeSinpiRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeSinpiFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb52c701227c9dc37l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeSinpiFloatFloat(in, out);
+ verifyResultsNativeSinpiFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinpiFloatFloat(in, out);
+ verifyResultsNativeSinpiFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeSinpiFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinpiFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinpiFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8df4951d1230045bl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeSinpiFloat2Float2(in, out);
+ verifyResultsNativeSinpiFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinpiFloat2Float2(in, out);
+ verifyResultsNativeSinpiFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeSinpiFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinpiFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinpiFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8df49fbe713699f5l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeSinpiFloat3Float3(in, out);
+ verifyResultsNativeSinpiFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinpiFloat3Float3(in, out);
+ verifyResultsNativeSinpiFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeSinpiFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinpiFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSinpiFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8df4aa5fd03d2f8fl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeSinpiFloat4Float4(in, out);
+ verifyResultsNativeSinpiFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeSinpiFloat4Float4(in, out);
+ verifyResultsNativeSinpiFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSinpiFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeSinpiFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSinpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSinpiFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeSinpi() {
checkNativeSinpiFloatFloat();
checkNativeSinpiFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSqrt.java
index b59a992..a16ea4e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeSqrt.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeSqrtRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeSqrtFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb4c9e7b9972ac810l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeSqrtFloatFloat(in, out);
+ verifyResultsNativeSqrtFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeSqrtFloatFloat(in, out);
+ verifyResultsNativeSqrtFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeSqrtFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSqrtFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSqrtFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc649cd70853776acl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeSqrtFloat2Float2(in, out);
+ verifyResultsNativeSqrtFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeSqrtFloat2Float2(in, out);
+ verifyResultsNativeSqrtFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeSqrtFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSqrtFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSqrtFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc649d811e43e0c46l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeSqrtFloat3Float3(in, out);
+ verifyResultsNativeSqrtFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeSqrtFloat3Float3(in, out);
+ verifyResultsNativeSqrtFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeSqrtFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSqrtFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeSqrtFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc649e2b34344a1e0l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeSqrtFloat4Float4(in, out);
+ verifyResultsNativeSqrtFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeSqrtFloat4Float4(in, out);
+ verifyResultsNativeSqrtFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeSqrtFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeSqrtFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeSqrt(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeSqrtFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeSqrt() {
checkNativeSqrtFloatFloat();
checkNativeSqrtFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTan.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTan.java
index 7a4b927..084bfeb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTan.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeTanRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeTanFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5b9a224e25042b47l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeTanFloatFloat(in, out);
+ verifyResultsNativeTanFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanFloatFloat(in, out);
+ verifyResultsNativeTanFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeTanFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x9c40e8650c550eebl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeTanFloat2Float2(in, out);
+ verifyResultsNativeTanFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanFloat2Float2(in, out);
+ verifyResultsNativeTanFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeTanFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9c40f3066b5ba485l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeTanFloat3Float3(in, out);
+ verifyResultsNativeTanFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanFloat3Float3(in, out);
+ verifyResultsNativeTanFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeTanFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x9c40fda7ca623a1fl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeTanFloat4Float4(in, out);
+ verifyResultsNativeTanFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanFloat4Float4(in, out);
+ verifyResultsNativeTanFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeTanFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTan(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeTan() {
checkNativeTanFloatFloat();
checkNativeTanFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanh.java
index ddcaca0..4b335d3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanh.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeTanhRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeTanhFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1ec2702f5ed0580bl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeTanhFloatFloat(in, out);
+ verifyResultsNativeTanhFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanhFloatFloat(in, out);
+ verifyResultsNativeTanhFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeTanhFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanhFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanhFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2a5b681f8004628fl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeTanhFloat2Float2(in, out);
+ verifyResultsNativeTanhFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanhFloat2Float2(in, out);
+ verifyResultsNativeTanhFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeTanhFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanhFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanhFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2a5b72c0df0af829l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeTanhFloat3Float3(in, out);
+ verifyResultsNativeTanhFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanhFloat3Float3(in, out);
+ verifyResultsNativeTanhFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeTanhFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanhFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanhFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2a5b7d623e118dc3l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeTanhFloat4Float4(in, out);
+ verifyResultsNativeTanhFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanhFloat4Float4(in, out);
+ verifyResultsNativeTanhFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanhFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeTanhFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanh(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanhFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeTanh() {
checkNativeTanhFloatFloat();
checkNativeTanhFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanpi.java
index 65dd51b..00b9ca1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNativeTanpi.java
@@ -34,70 +34,247 @@
scriptRelaxed = new ScriptC_TestNativeTanpiRelaxed(mRS);
}
+ public class ArgumentsFloatFloat {
+ public float in;
+ public Floaty out;
+ }
+
private void checkNativeTanpiFloatFloat() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3eb84fc2c36e96e0l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
script.forEach_testNativeTanpiFloatFloat(in, out);
+ verifyResultsNativeTanpiFloatFloat(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloatFloat: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanpiFloatFloat(in, out);
+ verifyResultsNativeTanpiFloatFloat(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloatFloat: " + e.toString());
}
}
+ private void verifyResultsNativeTanpiFloatFloat(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 1];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 1];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 1 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+ if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanpiFloatFloat" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanpiFloat2Float2() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x13737b13af832fcl, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
script.forEach_testNativeTanpiFloat2Float2(in, out);
+ verifyResultsNativeTanpiFloat2Float2(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloat2Float2: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanpiFloat2Float2(in, out);
+ verifyResultsNativeTanpiFloat2Float2(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloat2Float2: " + e.toString());
}
}
+ private void verifyResultsNativeTanpiFloat2Float2(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 2];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 2];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 2 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 2 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+ if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanpiFloat2Float2" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanpiFloat3Float3() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x137425299fec896l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
script.forEach_testNativeTanpiFloat3Float3(in, out);
+ verifyResultsNativeTanpiFloat3Float3(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloat3Float3: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanpiFloat3Float3(in, out);
+ verifyResultsNativeTanpiFloat3Float3(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloat3Float3: " + e.toString());
}
}
+ private void verifyResultsNativeTanpiFloat3Float3(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 3 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanpiFloat3Float3" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
private void checkNativeTanpiFloat4Float4() {
Allocation in = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1374cf3f9055e30l, false);
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
script.forEach_testNativeTanpiFloat4Float4(in, out);
+ verifyResultsNativeTanpiFloat4Float4(in, out, false);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloat4Float4: " + e.toString());
}
try {
Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
scriptRelaxed.forEach_testNativeTanpiFloat4Float4(in, out);
+ verifyResultsNativeTanpiFloat4Float4(in, out, true);
} catch (Exception e) {
throw new RSRuntimeException("RenderScript. Can't invoke forEach_testNativeTanpiFloat4Float4: " + e.toString());
}
}
+ private void verifyResultsNativeTanpiFloat4Float4(Allocation in, Allocation out, boolean relaxed) {
+ float[] arrayIn = new float[INPUTSIZE * 4];
+ in.copyTo(arrayIn);
+ float[] arrayOut = new float[INPUTSIZE * 4];
+ out.copyTo(arrayOut);
+ for (int i = 0; i < INPUTSIZE; i++) {
+ for (int j = 0; j < 4 ; j++) {
+ // Extract the inputs.
+ ArgumentsFloatFloat args = new ArgumentsFloatFloat();
+ args.in = arrayIn[i * 4 + j];
+ // Figure out what the outputs should have been.
+ Floaty.setRelaxed(relaxed);
+ CoreMathVerifier.computeNativeTanpi(args);
+ // Validate the outputs.
+ boolean valid = true;
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ valid = false;
+ }
+ if (!valid) {
+ StringBuilder message = new StringBuilder();
+ message.append("Input in: ");
+ message.append(String.format("%14.8g %8x %15a",
+ args.in, Float.floatToRawIntBits(args.in), args.in));
+ message.append("\n");
+ message.append("Expected output out: ");
+ message.append(args.out.toString());
+ message.append("\n");
+ message.append("Actual output out: ");
+ message.append(String.format("%14.8g %8x %15a",
+ arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+ if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+ message.append(" FAIL");
+ }
+ message.append("\n");
+ assertTrue("Incorrect output for checkNativeTanpiFloat4Float4" +
+ (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+ }
+ }
+ }
+ }
+
public void testNativeTanpi() {
checkNativeTanpiFloatFloat();
checkNativeTanpiFloat2Float2();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestNextafter.java b/tests/tests/renderscript/src/android/renderscript/cts/TestNextafter.java
index fb76646..00381cf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestNextafter.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestNextafter.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNextafter(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNextafter(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNextafter(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeNextafter(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestPow.java b/tests/tests/renderscript/src/android/renderscript/cts/TestPow.java
index 33cec67..46cb0ca 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestPow.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestPow.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePow(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePow(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePow(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePow(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestPown.java b/tests/tests/renderscript/src/android/renderscript/cts/TestPown.java
index 722dc00..bf74366 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestPown.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestPown.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePown(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -145,7 +145,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePown(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -213,7 +213,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePown(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -281,7 +281,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePown(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestPowr.java b/tests/tests/renderscript/src/android/renderscript/cts/TestPowr.java
index dac9b10..bdb375a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestPowr.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestPowr.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePowr(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePowr(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePowr(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computePowr(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestRadians.java b/tests/tests/renderscript/src/android/renderscript/cts/TestRadians.java
index c5820fc..8081ca1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestRadians.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestRadians.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRadians(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRadians(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRadians(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRadians(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestRemainder.java b/tests/tests/renderscript/src/android/renderscript/cts/TestRemainder.java
index 420fb0f..1e692b9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestRemainder.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestRemainder.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemainder(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemainder(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemainder(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemainder(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestRemquo.java b/tests/tests/renderscript/src/android/renderscript/cts/TestRemquo.java
index ff86966..e3f11ce 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestRemquo.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestRemquo.java
@@ -84,7 +84,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemquo(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outD != arrayOutD[i * 1 + j] && args.out.isNaN()) {
valid = false;
@@ -171,7 +171,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemquo(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outD != arrayOutD[i * 2 + j] && args.out.isNaN()) {
valid = false;
@@ -258,7 +258,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemquo(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outD != arrayOutD[i * 4 + j] && args.out.isNaN()) {
valid = false;
@@ -345,7 +345,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRemquo(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (args.outD != arrayOutD[i * 4 + j] && args.out.isNaN()) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestRint.java b/tests/tests/renderscript/src/android/renderscript/cts/TestRint.java
index b6b9ce5..bc21130 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestRint.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestRint.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRint(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRint(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRint(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRint(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestRound.java b/tests/tests/renderscript/src/android/renderscript/cts/TestRound.java
index 08207cc..63e4769 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestRound.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestRound.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRound(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRound(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRound(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRound(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestRsqrt.java
index bc904e1..f0a8c7a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestRsqrt.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeRsqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestSign.java b/tests/tests/renderscript/src/android/renderscript/cts/TestSign.java
index c62cb7a..d8c54a1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestSign.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestSign.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSign(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestSin.java b/tests/tests/renderscript/src/android/renderscript/cts/TestSin.java
index ca6cb72..131b5d9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestSin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestSin.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSin(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestSincos.java b/tests/tests/renderscript/src/android/renderscript/cts/TestSincos.java
index 3b0d09e..8f9b7d7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestSincos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestSincos.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSincos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outCosptr.couldBe(arrayOutCosptr[i * 1 + j])) {
valid = false;
@@ -155,7 +155,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSincos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outCosptr.couldBe(arrayOutCosptr[i * 2 + j])) {
valid = false;
@@ -233,7 +233,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSincos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outCosptr.couldBe(arrayOutCosptr[i * 4 + j])) {
valid = false;
@@ -311,7 +311,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSincos(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.outCosptr.couldBe(arrayOutCosptr[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestSinh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestSinh.java
index 54fa31e..39668be 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestSinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestSinh.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestSinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestSinpi.java
index dec28d9..24f21cf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestSinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestSinpi.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSinpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/TestSqrt.java
index f7029c0..ca9638f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestSqrt.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeSqrt(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestStep.java b/tests/tests/renderscript/src/android/renderscript/cts/TestStep.java
index f01170d..022208d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestStep.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestStep.java
@@ -77,7 +77,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -146,7 +146,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -215,7 +215,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -284,7 +284,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -353,7 +353,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -422,7 +422,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -491,7 +491,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -560,7 +560,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -629,7 +629,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -698,7 +698,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeStep(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestTan.java b/tests/tests/renderscript/src/android/renderscript/cts/TestTan.java
index 6a3ae69..b4a9096 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestTan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestTan.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTan(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestTanh.java b/tests/tests/renderscript/src/android/renderscript/cts/TestTanh.java
index 525b654..1c6893c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestTanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestTanh.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanh(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestTanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/TestTanpi.java
index b4d474d..f9e7ac2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestTanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestTanpi.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTanpi(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestTgamma.java b/tests/tests/renderscript/src/android/renderscript/cts/TestTgamma.java
index db3b5c6..04c4a7f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestTgamma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestTgamma.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTgamma(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestTrunc.java b/tests/tests/renderscript/src/android/renderscript/cts/TestTrunc.java
index 8ab10e6..8a0105f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestTrunc.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestTrunc.java
@@ -70,7 +70,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTrunc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 1 + j])) {
valid = false;
@@ -129,7 +129,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTrunc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 2 + j])) {
valid = false;
@@ -188,7 +188,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTrunc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
@@ -247,7 +247,7 @@
// Figure out what the outputs should have been.
Floaty.setRelaxed(relaxed);
CoreMathVerifier.computeTrunc(args);
- // Figure out what the outputs should have been.
+ // Validate the outputs.
boolean valid = true;
if (!args.out.couldBe(arrayOut[i * 4 + j])) {
valid = false;
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/SamplePointsComparer.java b/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/SamplePointsComparer.java
deleted file mode 100644
index aba1919..0000000
--- a/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/SamplePointsComparer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.uirendering.cts.bitmapcomparers;
-
-import android.graphics.Point;
-import android.util.Log;
-
-/**
- * This class will test specific points, and ensure that they match up perfectly with the input colors
- */
-public class SamplePointsComparer extends BitmapComparer {
- private static final String TAG = "SamplePoints";
- private Point[] mTestPoints;
- private int[] mExpectedColors;
-
- public SamplePointsComparer(Point[] testPoints, int[] expectedColors) {
- mTestPoints = testPoints;
- mExpectedColors = expectedColors;
- }
-
- @Override
- public boolean verifySame(int[] ideal, int[] given, int offset, int stride, int width,
- int height) {
- boolean pass = true;
- for (int i = 0 ; i < mTestPoints.length; i++) {
- int xPos = mTestPoints[i].x;
- int yPos = mTestPoints[i].y;
- int index = indexFromXAndY(xPos, yPos, stride, offset);
- if (ideal[index] != mExpectedColors[i] || given[index] != mExpectedColors[i]) {
- Log.d(TAG, "Position X = " + xPos + " Y = " + yPos);
- Log.d(TAG, "Expected color : " + mExpectedColors[i]);
- Log.d(TAG, "Hardware color : " + given[index]);
- Log.d(TAG, "Software color : " + ideal[index]);
- pass = false;
- }
- }
- return pass;
- }
-}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PaddedColorRectVerifier.java b/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/RectVerifier.java
similarity index 84%
rename from tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PaddedColorRectVerifier.java
rename to tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/RectVerifier.java
index a29a0ee..ee832f3 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PaddedColorRectVerifier.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/RectVerifier.java
@@ -19,15 +19,15 @@
import android.util.Log;
/**
- * This will test to see if the bitmap has a square with border around it of a certain color
+ * Tests to see if there is rectangle of a certain color, with a background given
*/
-public class PaddedColorRectVerifier extends BitmapVerifier {
- private static final String TAG = "PaddedColorRectVerifier";
+public class RectVerifier extends BitmapVerifier {
+ private static final String TAG = "RectVerifier";
private int mOuterColor;
private int mInnerColor;
private Rect mInnerRect;
- public PaddedColorRectVerifier(int outerColor, int innerColor, Rect innerRect) {
+ public RectVerifier(int outerColor, int innerColor, Rect innerRect) {
mOuterColor = outerColor;
mInnerColor = innerColor;
mInnerRect = innerRect;
@@ -43,6 +43,7 @@
Log.d(TAG, "Expected : " + Integer.toHexString(expectedColor) +
" Received : " + Integer.toHexString(bitmap[index]) +
" x : " + x + " y : " + y);
+ return false;
}
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/SamplePointVerifier.java b/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/SamplePointVerifier.java
new file mode 100644
index 0000000..59e809d
--- /dev/null
+++ b/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/SamplePointVerifier.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.uirendering.cts.bitmapverifiers;
+
+import android.graphics.Point;
+import android.util.Log;
+
+/**
+ * This class will test specific points, and ensure that they match up perfectly with the input colors
+ */
+public class SamplePointVerifier extends BitmapVerifier {
+ private static final String TAG = "SamplePoint";
+ private Point[] mTestPoints;
+ private int[] mExpectedColors;
+
+ public SamplePointVerifier(Point[] testPoints, int[] expectedColors) {
+ mTestPoints = testPoints;
+ mExpectedColors = expectedColors;
+ }
+
+ @Override
+ public boolean verify(int[] bitmap, int offset, int stride, int width, int height) {
+ for (int i = 0 ; i < mTestPoints.length ; i++) {
+ int x = mTestPoints[i].x;
+ int y = mTestPoints[i].y;
+ int index = indexFromXAndY(x, y, stride, offset);
+ if (mExpectedColors[i] != bitmap[index]) {
+ Log.d(TAG, "Expected : " + Integer.toHexString(mExpectedColors[i]) +
+ " at position x = " + x + " y = " + y + " , tested color : " +
+ Integer.toHexString(bitmap[index]));
+ return false;
+ }
+ }
+ return true;
+ }
+}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ExactCanvasTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ExactCanvasTests.java
index c8d7387..678ae81 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ExactCanvasTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ExactCanvasTests.java
@@ -26,160 +26,161 @@
import android.graphics.drawable.NinePatchDrawable;
import android.test.suitebuilder.annotation.SmallTest;
import android.uirendering.cts.bitmapcomparers.BitmapComparer;
-import android.uirendering.cts.bitmapcomparers.MSSIMComparer;
import android.uirendering.cts.bitmapverifiers.BitmapVerifier;
-import android.uirendering.cts.bitmapverifiers.PaddedColorRectVerifier;
+import android.uirendering.cts.bitmapverifiers.RectVerifier;
import android.uirendering.cts.bitmapcomparers.ExactComparer;
import android.uirendering.cts.testinfrastructure.ActivityTestBase;
import android.uirendering.cts.testinfrastructure.CanvasClient;
+import android.uirendering.cts.testinfrastructure.ViewInitializer;
+import android.view.View;
public class ExactCanvasTests extends ActivityTestBase {
private final BitmapComparer mExactComparer = new ExactComparer();
@SmallTest
public void testBlueRect() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- Paint p = new Paint();
- p.setAntiAlias(false);
- p.setColor(Color.BLUE);
- canvas.drawRect(0, 0, 100, 100, p);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ Paint p = new Paint();
+ p.setAntiAlias(false);
+ p.setColor(Color.BLUE);
+ canvas.drawRect(0, 0, 100, 100, p);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testPoints() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- Paint p = new Paint();
- p.setAntiAlias(false);
- p.setColor(Color.WHITE);
- canvas.drawRect(0, 0, 100, 100, p);
- p.setStrokeWidth(1f);
- p.setColor(Color.BLACK);
- for (int i = 0; i < 10; i++) {
- canvas.drawPoint(i * 10, i * 10, p);
- }
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ Paint p = new Paint();
+ p.setAntiAlias(false);
+ p.setColor(Color.WHITE);
+ canvas.drawRect(0, 0, 100, 100, p);
+ p.setStrokeWidth(1f);
+ p.setColor(Color.BLACK);
+ for (int i = 0; i < 10; i++) {
+ canvas.drawPoint(i * 10, i * 10, p);
+ }
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testBlackRectWithStroke() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- Paint p = new Paint();
- p.setColor(Color.RED);
- canvas.drawRect(0, 0, ActivityTestBase.TEST_WIDTH,
- ActivityTestBase.TEST_HEIGHT, p);
- p.setColor(Color.BLACK);
- p.setStrokeWidth(10);
- canvas.drawRect(10, 10, 20, 20, p);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ Paint p = new Paint();
+ p.setColor(Color.RED);
+ canvas.drawRect(0, 0, ActivityTestBase.TEST_WIDTH,
+ ActivityTestBase.TEST_HEIGHT, p);
+ p.setColor(Color.BLACK);
+ p.setStrokeWidth(10);
+ canvas.drawRect(10, 10, 20, 20, p);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testBlackLineOnGreenBack() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- Paint p = new Paint();
- p.setColor(Color.GREEN);
- canvas.drawRect(0, 0, ActivityTestBase.TEST_WIDTH,
- ActivityTestBase.TEST_HEIGHT, p);
- p.setColor(Color.BLACK);
- p.setStrokeWidth(10);
- canvas.drawLine(0, 0, 50, 0, p);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ Paint p = new Paint();
+ p.setColor(Color.GREEN);
+ canvas.drawRect(0, 0, ActivityTestBase.TEST_WIDTH,
+ ActivityTestBase.TEST_HEIGHT, p);
+ p.setColor(Color.BLACK);
+ p.setStrokeWidth(10);
+ canvas.drawLine(0, 0, 50, 0, p);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testDrawRedRectOnBlueBack() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- canvas.drawColor(Color.BLUE);
- Paint p = new Paint();
- p.setColor(Color.RED);
- canvas.drawRect(10, 10, 40, 40, p);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ canvas.drawColor(Color.BLUE);
+ Paint p = new Paint();
+ p.setColor(Color.RED);
+ canvas.drawRect(10, 10, 40, 40, p);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testDrawLine() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- Paint p = new Paint();
- canvas.drawColor(Color.WHITE);
- p.setColor(Color.BLACK);
- float[] pts = {
- 0, 0, 100, 100, 100, 0, 0, 100, 50, 50, 75, 75
- };
- canvas.drawLines(pts, p);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ Paint p = new Paint();
+ canvas.drawColor(Color.WHITE);
+ p.setColor(Color.BLACK);
+ float[] pts = {
+ 0, 0, 100, 100, 100, 0, 0, 100, 50, 50, 75, 75
+ };
+ canvas.drawLines(pts, p);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testDrawWhiteScreen() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- canvas.drawColor(Color.WHITE);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ canvas.drawColor(Color.WHITE);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testBasicText() {
final String testString = "THIS IS A TEST";
-
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- Paint p = new Paint();
- canvas.drawColor(Color.BLACK);
- p.setColor(Color.WHITE);
- p.setStrokeWidth(5);
- canvas.drawText(testString, 30, 50, p);
- }
- };
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ Paint p = new Paint();
+ canvas.drawColor(Color.BLACK);
+ p.setColor(Color.WHITE);
+ p.setStrokeWidth(5);
+ canvas.drawText(testString, 30, 50, p);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
public void testBasicColorXfermode() {
- CanvasClient canvasClient = new CanvasClient() {
- @Override
- public void draw(Canvas canvas, int width, int height) {
- canvas.drawColor(Color.GRAY);
- canvas.drawColor(Color.BLUE, PorterDuff.Mode.MULTIPLY);
- }
- };
-
- executeCanvasTest(canvasClient, mExactComparer);
+ createTest()
+ .addCanvasClient(new CanvasClient() {
+ @Override
+ public void draw(Canvas canvas, int width, int height) {
+ canvas.drawColor(Color.GRAY);
+ canvas.drawColor(Color.BLUE, PorterDuff.Mode.MULTIPLY);
+ }
+ })
+ .runWithComparer(mExactComparer);
}
@SmallTest
@@ -188,8 +189,11 @@
getActivity().getResources().getDrawable(R.drawable.blue_padded_square);
ninePatchDrawable.setBounds(0, 0, 100, 100);
- TestCaseBuilder testCaseBuilder = new TestCaseBuilder()
- .addTestCase(new CanvasClient() {
+ BitmapVerifier verifier = new RectVerifier(Color.WHITE, Color.BLUE,
+ new Rect(10, 10, 90, 90));
+
+ createTest()
+ .addCanvasClient(new CanvasClient() {
@Override
public void draw(Canvas canvas, int width, int height) {
canvas.drawColor(Color.WHITE);
@@ -198,18 +202,24 @@
canvas.drawRect(10, 10, 90, 90, p);
}
})
- .addTestCase(new CanvasClient() {
+ .addCanvasClient(new CanvasClient() {
@Override
public void draw(Canvas canvas, int width, int height) {
ninePatchDrawable.draw(canvas);
}
})
- .addTestCase(R.layout.blue_padded_square)
- .addTestCase("file:///android_asset/blue_padded_square.html");
+ .addLayout(R.layout.blue_padded_square, null)
+ .addWebView("file:///android_asset/blue_padded_square.html", null)
+ .runWithVerifier(verifier);
+ }
- BitmapVerifier verifier = new PaddedColorRectVerifier(Color.WHITE, Color.BLUE,
- new Rect(10, 10, 90, 90));
-
- executeTestBuilderTest(testCaseBuilder, verifier);
+ @SmallTest
+ public void testClipping() {
+ createTest().addLayout(R.layout.simple_red_layout, new ViewInitializer() {
+ @Override
+ public void intializeView(View view) {
+ view.setClipBounds(new Rect(0, 0, 50, 50));
+ }
+ }).runWithComparer(mExactComparer);
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/InfrastructureTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/InfrastructureTests.java
index fa4d7ae..a77fa5f 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/InfrastructureTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/InfrastructureTests.java
@@ -15,13 +15,22 @@
*/
package android.uirendering.cts.testclasses;
+import com.android.cts.uirendering.R;
+
+import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
+import android.graphics.Rect;
import android.test.suitebuilder.annotation.SmallTest;
import android.uirendering.cts.bitmapcomparers.BitmapComparer;
+import android.uirendering.cts.bitmapcomparers.ExactComparer;
import android.uirendering.cts.bitmapcomparers.MSSIMComparer;
+import android.uirendering.cts.bitmapverifiers.RectVerifier;
import android.uirendering.cts.testinfrastructure.ActivityTestBase;
import android.uirendering.cts.testinfrastructure.CanvasClient;
+import android.uirendering.cts.testinfrastructure.ViewInitializer;
+import android.util.Log;
+import android.view.View;
public class InfrastructureTests extends ActivityTestBase {
@@ -49,13 +58,30 @@
// This is considered a very high threshold and as such, the test should still fail because
// they are completely different images.
final float threshold = 0.1f;
- final MSSIMComparer mssimComparer = new MSSIMComparer(threshold);
- executeCanvasTest(canvasClient, new BitmapComparer() {
+ BitmapComparer inverseComparer = new BitmapComparer() {
@Override
public boolean verifySame(int[] ideal, int[] given, int offset, int stride, int width,
int height) {
- return !mssimComparer.verifySame(ideal, given, offset, stride, width, height);
+ return !(new MSSIMComparer(threshold)).verifySame(ideal, given, offset, stride,
+ width, height);
}
- });
+ };
+ createTest()
+ .addCanvasClient(canvasClient)
+ .runWithComparer(inverseComparer);
+ }
+
+ @SmallTest
+ public void testViewInitializer() {
+ final Rect clipRect = new Rect(0, 0, 50, 50);
+ ViewInitializer viewInitializer = new ViewInitializer() {
+ @Override
+ public void intializeView(View view) {
+ view.setClipBounds(clipRect);
+ }
+ };
+ createTest()
+ .addLayout(R.layout.simple_red_layout, viewInitializer)
+ .runWithVerifier(new RectVerifier(Color.WHITE, Color.RED, clipRect));
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java
index 407dfd4..0ba0f69 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java
@@ -17,9 +17,9 @@
import com.android.cts.uirendering.R;
+import android.test.suitebuilder.annotation.SmallTest;
import android.uirendering.cts.bitmapcomparers.BitmapComparer;
import android.uirendering.cts.bitmapcomparers.ExactComparer;
-import android.test.suitebuilder.annotation.SmallTest;
import android.uirendering.cts.testinfrastructure.ActivityTestBase;
@@ -35,12 +35,12 @@
@SmallTest
public void testSimpleRedLayout() {
- executeLayoutTest(R.layout.simple_red_layout, mBitmapComparer);
+ createTest().addLayout(R.layout.simple_red_layout, null).runWithComparer(mBitmapComparer);
}
@SmallTest
public void testSimpleRectLayout() {
- executeLayoutTest(R.layout.simple_rect_layout, mBitmapComparer);
+ createTest().addLayout(R.layout.simple_rect_layout, null).runWithComparer(mBitmapComparer);
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/SweepTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/SweepTests.java
index 7ce6b88..0ac0bc4 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/SweepTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/SweepTests.java
@@ -28,12 +28,12 @@
import android.test.suitebuilder.annotation.SmallTest;
import android.uirendering.cts.bitmapcomparers.BitmapComparer;
import android.uirendering.cts.bitmapcomparers.MSSIMComparer;
-import android.uirendering.cts.bitmapcomparers.SamplePointsComparer;
+import android.uirendering.cts.bitmapverifiers.BitmapVerifier;
+import android.uirendering.cts.bitmapverifiers.SamplePointVerifier;
import android.uirendering.cts.testinfrastructure.ActivityTestBase;
import android.uirendering.cts.testinfrastructure.CanvasClient;
import android.uirendering.cts.testinfrastructure.DisplayModifier;
import android.uirendering.cts.testinfrastructure.ResourceModifier;
-import android.util.Log;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -135,11 +135,12 @@
@Override
public void modifyDrawing(Paint paint, Canvas canvas) {
- // Draw the background
- canvas.drawColor(Color.WHITE);
+ int sc = canvas.saveLayer(0, 0, TEST_WIDTH, TEST_HEIGHT, null);
canvas.drawBitmap(mDstBitmap, 0, 0, null);
canvas.drawBitmap(mSrcBitmap, 0, 0, paint);
+
+ canvas.restoreToCount(sc);
}
private Bitmap createSrc() {
@@ -277,12 +278,6 @@
}
};
- /**
- * In this case, a lower number would mean it is easier to pass the test. In terms of MSSIM,
- * a 1 would indicate that the images are exactly the same, where as 0.1 is vastly different.
- */
- private final float HIGH_THRESHOLD = 0.1f;
-
public static final DisplayModifier mCircleDrawModifier = new DisplayModifier() {
@Override
public void modifyDrawing(Paint paint, Canvas canvas) {
@@ -292,70 +287,72 @@
}
};
+ /**
+ * 0.5 defines minimum similarity as 50%
+ */
+ private static final float HIGH_THRESHOLD = 0.5f;
+
+ private static final BitmapComparer[] DEFAULT_MSSIM_COMPARER = new BitmapComparer[] {
+ new MSSIMComparer(HIGH_THRESHOLD)
+ };
+
@SmallTest
public void testBasicDraws() {
- BitmapComparer[] calculators = new BitmapComparer[1];
- calculators[0] = new MSSIMComparer(HIGH_THRESHOLD);
- sweepModifiersForMask(DisplayModifier.Accessor.SHAPES_MASK, null, calculators);
+ sweepModifiersForMask(DisplayModifier.Accessor.SHAPES_MASK, null, DEFAULT_MSSIM_COMPARER,
+ null);
}
@SmallTest
public void testBasicShaders() {
- BitmapComparer[] calculators = new BitmapComparer[1];
- calculators[0] = new MSSIMComparer(HIGH_THRESHOLD);
sweepModifiersForMask(DisplayModifier.Accessor.SHADER_MASK, mCircleDrawModifier,
- calculators);
+ DEFAULT_MSSIM_COMPARER, null);
}
@SmallTest
public void testColorFilterUsingGradient() {
- BitmapComparer[] calculators = new BitmapComparer[1];
- calculators[0] = new MSSIMComparer(HIGH_THRESHOLD);
sweepModifiersForMask(DisplayModifier.Accessor.COLOR_FILTER_MASK,
- COLOR_FILTER_GRADIENT_MODIFIER, calculators);
+ COLOR_FILTER_GRADIENT_MODIFIER, DEFAULT_MSSIM_COMPARER, null);
}
@SmallTest
public void testColorFiltersAlphas() {
- BitmapComparer[] calculators =
- new BitmapComparer[DisplayModifier.PORTERDUFF_MODES.length];
+ BitmapVerifier[] bitmapVerifiers =
+ new BitmapVerifier[DisplayModifier.PORTERDUFF_MODES.length];
int index = 0;
for (PorterDuff.Mode mode : DisplayModifier.PORTERDUFF_MODES) {
- calculators[index] = new SamplePointsComparer(COLOR_FILTER_ALPHA_POINTS,
+ bitmapVerifiers[index] = new SamplePointVerifier(COLOR_FILTER_ALPHA_POINTS,
COLOR_FILTER_ALPHA_MAP.get(mode));
index++;
}
sweepModifiersForMask(DisplayModifier.Accessor.COLOR_FILTER_MASK,
- COLOR_FILTER_ALPHA_MODIFIER, calculators);
+ COLOR_FILTER_ALPHA_MODIFIER, null, bitmapVerifiers);
}
@SmallTest
public void testXfermodes() {
- BitmapComparer[] calculators =
- new BitmapComparer[DisplayModifier.PORTERDUFF_MODES.length];
+ BitmapVerifier[] bitmapVerifiers =
+ new BitmapVerifier[DisplayModifier.PORTERDUFF_MODES.length];
int index = 0;
for (PorterDuff.Mode mode : DisplayModifier.PORTERDUFF_MODES) {
- calculators[index] = new SamplePointsComparer(XFERMODE_TEST_POINTS,
+ bitmapVerifiers[index] = new SamplePointVerifier(XFERMODE_TEST_POINTS,
XFERMODE_COLOR_MAP.get(mode));
index++;
}
sweepModifiersForMask(DisplayModifier.Accessor.XFERMODE_MASK, XFERMODE_MODIFIER,
- calculators);
+ null, bitmapVerifiers);
}
@SmallTest
public void testShaderSweeps() {
- BitmapComparer[] calculators = new BitmapComparer[1];
- calculators[0] = new MSSIMComparer(HIGH_THRESHOLD);
int mask = DisplayModifier.Accessor.AA_MASK |
DisplayModifier.Accessor.SHADER_MASK |
DisplayModifier.Accessor.XFERMODE_MASK |
DisplayModifier.Accessor.SHAPES_MASK;
- sweepModifiersForMask(mask, null, calculators);
+ sweepModifiersForMask(mask, null, DEFAULT_MSSIM_COMPARER, null);
}
protected void sweepModifiersForMask(int mask, final DisplayModifier drawOp,
- BitmapComparer[] calculators) {
+ BitmapComparer[] bitmapComparers, BitmapVerifier[] bitmapVerifiers) {
if ((mask & DisplayModifier.Accessor.ALL_OPTIONS_MASK) == 0) {
throw new IllegalArgumentException("Attempt to test with a mask that is invalid");
}
@@ -375,12 +372,17 @@
}
}
};
- Log.d(TAG, "Starting test : " + getName());
+
int index = 0;
+ // Create the test cases with each combination
do {
- Log.d(TAG, "Option at index : " + index);
- int calcIndex = Math.min(index, calculators.length - 1);
- executeCanvasTest(canvasClient, calculators[calcIndex]);
+ if (bitmapComparers != null) {
+ int arrIndex = Math.min(index, bitmapComparers.length - 1);
+ createTest().addCanvasClient(canvasClient).runWithComparer(bitmapComparers[arrIndex]);
+ } else {
+ int arrIndex = Math.min(index, bitmapVerifiers.length - 1);
+ createTest().addCanvasClient(canvasClient).runWithVerifier(bitmapVerifiers[arrIndex]);
+ }
index++;
} while (modifierAccessor.step());
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ActivityTestBase.java b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ActivityTestBase.java
index bc6de61..519c012 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ActivityTestBase.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ActivityTestBase.java
@@ -15,6 +15,7 @@
*/
package android.uirendering.cts.testinfrastructure;
+import android.annotation.Nullable;
import android.graphics.Bitmap;
import android.renderscript.Allocation;
import android.renderscript.RenderScript;
@@ -36,7 +37,7 @@
*/
public abstract class ActivityTestBase extends
ActivityInstrumentationTestCase2<DrawActivity> {
- public static final String TAG_NAME = "CtsUirendering";
+ public static final String TAG_NAME = "ActivityTestBase";
public static final boolean DEBUG = false;
public static final boolean USE_RS = false;
public static final int TEST_WIDTH = 180;
@@ -48,6 +49,7 @@
private Allocation mIdealAllocation;
private Allocation mGivenAllocation;
private RenderScript mRenderScript;
+ private TestCaseBuilder mTestCaseBuilder;
/**
* The default constructor creates the package name and sets the DrawActivity as the class that
@@ -75,6 +77,21 @@
*/
@Override
public void tearDown() {
+ List<TestCase> testCases = mTestCaseBuilder.getTestCases();
+
+ if (testCases.size() == 0) {
+ throw new IllegalStateException("Must have at least one test case");
+ }
+
+ for (TestCase testCase : testCases) {
+ if (!testCase.wasTestRan) {
+ Log.w(TAG_NAME, "Not all of the tests were ran");
+ break;
+ }
+ }
+
+ mTestCaseBuilder = null;
+
Runnable finishRunnable = new Runnable() {
@Override
@@ -82,7 +99,8 @@
getActivity().finish();
}
};
- getInstrumentation().runOnMainSync(finishRunnable);
+
+ getActivity().runOnUiThread(finishRunnable);
}
public Bitmap takeScreenshot() {
@@ -97,66 +115,12 @@
}
/**
- * Sets up for a test using a view specified by an xml file. It will create the view
- * in the activity using software, take a screenshot, and then create it with hardware, taking
- * another screenshot. From there it will compare the files and return the result given the
- * test.
- */
- protected void executeLayoutTest(int layoutResID, BitmapComparer comparer) {
- Bitmap softwareCapture = captureRenderSpec(layoutResID, null, null, false);
- Bitmap hardwareCapture = captureRenderSpec(layoutResID, null, null, true);
- assertBitmapsAreSimilar(softwareCapture, hardwareCapture, comparer);
- }
-
- /**
- * Executes a canvas test for the user using a CanvasClient. It creates the runnable, and passes
- * it to the execute method. If a failure occurs, png files will be saved with the software
- * screen cap, hardware screen cap, and difference map using the test name
- */
- protected void executeCanvasTest(CanvasClient canvasClient, BitmapComparer comparer) {
- Bitmap softwareCapture = captureRenderSpec(0, canvasClient, null, false);
- Bitmap hardwareCapture = captureRenderSpec(0, canvasClient, null, true);
- assertBitmapsAreSimilar(softwareCapture, hardwareCapture, comparer);
- }
-
- /**
- * Executes a test that uses a URL to an HTML file and generates a WebView from it.
- */
- protected void executeWebViewTest(String webViewUrl, BitmapComparer calculator) {
- Bitmap softwareCapture = captureRenderSpec(0, null, webViewUrl, false);
- Bitmap hardwareCapture = captureRenderSpec(0, null, webViewUrl, true);
- assertBitmapsAreSimilar(softwareCapture, hardwareCapture, calculator);
- }
-
- /**
- * Executes a series of Canvas commands, XML layouts, and WebView draws and tests them using the
- * verifier passed in.
- */
- protected void executeTestBuilderTest(TestCaseBuilder testCaseBuilder,
- BitmapVerifier verifier) {
- int[] testArray = new int[TEST_HEIGHT * TEST_WIDTH];
- int testNumber = 0;
- while (testCaseBuilder.hasNext()) {
- TestCase testCase = testCaseBuilder.next();
- Bitmap currentBitmap = captureRenderSpec(testCase.layoutID, testCase.canvasClient,
- testCase.webViewUrl, testCase.useHardware);
- currentBitmap.getPixels(testArray, 0, TEST_WIDTH, 0, 0, TEST_WIDTH, TEST_HEIGHT);
- boolean res = verifier.verify(testArray, 0, TEST_WIDTH, TEST_WIDTH, TEST_HEIGHT);
- if (!res) {
- BitmapDumper.dumpBitmap(currentBitmap, getName());
- Log.d(TAG_NAME, "TestBuilder failed on test number : " + testNumber);
- }
- assertTrue(res);
- testNumber++;
- }
- }
-
- /**
* Used to execute a specific part of a test and get the resultant bitmap
*/
- protected Bitmap captureRenderSpec(int layoutId, CanvasClient canvasClient, String webViewUrl,
- boolean useHardware) {
- getActivity().enqueueRenderSpecAndWait(layoutId, canvasClient, webViewUrl, useHardware);
+ protected Bitmap captureRenderSpec(TestCase testCase) {
+ getActivity().enqueueRenderSpecAndWait(testCase.layoutID, testCase.canvasClient,
+ testCase.webViewUrl, testCase.viewInitializer, testCase.useHardware);
+ testCase.wasTestRan = true;
return takeScreenshot();
}
@@ -190,69 +154,126 @@
}
/**
+ * Tests to see if a bitmap passes a verifier's test. If it doesn't the bitmap is saved to the
+ * sdcard.
+ */
+ protected void assertBitmapIsVerified(Bitmap bitmap, BitmapVerifier bitmapVerifier) {
+ bitmap.getPixels(mSoftwareArray, 0, TEST_WIDTH, 0, 0,
+ TEST_WIDTH, TEST_HEIGHT);
+ boolean res = bitmapVerifier.verify(mSoftwareArray, 0, TEST_WIDTH, TEST_WIDTH, TEST_HEIGHT);
+ if (!res) {
+ BitmapDumper.dumpBitmap(bitmap, getName());
+ }
+ assertTrue(res);
+ }
+
+ protected TestCaseBuilder createTest() {
+ mTestCaseBuilder = new TestCaseBuilder();
+ return mTestCaseBuilder;
+ }
+
+ /**
* Defines a group of CanvasClients, XML layouts, and WebView html files for testing.
*/
protected class TestCaseBuilder {
private List<TestCase> mTestCases;
- private int mCurrentTestCase;
- public TestCaseBuilder() {
+ private TestCaseBuilder() {
mTestCases = new ArrayList<TestCase>();
- mCurrentTestCase = 0;
}
- public TestCaseBuilder addTestCase(String webViewUrl) {
- return addTestCase(webViewUrl, false).addTestCase(webViewUrl, true);
- }
-
- public TestCaseBuilder addTestCase(int layoutId) {
- return addTestCase(layoutId, false).addTestCase(layoutId, true);
- }
-
- public TestCaseBuilder addTestCase(CanvasClient canvasClient) {
- return addTestCase(canvasClient, false).addTestCase(canvasClient, true);
- }
-
- public TestCaseBuilder addTestCase(String webViewUrl, boolean useHardware) {
- mTestCases.add(new TestCase(null, 0, webViewUrl, useHardware));
- return this;
- }
-
- public TestCaseBuilder addTestCase(int layoutId, boolean useHardware) {
- mTestCases.add(new TestCase(null, layoutId, null, useHardware));
- return this;
- }
-
- public TestCaseBuilder addTestCase(CanvasClient canvasClient, boolean useHardware) {
- mTestCases.add(new TestCase(canvasClient, 0, null, useHardware));
- return this;
- }
-
- protected boolean hasNext() {
- return (mCurrentTestCase != mTestCases.size());
- }
-
- protected TestCase next() {
- if (mCurrentTestCase == mTestCases.size()) {
- return null;
+ /**
+ * Runs a test where the first test case is considered the "ideal" image and from there,
+ * every test case is tested against it.
+ */
+ public void runWithComparer(BitmapComparer bitmapComparer) {
+ if (mTestCases.size() == 0) {
+ throw new IllegalStateException("Need at least one test to run");
}
- TestCase testCase = mTestCases.get(mCurrentTestCase);
- mCurrentTestCase++;
- return testCase;
+
+ Bitmap idealBitmap = captureRenderSpec(mTestCases.remove(0));
+
+ for (TestCase testCase : mTestCases) {
+ Bitmap testCaseBitmap = captureRenderSpec(testCase);
+ assertBitmapsAreSimilar(idealBitmap, testCaseBitmap, bitmapComparer);
+ }
+ }
+
+ /**
+ * Runs a test where each testcase is independent of the others and each is checked against
+ * the verifier given.
+ */
+ public void runWithVerifier(BitmapVerifier bitmapVerifier) {
+ if (mTestCases.size() == 0) {
+ throw new IllegalStateException("Need at least one test to run");
+ }
+
+ for (TestCase testCase : mTestCases) {
+ Bitmap testCaseBitmap = captureRenderSpec(testCase);
+ assertBitmapIsVerified(testCaseBitmap, bitmapVerifier);
+ }
+ }
+
+ public TestCaseBuilder addWebView(String webViewUrl,
+ @Nullable ViewInitializer viewInitializer) {
+ return addWebView(webViewUrl, viewInitializer, false)
+ .addWebView(webViewUrl, viewInitializer, true);
+ }
+
+ public TestCaseBuilder addLayout(int layoutId, @Nullable ViewInitializer viewInitializer) {
+ return addLayout(layoutId, viewInitializer, false)
+ .addLayout(layoutId, viewInitializer, true);
+ }
+
+ public TestCaseBuilder addCanvasClient(CanvasClient canvasClient) {
+ return addCanvasClient(canvasClient, false)
+ .addCanvasClient(canvasClient, true);
+ }
+
+ public TestCaseBuilder addWebView(String webViewUrl,
+ @Nullable ViewInitializer viewInitializer, boolean useHardware) {
+ mTestCases.add(new TestCase(null, 0, webViewUrl, viewInitializer, useHardware));
+ return this;
+ }
+
+ public TestCaseBuilder addLayout(int layoutId, @Nullable ViewInitializer viewInitializer,
+ boolean useHardware) {
+ mTestCases.add(new TestCase(null, layoutId, null, viewInitializer, useHardware));
+ return this;
+ }
+
+ public TestCaseBuilder addCanvasClient(CanvasClient canvasClient, boolean useHardware) {
+ mTestCases.add(new TestCase(canvasClient, 0, null, null, useHardware));
+ return this;
+ }
+
+ private List<TestCase> getTestCases() {
+ return mTestCases;
}
}
- protected class TestCase {
+ private class TestCase {
public int layoutID;
public CanvasClient canvasClient;
public String webViewUrl;
+ public ViewInitializer viewInitializer;
public boolean useHardware;
+ public boolean wasTestRan;
- public TestCase(CanvasClient client, int id, String viewUrl, boolean useHardware) {
+ public TestCase(CanvasClient client, int id, String viewUrl,
+ ViewInitializer viewInitializer, boolean useHardware) {
+ int count = 0;
+ count += (client == null ? 0 : 1);
+ count += (viewUrl == null ? 0 : 1);
+ count += (id == 0 ? 0 : 1);
+ assert(count == 1);
+ assert(client == null || viewInitializer == null);
this.layoutID = id;
this.canvasClient = client;
this.webViewUrl = viewUrl;
+ this.viewInitializer = viewInitializer;
this.useHardware = useHardware;
+ this.wasTestRan = false;
}
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
index b86e5cc..1f12dcb 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
@@ -15,6 +15,7 @@
*/
package android.uirendering.cts.testinfrastructure;
+import android.annotation.Nullable;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
@@ -48,7 +49,8 @@
}
public void enqueueRenderSpecAndWait(int layoutId, CanvasClient canvasClient, String webViewUrl,
- boolean useHardware) {
+ @Nullable ViewInitializer viewInitializer, boolean useHardware) {
+ ((RenderSpecHandler) mHandler).setViewInitializer(viewInitializer);
int arg2 = (useHardware ? View.LAYER_TYPE_NONE : View.LAYER_TYPE_SOFTWARE);
if (canvasClient != null) {
mHandler.obtainMessage(RenderSpecHandler.CANVAS_MSG, 0, arg2, canvasClient).sendToTarget();
@@ -72,6 +74,12 @@
public static final int CANVAS_MSG = 2;
public static final int WEB_VIEW_MSG = 3;
+ private ViewInitializer mViewInitializer;
+
+ public void setViewInitializer(ViewInitializer viewInitializer) {
+ mViewInitializer = viewInitializer;
+ }
+
public void handleMessage(Message message) {
int webViewBuffer = 0;
switch (message.what) {
@@ -94,6 +102,11 @@
webViewBuffer = 10;
} break;
}
+
+ if (mViewInitializer != null) {
+ mViewInitializer.intializeView(mView);
+ }
+
mView.setLayerType(message.arg2, null);
DrawCounterListener onDrawListener = new DrawCounterListener(webViewBuffer);
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ViewInitializer.java b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ViewInitializer.java
new file mode 100644
index 0000000..8980df3
--- /dev/null
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/ViewInitializer.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.uirendering.cts.testinfrastructure;
+
+import android.view.View;
+
+/**
+ * Called after a view is created to set various properties on the view
+ */
+public abstract class ViewInitializer {
+ public abstract void intializeView(View view);
+}