All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.reactor.expression.OpSumProduct Maven / Gradle / Ivy

The newest version!
package prerna.reactor.expression;

import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.ReactorKeysEnum;
import prerna.sablecc2.om.nounmeta.NounMetadata;

public class OpSumProduct extends OpBasic {

	public OpSumProduct() {
		this.operation="sumproduct";
		this.keysToGet = new String[]{ReactorKeysEnum.ARRAY.getKey()};
		
	}

	@Override
	protected NounMetadata evaluate(Object[] values) {
		double sum=0;
		int length = ((Object[])values[0]).length;
		for (int i=0 ;i < length ; i++ ){
			double prod=1;
			for (Object objArr : values){
				double val = ((Number)((Object[])objArr)[i]).doubleValue();
				prod *= val;				
			}
			sum += prod;				
		}
		
	    NounMetadata sumProduct = new NounMetadata(sum, PixelDataType.CONST_DECIMAL);
        return sumProduct;
	}

	@Override
	public String getReturnType() {
		// TODO Auto-generated method stub
		return "double";
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy