- Timestamp:
- 07/18/13 23:52:25 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.