/** * */ package is2.data; import is2.util.DB; /** * @author Dr. Bernd Bohnet, 30.10.2010 * * This class computes the mapping of features to the weight vector. */ final public class D4 extends DX { private long shift; private long h; private final Long2IntInterface _li; public D4(Long2IntInterface li) { _li=li; } final public void clean() { v0=0;v1=0;v2=0;v3=0;v4=0;v5=0;v6=0;v7=0;v8=0; shift=0;h=0; } final public void cz3(){ if (v0<0||v1<0||v2<0) { h=-1;return;} h= v0+v1*(shift =a0)+(long)v2*(shift *=a1); shift *=a2; } final public long c3(){ if (v0<0||v1<0||v2<0) { h=-1;return h;} h= v0+v1*(shift =a0)+(long)v2*(shift *=a1); shift *=a2; return h; } final public void cz4(){ if (v0<0||v1<0||v2<0||v3<0) {h=-1;return;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); shift *=a3; } final public long c4(){ if (v0<0||v1<0||v2<0||v3<0) {h=-1;return h;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); shift *=a3; return h; } final public void cz5(){ if (v0<0||v1<0||v2<0||v3<0||v4<0) {h=-1;return;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift*=a2)+v4*(shift*=a3); shift*=a4; } final public long c5(){ if (v0<0||v1<0||v2<0||v3<0||v4<0) {h=-1;return h;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2)+v4*(shift*=a3); shift*=a4; return h; } final public void cz6(){ if (v0<0||v1<0||v2<0||v3<0||v4<0||v5<0) {h=-1; return;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); h +=v4*(shift*=a3)+v5*(shift*=a4); shift*=a5; } final public long c6(){ if (v0<0||v1<0||v2<0||v3<0||v4<0||v5<0) {h=-1; return h;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); h +=v4*(shift*=a3)+v5*(shift*=a4); shift*=a5; return h; } final public long cs(int b, int v) { if (h<0) {h=-1; return h;} h += v*shift; shift *=b; return h; } final public void csa(int b, int v, IFV f) { if (h<0) {h=-1; return;} h += v*shift; shift *=b; f.add(_li.l2i(h)); } final public long csa(int b, int v) { if (h<0) {h=-1; return-1; } h += v*shift; shift *=b; return h; } public final long getVal(){ return h; } public final void map(IFV f, long l){ if (l>0) f.add(this._li.l2i(l)); } /** * @param f */ final public void add(IFV f) { f.add(_li.l2i(h)); } final public void cz7() { if (v0<0||v1<0||v2<0||v3<0||v4<0||v5<0||v6<0) {h=-1; return;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); h +=v4*(shift*=a3)+v5*(shift*=a4)+v6*(shift*=a5); shift*=a6; } final public long c7() { if (v0<0||v1<0||v2<0||v3<0||v4<0||v5<0||v6<0) {h=-1; return h;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); h +=v4*(shift*=a3)+v5*(shift*=a4)+v6*(shift*=a5); shift*=a6; return h; } /** * */ final public void cz8() { if (v0<0||v1<0||v2<0||v3<0||v4<0||v5<0||v6<0||v7<0) {h=-1; return;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); h +=v4*(shift*=a3)+v5*(shift*=a4)+v6*(shift*=a5)+v7*(shift*=a6); shift*=a7; } final public void cz9() { if (v0<0||v1<0||v2<0||v3<0||v4<0||v5<0||v6<0||v7<0||v8<0) {h=-1; return;} h =v0+v1*(shift =a0)+v2*(shift *=a1)+v3*(shift *=a2); h +=v4*(shift*=a3)+v5*(shift*=a4)+v6*(shift*=a5)+v7*(shift*=a6)+v8*(shift*=a7); shift*=a8; } /* (non-Javadoc) * @see is2.data.DX#computeLabeValue(short, short) */ @Override public int computeLabeValue(int label, int shift) { return label*shift; } public void fix() { } }