static int min(int a, int b) { ret Math.min(a, b); } static long min(long a, long b) { ret Math.min(a, b); } static float min(float a, float b) { ret Math.min(a, b); } static float min(float a, float b, float c) { ret min(min(a, b), c); } static double min(double a, double b) { ret Math.min(a, b); } static double min(double[] c) { double x = Double.MAX_VALUE; for (double d : c) x = Math.min(x, d); ret x; } static float min(float[] c) { float x = Float.MAX_VALUE; for (float d : c) x = Math.min(x, d); ret x; } static byte min(byte[] c) { byte x = 127; for (byte d : c) if (d < x) x = d; ret x; } static short min(short[] c) { short x = 0x7FFF; for (short d : c) if (d < x) x = d; ret x; } static int min(int[] c) { int x = Int.MAX_VALUE; for (int d : c) if (d < x) x = d; ret x; } static > A min(A a, A b) { ret cmp(a, b) <= 0 ? a : b; }