Changeset 103 for java/main/src/main/java/com/framsticks/test/prime
- Timestamp:
- 07/18/13 23:52:25 (11 years ago)
- Location:
- java/main/src/main/java/com/framsticks/test/prime
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main/src/main/java/com/framsticks/test/prime/ExpParams.java
r102 r103 13 13 public int to_number; 14 14 15 /** 16 * 17 */ 18 public ExpParams() { 19 } 20 21 /** 22 * @param from_number 23 * @param to_number 24 */ 25 public ExpParams(int from_number, int to_number) { 26 this.from_number = from_number; 27 this.to_number = to_number; 28 } 29 15 30 @Override 16 31 public String toString() { 17 32 return "[" + from_number + ":" + to_number + "]"; 18 33 } 34 35 public boolean isInsideOf(ExpParams outer) { 36 return from_number >= outer.from_number && to_number <= outer.to_number; 37 } 19 38 } -
java/main/src/main/java/com/framsticks/test/prime/PrimePackage.java
r102 r103 1 1 package com.framsticks.test.prime; 2 2 3 import com.framsticks.experiment.InvalidWorkPackage; 3 4 import com.framsticks.experiment.WorkPackage; 4 5 import com.framsticks.params.annotations.FramsClassAnnotation; 6 import com.framsticks.params.annotations.ParamAnnotation; 5 7 6 @FramsClassAnnotation 7 public class PrimePackage implements WorkPackage {8 @FramsClassAnnotation(order = {"params", "state"}) 9 public class PrimePackage implements WorkPackage<PrimePackage> { 8 10 11 @ParamAnnotation 9 12 public final ExpParams params = new ExpParams(); 10 13 14 @ParamAnnotation 11 15 public final ExpState state = new ExpState(); 12 16 … … 16 20 } 17 21 22 @Override 23 public String sumUpTask() { 24 return params.toString(); 25 } 26 27 @Override 28 public String sumUpResult() { 29 return state.toString(); 30 } 31 32 @Override 33 public String getShortDescription() { 34 return params.toString(); 35 } 36 37 public static PrimePackage compose(int from, int to) { 38 PrimePackage wp = new PrimePackage(); 39 wp.params.from_number = from; 40 wp.params.to_number = to; 41 wp.state.current_number = from; 42 return wp; 43 } 44 45 @Override 46 public PrimePackage getRemainder(PrimePackage result) { 47 if (!result.params.isInsideOf(params)) { 48 throw new InvalidWorkPackage().msg("result is not inside of task"); 49 } 50 if (result.params.from_number != params.from_number) { 51 throw new InvalidWorkPackage().msg("result is not subpackage"); 52 } 53 if (result.state.current_number == params.to_number + 1) { 54 return null; 55 } 56 return compose(result.state.current_number, params.to_number); 57 } 18 58 }
Note: See TracChangeset
for help on using the changeset viewer.