Files
coco 4af4d1c457 a
2026-07-03 15:59:36 +08:00

255 lines
6.7 KiB
Java

/*
This file tests all the ways of using jvector and jvector_crit.
*/
import net.dlib.*;
public class swig_test
{
public static int sum(long[] arr)
{
int s = 0;
for (int i = 0; i < arr.length; ++i)
s += arr[i];
return s;
}
public static void zero(long[] arr)
{
for (int i = 0; i < arr.length; ++i)
arr[i] = 0;
}
public static int sum(byte[] arr)
{
int s = 0;
for (int i = 0; i < arr.length; ++i)
s += arr[i];
return s;
}
public static void zero(byte[] arr)
{
for (int i = 0; i < arr.length; ++i)
arr[i] = 0;
}
public static int sum(short[] arr)
{
int s = 0;
for (int i = 0; i < arr.length; ++i)
s += arr[i];
return s;
}
public static void zero(short[] arr)
{
for (int i = 0; i < arr.length; ++i)
arr[i] = 0;
}
public static int sum(int[] arr)
{
int s = 0;
for (int i = 0; i < arr.length; ++i)
s += arr[i];
return s;
}
public static void zero(int[] arr)
{
for (int i = 0; i < arr.length; ++i)
arr[i] = 0;
}
public static void assertIs28(int val)
{
if (val != 28)
{
throw new RuntimeException("Test failed " + val);
}
}
public static void assertIsEqual(int val1, int val2)
{
if (val1 != val2)
{
throw new RuntimeException("Test failed " + val1 + " should be equal to " + val2);
}
}
public static double sum(double[] arr)
{
double s = 0;
for (int i = 0; i < arr.length; ++i)
s += arr[i];
return s;
}
public static void zero(double[] arr)
{
for (int i = 0; i < arr.length; ++i)
arr[i] = 0;
}
public static void assertIs28(double val)
{
if (val != 28)
{
throw new RuntimeException("Test failed " + val);
}
}
public static float sum(float[] arr)
{
float s = 0;
for (int i = 0; i < arr.length; ++i)
s += arr[i];
return s;
}
public static void zero(float[] arr)
{
for (int i = 0; i < arr.length; ++i)
arr[i] = 0;
}
public static void assertIs28(float val)
{
if (val != 28)
{
throw new RuntimeException("Test failed " + val);
}
}
public static void main(String[] args)
{
{
float[] arr = new float[8];
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
}
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
assertIs28(global.sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
assertIs28(global.sum_crit(arr));
}
}
{
double[] arr = new double[8];
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
}
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
assertIs28(global.sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
assertIs28(global.sum_crit(arr));
}
}
{
byte[] arr = new byte[8];
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
}
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
assertIs28(global.sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
assertIs28(global.sum_crit(arr));
}
}
{
long[] arr = new long[8];
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
}
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
assertIs28(global.sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
assertIs28(global.sum_crit(arr));
}
}
{
short[] arr = new short[8];
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
}
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
assertIs28(global.sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
assertIs28(global.sum_crit(arr));
}
}
{
int[] arr = new int[8];
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
}
for (int round = 0; round < 100; ++round)
{
zero(arr); global.assign(arr);
assertIs28(sum(arr));
assertIs28(global.sum(arr));
zero(arr); global.assign_crit(arr);
assertIs28(sum(arr));
assertIs28(global.sum_crit(arr));
}
}
{
int[] a = global.make_an_array(4);
for (int i = 0; i < a.length; ++i)
{
assertIsEqual(a[i], i);
}
}
System.out.println("\n\n ALL TESTS COMPLETED SUCCESSFULLY\n");
}
}