SignInverter.java 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package me.hammerle.snuviscript.code;
  2. import me.hammerle.snuviscript.code.Script;
  3. import me.hammerle.snuviscript.math.Fraction;
  4. public class SignInverter extends InputProvider
  5. {
  6. private final InputProvider input;
  7. public SignInverter(InputProvider input)
  8. {
  9. this.input = input;
  10. }
  11. @Override
  12. public Object get(Script sc)
  13. {
  14. return ((Fraction) input.get(sc)).invertSign();
  15. }
  16. @Override
  17. public Fraction getFraction(Script sc)
  18. {
  19. return input.getFraction(sc).invertSign();
  20. }
  21. @Override
  22. public int getInt(Script sc)
  23. {
  24. return input.getFraction(sc).invertSign().intValue();
  25. }
  26. @Override
  27. public double getDouble(Script sc)
  28. {
  29. return input.getFraction(sc).invertSign().doubleValue();
  30. }
  31. @Override
  32. public String getString(Script sc)
  33. {
  34. return String.valueOf(get(sc));
  35. }
  36. @Override
  37. public String toString()
  38. {
  39. return "invertSign(" + input + ")";
  40. }
  41. }