view src/samer/functions/WinnerTakeAll.java @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children
line wrap: on
line source
/*
 *	Copyright (c) 2000, Samer Abdallah, King's College London.
 *	All rights reserved.
 *
 *	This software is provided AS iS and WITHOUT ANY WARRANTY; 
 *	without even the implied warranty of MERCHANTABILITY or 
 *	FITNESS FOR A PARTICULAR PURPOSE.
 */

package samer.functions;
import  samer.maths.*;

/**
	This is NOT and element-wise nonlinearity, but
	rather a function of an entire vector.
  */

public class WinnerTakeAll extends VectorFunctionOfVector
{
	public void apply(double [] y) 
	{		
		int jmax=Mathx.argmax(y);
		Mathx.zero(y);
		y[jmax]=1;
	}

	public void apply(double [] y, double [] z) 
	{		
		Mathx.zero(z);
		z[Mathx.argmax(y)]=1;
	}
}