private void pushByFloatMath(int seen, Item it, Item it2) { Item result; @SpecialKind int specialKind = Item.FLOAT_MATH; if ((it.getConstant() instanceof Float) && it2.getConstant() instanceof Float) { if (seen == Const.FADD) { result = new Item("F", Float.valueOf(constantToFloat(it2) + constantToFloat(it))); } else if (seen == Const.FSUB) { result = new Item("F", Float.valueOf(constantToFloat(it2) - constantToFloat(it))); } else if (seen == Const.FMUL) { result = new Item("F", Float.valueOf(constantToFloat(it2) * constantToFloat(it))); } else if (seen == Const.FDIV) { result = new Item("F", Float.valueOf(constantToFloat(it2) / constantToFloat(it))); } else if (seen == Const.FREM) { result = new Item("F", Float.valueOf(constantToFloat(it2) % constantToFloat(it))); } else { result = new Item("F"); } } else { result = new Item("F"); if (seen == Const.DDIV) { specialKind = Item.NASTY_FLOAT_MATH; } } result.setSpecialKind(specialKind); push(result); }
private void handleFcmp(int opcode) { Item it = pop(); Item it2 = pop(); if ((it.getConstant() != null) && it2.getConstant() != null) { float f = constantToFloat(it); float f2 = constantToFloat(it2); if (Float.isNaN(f) || Float.isNaN(f2)) { if (opcode == Const.FCMPG) { push(new Item("I", Integer.valueOf(1))); } else { push(new Item("I", Integer.valueOf(-1))); } } if (f2 < f) { push(new Item("I", Integer.valueOf(-1))); } else if (f2 > f) { push(new Item("I", Integer.valueOf(1))); } else { push(new Item("I", Integer.valueOf(0))); } } else { push(new Item("I")); } }
it = pop(); if (it.getConstant() instanceof Float) { push(new Item("F", Float.valueOf(-constantToFloat(it)))); } else { push(new Item("F")); it = pop(); if (it.getConstant() != null) { push(new Item("F", Float.valueOf(constantToFloat(it)))); } else { push(new Item("F"));
private void pushByFloatMath(int seen, Item it, Item it2) { Item result; @SpecialKind int specialKind = Item.FLOAT_MATH; if ((it.getConstant() instanceof Float) && it2.getConstant() instanceof Float) { if (seen == FADD) { result = new Item("F", Float.valueOf(constantToFloat(it2) + constantToFloat(it))); } else if (seen == FSUB) { result = new Item("F", Float.valueOf(constantToFloat(it2) - constantToFloat(it))); } else if (seen == FMUL) { result = new Item("F", Float.valueOf(constantToFloat(it2) * constantToFloat(it))); } else if (seen == FDIV) { result = new Item("F", Float.valueOf(constantToFloat(it2) / constantToFloat(it))); } else if (seen == FREM) { result = new Item("F", Float.valueOf(constantToFloat(it2) % constantToFloat(it))); } else { result = new Item("F"); } } else { result = new Item("F"); if (seen == DDIV) { specialKind = Item.NASTY_FLOAT_MATH; } } result.setSpecialKind(specialKind); push(result); }
private void handleFcmp(int opcode) { Item it = pop(); Item it2 = pop(); if ((it.getConstant() != null) && it2.getConstant() != null) { float f = constantToFloat(it); float f2 = constantToFloat(it2); if (Float.isNaN(f) || Float.isNaN(f2)) { if (opcode == FCMPG) { push(new Item("I", Integer.valueOf(1))); } else { push(new Item("I", Integer.valueOf(-1))); } } if (f2 < f) { push(new Item("I", Integer.valueOf(-1))); } else if (f2 > f) { push(new Item("I", Integer.valueOf(1))); } else { push(new Item("I", Integer.valueOf(0))); } } else { push(new Item("I")); } }
it = pop(); if (it.getConstant() instanceof Float) { push(new Item("F", Float.valueOf(-constantToFloat(it)))); } else { push(new Item("F")); it = pop(); if (it.getConstant() != null) { push(new Item("F", Float.valueOf(constantToFloat(it)))); } else { push(new Item("F"));