List of usage examples for java.lang Float NEGATIVE_INFINITY
float NEGATIVE_INFINITY
To view the source code for java.lang Float NEGATIVE_INFINITY.
Click Source Link
From source file:jp.furplag.util.commons.NumberUtilsTest.java
/** * {@link jp.furplag.util.commons.NumberUtils#compareTo(java.lang.Number, java.lang.Number)}. *//*from w w w . ja va 2 s . c om*/ @SuppressWarnings("unchecked") @Test public void testCompareToNumberNumber() { assertEquals("null", (Object) 0, compareTo(null, null)); assertEquals("null", (Object) 1, compareTo(1, null)); assertEquals("null", (Object) 1, compareTo(-1, null)); assertEquals("null", (Object) 1, compareTo(Float.NEGATIVE_INFINITY, null)); assertEquals("null", (Object) (-1), compareTo(null, 1)); assertEquals("null", (Object) (-1), compareTo(null, -1)); assertEquals("null", (Object) (-1), compareTo(null, Double.NEGATIVE_INFINITY)); assertEquals("Infinity", (Object) 0, compareTo(Float.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY)); assertEquals("Infinity", (Object) 0, compareTo(Double.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)); assertEquals("NaN", (Object) 1, compareTo(Float.NaN, null)); assertEquals("NaN", (Object) 1, compareTo(Float.NaN, 1)); assertEquals("NaN", (Object) 1, compareTo(Float.NaN, -1)); assertEquals("NaN", (Object) 1, compareTo(Float.NaN, Double.POSITIVE_INFINITY)); assertEquals("NaN", (Object) 0, compareTo(Float.NaN, Double.NaN)); assertEquals("NaN", (Object) (-1), compareTo(null, Double.NaN)); assertEquals("NaN", (Object) (-1), compareTo(1, Double.NaN)); assertEquals("NaN", (Object) (-1), compareTo(-1, Double.NaN)); assertEquals("NaN", (Object) (-1), compareTo(Float.NEGATIVE_INFINITY, Double.NaN)); assertEquals("NaN", (Object) 0, compareTo(Double.NaN, Float.NaN)); for (Class<?> type : NUMBERS) { Class<? extends Number> wrapper = (Class<? extends Number>) ClassUtils.primitiveToWrapper(type); try { Number n = null; if (ClassUtils.isPrimitiveWrapper(type)) { n = (Number) wrapper.getField("MAX_VALUE").get(null); } else { n = INFINITY_DOUBLE.pow(2); if (BigInteger.class.equals(type)) n = ((BigDecimal) n).toBigInteger(); } assertEquals("equals: " + type.getSimpleName(), 0, compareTo(n, new BigDecimal(n.toString()))); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage() + "\n" + Arrays.toString(e.getStackTrace())); } } }
From source file:ec.coevolve.MultiPopCoevolutionaryEvaluatorExtra.java
protected Individual[] behaviourElite(EvolutionState state, int subpop) { // Generate the dataset ArrayList<IndividualClusterable> points = new ArrayList<IndividualClusterable>(); if (novelChampionsOrigin == NovelChampionsOrigin.halloffame) { for (int i = 0; i < hallOfFame[subpop].size(); i++) { points.add(new IndividualClusterable(hallOfFame[subpop].get(i), i)); }/*from ww w. java 2 s.c om*/ } else if (novelChampionsOrigin == NovelChampionsOrigin.archive) { for (ArchiveEntry ae : archives[subpop]) { points.add(new IndividualClusterable(ae.getIndividual(), ae.getGeneration())); } } // Cap -- only use the individuals with the highest fitness scores if (novelChampionsCap > 0) { // calculate the percentile DescriptiveStatistics ds = new DescriptiveStatistics(); for (IndividualClusterable ic : points) { ds.addValue(ic.getFitness()); } double percentile = ds.getPercentile(novelChampionsCap); // remove those below the percentile Iterator<IndividualClusterable> iter = points.iterator(); while (iter.hasNext()) { IndividualClusterable next = iter.next(); if (next.getFitness() < percentile) { iter.remove(); } } } // Check if there are enough points for clustering if (points.size() <= novelChampions) { Individual[] elite = new Individual[points.size()]; for (int i = 0; i < elite.length; i++) { elite[i] = points.get(i).getIndividual(); } return elite; } // Do the k-means clustering KMeansPlusPlusClusterer<IndividualClusterable> clusterer = new KMeansPlusPlusClusterer<IndividualClusterable>( novelChampions, 100); List<CentroidCluster<IndividualClusterable>> clusters = clusterer.cluster(points); // Return one from each cluster Individual[] elite = new Individual[novelChampions]; for (int i = 0; i < clusters.size(); i++) { CentroidCluster<IndividualClusterable> cluster = clusters.get(i); List<IndividualClusterable> clusterPoints = cluster.getPoints(); if (novelChampionsMode == NovelChampionsMode.random) { int randIndex = state.random[0].nextInt(clusterPoints.size()); elite[i] = clusterPoints.get(randIndex).getIndividual(); } else if (novelChampionsMode == NovelChampionsMode.last) { IndividualClusterable oldest = null; for (IndividualClusterable ic : clusterPoints) { if (oldest == null || ic.age > oldest.age) { oldest = ic; } } elite[i] = oldest.getIndividual(); } else if (novelChampionsMode == NovelChampionsMode.centroid) { DistanceMeasure dm = clusterer.getDistanceMeasure(); double[] centroid = cluster.getCenter().getPoint(); IndividualClusterable closest = null; double closestDist = Double.MAX_VALUE; for (IndividualClusterable ic : clusterPoints) { double dist = dm.compute(centroid, ic.getPoint()); if (dist < closestDist) { closestDist = dist; closest = ic; } } elite[i] = closest.getIndividual(); } else if (novelChampionsMode == NovelChampionsMode.best) { IndividualClusterable best = null; float highestFit = Float.NEGATIVE_INFINITY; for (IndividualClusterable ic : clusterPoints) { if (ic.getFitness() > highestFit) { best = ic; highestFit = ic.getFitness(); } } elite[i] = best.getIndividual(); } } return elite; }
From source file:edu.umd.honghongie.RunPersonalizedPageRankBasic.java
private ArrayListOfFloats phase1(int i, int j, String basePath, int numNodes, ArrayListOfInts sourceids, boolean useCombiner) throws Exception { Job job = Job.getInstance(getConf()); job.setJobName("PageRank:Basic:iteration" + j + ":Phase1"); job.setJarByClass(RunPersonalizedPageRankBasic.class); String in = basePath + "/iter" + formatter.format(i); String out = basePath + "/iter" + formatter.format(j) + "t"; String outm = out + "-mass"; // We need to actually count the number of part files to get the number of partitions (because // the directory might contain _log). int numPartitions = 0; for (FileStatus s : FileSystem.get(getConf()).listStatus(new Path(in))) { if (s.getPath().getName().contains("part-")) numPartitions++;//from w w w . j a v a2s. c om } LOG.info("PageRank: iteration " + j + ": Phase1"); LOG.info(" - input: " + in); LOG.info(" - output: " + out); LOG.info(" - nodeCnt: " + numNodes); LOG.info(" - useCombiner: " + useCombiner); LOG.info("computed number of partitions: " + numPartitions); int numReduceTasks = numPartitions; job.getConfiguration().setInt("NodeCount", numNodes); job.getConfiguration().setBoolean("mapred.map.tasks.speculative.execution", false); job.getConfiguration().setBoolean("mapred.reduce.tasks.speculative.execution", false); //job.getConfiguration().set("mapred.child.java.opts", "-Xmx2048m"); job.getConfiguration().set("PageRankMassPath", outm); //*********************** reduer uses sourcenode job.getConfiguration().set("SourceNode", sourceids.toString()); job.setNumReduceTasks(numReduceTasks); FileInputFormat.setInputPaths(job, new Path(in)); FileOutputFormat.setOutputPath(job, new Path(out)); job.setInputFormatClass(NonSplitableSequenceFileInputFormat.class); job.setOutputFormatClass(SequenceFileOutputFormat.class); job.setMapOutputKeyClass(IntWritable.class); job.setMapOutputValueClass(PageRankNode.class); job.setOutputKeyClass(IntWritable.class); job.setOutputValueClass(PageRankNode.class); job.setMapperClass(MapClass.class); if (useCombiner) { job.setCombinerClass(CombineClass.class); } job.setReducerClass(ReduceClass.class); FileSystem.get(getConf()).delete(new Path(out), true); FileSystem.get(getConf()).delete(new Path(outm), true); long startTime = System.currentTimeMillis(); job.waitForCompletion(true); System.out.println("Job Finished in " + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds"); System.out.println("********** 1 *********"); ArrayListOfFloats mass = new ArrayListOfFloats(); int length = sourceids.size(); System.out.println("*********** 1 **********" + length); float test = Float.NEGATIVE_INFINITY; for (int k = 0; k < length; k++) { mass.add(Float.NEGATIVE_INFINITY); //use add to initialize } System.out.println("********** test ********" + test); System.out.println("******** 1 ********" + mass); //****************************************** how to resolve datastream FileSystem fs = FileSystem.get(getConf()); ArrayListOfFloatsWritable invalue = new ArrayListOfFloatsWritable(); for (FileStatus f : fs.listStatus(new Path(outm))) { FSDataInputStream fin = fs.open(f.getPath()); //************************************** get all values from fin? invalue.readFields(fin); System.out.println("************** 1 ************" + invalue); for (int k = 0; k < invalue.size(); k++) { mass.set(k, sumLogProbs(mass.get(k), invalue.get(k))); } fin.close(); } System.out.println("******** 1 ********" + mass.toString()); return mass; }
From source file:org.evosuite.junit.naming.variables.ExplanatoryNamingTestVisitor.java
/** * <p>/*from w w w . j a v a 2s . c o m*/ * getNumberString * </p> * * @param value * a {@link java.lang.Object} object. * @return a {@link java.lang.String} object. */ public static String getStringForPrimitiveValue(Object value) { assert (value != null); if (value.getClass().equals(char.class) || value.getClass().equals(Character.class)) { if (CharUtils.isAsciiNumeric((Character) value)) return "Numeric"; else if (CharUtils.isAsciiAlpha((Character) value)) return "Alpha"; else return "NotAlphanumeric"; } else if (value.getClass().equals(String.class)) { return ((String) value).isEmpty() ? "EmptyString" : "NonEmptyString"; } else if (value.getClass().equals(float.class) || value.getClass().equals(Float.class)) { if (value.toString().equals("" + Float.NaN)) return "NaN"; else if (value.toString().equals("" + Float.NEGATIVE_INFINITY)) return "NegativeInf"; else if (value.toString().equals("" + Float.POSITIVE_INFINITY)) return "PositiveInf"; else return (((Float) value) < 0F) ? "Negative" : (((Float) value) == 0F) ? "Zero" : "Positive"; } else if (value.getClass().equals(double.class) || value.getClass().equals(Double.class)) { if (value.toString().equals("" + Double.NaN)) return "NaN"; else if (value.toString().equals("" + Double.NEGATIVE_INFINITY)) return "NegativeInf"; else if (value.toString().equals("" + Double.POSITIVE_INFINITY)) return "PositiveInf"; else return (((Double) value) < 0.0) ? "Negative" : (((Double) value) == 0.0) ? "Zero" : "Positive"; } else if (value.getClass().equals(long.class) || value.getClass().equals(Long.class)) { return (((Long) value) < 0) ? "Negative" : (((Long) value) == 0) ? "Zero" : "Positive"; } else if (value.getClass().equals(byte.class) || value.getClass().equals(Byte.class)) { return (((Byte) value) < 0) ? "Negative" : (((Byte) value) == 0) ? "Zero" : "Positive"; } else if (value.getClass().equals(short.class) || value.getClass().equals(Short.class)) { return (((Short) value) < 0) ? "Negative" : (((Short) value) == 0) ? "Zero" : "Positive"; } else if (value.getClass().equals(int.class) || value.getClass().equals(Integer.class)) { int val = ((Integer) value).intValue(); if (val == Integer.MAX_VALUE) return "MaxInt"; else if (val == Integer.MIN_VALUE) return "MinInt"; else return (((Integer) value) < 0) ? "Negative" : (((Integer) value) == 0) ? "Zero" : "Positive"; } else if (value.getClass().isEnum() || value instanceof Enum) { return "EnumValue"; } else if (value.getClass().equals(Boolean.class)) { return capitalize(Boolean.toString((Boolean) value)); } else { // This should not happen assert (false); return value.toString(); } }
From source file:RunPageRankSchimmy.java
private float phase1(String path, int i, int j, int n, boolean useCombiner, boolean useInmapCombiner, boolean useRange) throws Exception { Configuration conf = getConf(); String in = path + "/iter" + FORMAT.format(i); String out = path + "/iter" + FORMAT.format(j) + "t"; String outm = out + "-mass"; FileSystem fs = FileSystem.get(conf); // We need to actually count the number of part files to get the number // of partitions (because the directory might contain _log). int numPartitions = 0; for (FileStatus s : FileSystem.get(conf).listStatus(new Path(in))) { if (s.getPath().getName().contains("part-")) { numPartitions++;//from w w w . ja v a 2 s.co m } } conf.setInt("NodeCount", n); Partitioner<IntWritable, Writable> p = null; if (useRange) { p = new RangePartitioner(); ((Configurable) p).setConf(conf); } else { p = new HashPartitioner<IntWritable, Writable>(); } // This is really annoying: the mapping between the partition numbers on // disk (i.e., part-XXXX) and what partition the file contains (i.e., // key.hash % #reducer) is arbitrary... so this means that we need to // open up each partition, peek inside to find out. IntWritable key = new IntWritable(); PageRankNode value = new PageRankNode(); FileStatus[] status = fs.listStatus(new Path(in)); StringBuilder sb = new StringBuilder(); for (FileStatus f : status) { if (!f.getPath().getName().contains("part-")) { continue; } SequenceFile.Reader reader = new SequenceFile.Reader(conf, SequenceFile.Reader.file(f.getPath())); reader.next(key, value); int np = p.getPartition(key, value, numPartitions); reader.close(); LOG.info(f.getPath() + "\t" + np); sb.append(np + "=" + f.getPath() + ";"); } LOG.info(sb.toString().trim()); LOG.info("PageRankSchimmy: iteration " + j + ": Phase1"); LOG.info(" - input: " + in); LOG.info(" - output: " + out); LOG.info(" - nodeCnt: " + n); LOG.info(" - useCombiner: " + useCombiner); LOG.info(" - useInmapCombiner: " + useInmapCombiner); LOG.info(" - numPartitions: " + numPartitions); LOG.info(" - useRange: " + useRange); LOG.info("computed number of partitions: " + numPartitions); int numReduceTasks = numPartitions; conf.setInt("mapred.min.split.size", 1024 * 1024 * 1024); //conf.set("mapred.child.java.opts", "-Xmx2048m"); conf.set("PageRankMassPath", outm); conf.set("BasePath", in); conf.set("PartitionMapping", sb.toString().trim()); conf.setBoolean("mapred.map.tasks.speculative.execution", false); conf.setBoolean("mapred.reduce.tasks.speculative.execution", false); Job job = Job.getInstance(conf); job.setJobName("PageRankSchimmy:iteration" + j + ":Phase1"); job.setJarByClass(RunPageRankSchimmy.class); job.setNumReduceTasks(numReduceTasks); FileInputFormat.setInputPaths(job, new Path(in)); FileOutputFormat.setOutputPath(job, new Path(out)); job.setInputFormatClass(SequenceFileInputFormat.class); job.setOutputFormatClass(SequenceFileOutputFormat.class); job.setMapOutputKeyClass(IntWritable.class); job.setMapOutputValueClass(FloatWritable.class); job.setOutputKeyClass(IntWritable.class); job.setOutputValueClass(PageRankNode.class); if (useInmapCombiner) { job.setMapperClass(MapWithInMapperCombiningClass.class); } else { job.setMapperClass(MapClass.class); } if (useCombiner) { job.setCombinerClass(CombineClass.class); } if (useRange) { job.setPartitionerClass(RangePartitioner.class); } job.setReducerClass(ReduceClass.class); FileSystem.get(conf).delete(new Path(out), true); FileSystem.get(conf).delete(new Path(outm), true); long startTime = System.currentTimeMillis(); job.waitForCompletion(true); System.out.println("Job Finished in " + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds"); float mass = Float.NEGATIVE_INFINITY; for (FileStatus f : fs.listStatus(new Path(outm))) { FSDataInputStream fin = fs.open(f.getPath()); mass = sumLogProbs(mass, fin.readFloat()); fin.close(); } return mass; }
From source file:edu.umd.honghongie.RunPersonalizedPageRankBasic.java
private static float sumLogProbs(float a, float b) { if (a == Float.NEGATIVE_INFINITY) return b; if (b == Float.NEGATIVE_INFINITY) return a; if (a < b) { return (float) (b + StrictMath.log1p(StrictMath.exp(a - b))); }//from w w w . jav a 2 s .c o m return (float) (a + StrictMath.log1p(StrictMath.exp(b - a))); }
From source file:RunPageRankSchimmy.java
private static float sumLogProbs(float a, float b) { if (a == Float.NEGATIVE_INFINITY) return b; if (b == Float.NEGATIVE_INFINITY) return a; if (a < b) { return (float) (b + StrictMath.log1p(StrictMath.exp(a - b))); }/*from ww w .ja va 2 s.co m*/ return (float) (a + StrictMath.log1p(StrictMath.exp(b - a))); }
From source file:jp.furplag.util.commons.NumberUtilsTest.java
/** * {@link jp.furplag.util.commons.NumberUtils#contains(java.lang.Object, java.lang.Number, java.lang.Number)}. *//*from w w w . j a v a 2s. c o m*/ @SuppressWarnings("unchecked") @Test public void testContains() { assertEquals("null", false, contains(null, null, null)); assertEquals("null", false, contains(null, 0, null)); assertEquals("null", false, contains(null, null, 10)); assertEquals("null", false, contains(null, 0, 10)); assertEquals("null: from", true, contains(0, null, 10)); assertEquals("null: from: overflow", false, contains(11, null, 10)); assertEquals("null: to", true, contains(0, 0, null)); assertEquals("null: to", true, contains(11, 10, null)); assertEquals("null: to: less", false, contains(1, 10, null)); assertEquals("fraction: Double", true, contains(Math.PI, 0, 10)); assertEquals("fraction: Float", true, contains(Float.MIN_VALUE, 0, 10)); assertEquals("NaN", false, contains(Float.NaN, -Float.MAX_VALUE, Float.MAX_VALUE)); assertEquals("NaN", false, contains(Float.NaN, null, Float.POSITIVE_INFINITY)); assertEquals("NaN", true, contains(Float.NaN, Float.NaN, Float.POSITIVE_INFINITY)); assertEquals("NaN", true, contains(Float.NaN, null, Float.NaN)); assertEquals("NaN", true, contains(Float.NaN, Double.NaN, Float.NaN)); assertEquals("-Infinity: from", true, contains(1, Float.NEGATIVE_INFINITY, null)); assertEquals("-Infinity: to", false, contains(1, null, Float.NEGATIVE_INFINITY)); assertEquals("Infinity: from", false, contains(1, Float.POSITIVE_INFINITY, null)); assertEquals("Infinity: to", true, contains(1, null, Float.POSITIVE_INFINITY)); assertEquals("Infinity: only", false, contains(1, Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)); assertEquals("Infinity: only", true, contains(Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)); assertEquals("Infinity: only", true, contains(Double.POSITIVE_INFINITY, Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)); for (Class<?> type : NUMBERS) { Class<? extends Number> wrapper = (Class<? extends Number>) ClassUtils.primitiveToWrapper(type); Object o = null; try { if (ClassUtils.isPrimitiveWrapper(wrapper)) { o = wrapper.getField("MAX_VALUE").get(null); } else { o = INFINITY_DOUBLE.pow(2); if (BigInteger.class.equals(type)) o = ((BigDecimal) o).toBigInteger(); } assertEquals("Infinity: all: " + type.getSimpleName(), true, contains(o, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY)); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage() + "\n" + Arrays.toString(e.getStackTrace())); } } }
From source file:nl.uva.illc.dataselection.InvitationModel.java
public static float logAdd(float a, float b) { float max, negDiff; if (a > b) { max = a;//from w w w .j av a 2 s. co m negDiff = b - a; } else { max = b; negDiff = a - b; } if (max == Float.NEGATIVE_INFINITY) { return max; } else if (negDiff < -20.0f) { return max; } else { return max + (float) Math.log(1.0 + Math.exp(negDiff)); } }
From source file:edu.umd.shrawanraina.RunPersonalizedPageRankBasic.java
private float phase1(String sources, int i, int j, String basePath, int numNodes, boolean useCombiner, boolean useInMapperCombiner) throws Exception { Job job = Job.getInstance(getConf()); job.setJobName("PageRank:Basic:iteration" + j + ":Phase1"); job.setJarByClass(RunPersonalizedPageRankBasic.class); String in = basePath + "/iter" + formatter.format(i); String out = basePath + "/iter" + formatter.format(j) + "t"; String outm = out + "-mass"; // We need to actually count the number of part files to get the number // of partitions (because // the directory might contain _log). int numPartitions = 0; for (FileStatus s : FileSystem.get(getConf()).listStatus(new Path(in))) { if (s.getPath().getName().contains("part-")) numPartitions++;// ww w . j a v a2s . co m } //System.out.println("Output <<<<<<<: "+outm); LOG.info("PageRank: iteration " + j + ": Phase1"); LOG.info(" - input: " + in); LOG.info(" - output: " + out); LOG.info(" - nodeCnt: " + numNodes); LOG.info(" - useCombiner: " + useCombiner); LOG.info(" - useInmapCombiner: " + useInMapperCombiner); LOG.info("computed number of partitions: " + numPartitions); LOG.info(" - sources: " + Arrays.asList(sources.split("\\s*(,)\\s*"))); int numReduceTasks = numPartitions; job.getConfiguration().setInt("NodeCount", numNodes); job.getConfiguration().setInt("NodeCount", numNodes); job.getConfiguration().setBoolean("mapred.map.tasks.speculative.execution", false); job.getConfiguration().setBoolean("mapred.reduce.tasks.speculative.execution", false); // job.getConfiguration().set("mapred.child.java.opts", "-Xmx2048m"); job.getConfiguration().set("PageRankMassPath", outm); job.setNumReduceTasks(numReduceTasks); FileInputFormat.setInputPaths(job, new Path(in)); FileOutputFormat.setOutputPath(job, new Path(out)); job.setInputFormatClass(NonSplitableSequenceFileInputFormat.class); job.setOutputFormatClass(SequenceFileOutputFormat.class); job.setMapOutputKeyClass(IntWritable.class); job.setMapOutputValueClass(PageRankNodeUpd.class); job.setOutputKeyClass(IntWritable.class); job.setOutputValueClass(PageRankNodeUpd.class); //job.setMapperClass(useInMapperCombiner ? MapWithInMapperCombiningClass.class: MapClass.class); //job.setMapperClass(MapWithInMapperCombiningClass.class); job.setMapperClass(MapClass.class); if (useCombiner) { //job.setCombinerClass(CombineClass.class); } job.setReducerClass(ReduceClass.class); FileSystem.get(getConf()).delete(new Path(out), true); FileSystem.get(getConf()).delete(new Path(outm), true); long startTime = System.currentTimeMillis(); job.waitForCompletion(true); System.out.println("Job Finished in " + (System.currentTimeMillis() - startTime) / 1000.0 + " seconds"); float mass = Float.NEGATIVE_INFINITY; FileSystem fs = FileSystem.get(getConf()); for (FileStatus f : fs.listStatus(new Path(outm))) { FSDataInputStream fin = fs.open(f.getPath()); mass = sumLogProbs(mass, fin.readFloat()); fin.close(); } return mass; }