From cbfbb2282274b930293467abd65a39d590927d9f Mon Sep 17 00:00:00 2001 From: cainja Date: Fri, 20 Dec 2024 19:51:40 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20bagheril?= =?UTF-8?q?ab/ARCADE@0e028571e62e100f5aee670401ff34c8950856fa=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arcade.patch.agent.cell/PatchCell.html | 2 +- .../PatchCell.java.html | 362 +++++++++--------- .../PatchCellCancer.html | 2 +- .../PatchCellCancer.java.html | 8 +- coverage/arcade.patch.agent.cell/index.html | 2 +- .../arcade.patch.agent.cell/index.source.html | 2 +- .../PatchModuleApoptosis.html | 2 +- .../PatchModuleApoptosis.java.html | 41 +- .../PatchModuleMigration.html | 2 +- .../PatchModuleMigration.java.html | 20 +- .../PatchModuleProliferation.html | 2 +- .../PatchModuleProliferation.java.html | 60 ++- coverage/arcade.patch.agent.module/index.html | 2 +- .../index.source.html | 2 +- .../PatchLattice.java.html | 2 +- .../CoordinateUVWZ.html | 2 +- .../CoordinateUVWZ.java.html | 6 +- .../CoordinateXYZ.html | 2 +- .../CoordinateXYZ.java.html | 6 +- .../PatchLocation.html | 2 +- .../PatchLocation.java.html | 21 +- .../PatchLocationHex.html | 2 +- .../PatchLocationHex.java.html | 79 ++-- .../PatchLocationRect.html | 2 +- .../PatchLocationRect.java.html | 125 +++--- coverage/arcade.patch.env.location/index.html | 2 +- .../index.source.html | 2 +- .../PatchInputBuilder.html | 2 +- .../PatchInputBuilder.java.html | 12 +- coverage/arcade.patch.sim.input/index.html | 2 +- .../arcade.patch.sim.input/index.source.html | 2 +- coverage/index.html | 2 +- 32 files changed, 398 insertions(+), 384 deletions(-) diff --git a/coverage/arcade.patch.agent.cell/PatchCell.html b/coverage/arcade.patch.agent.cell/PatchCell.html index c2d818cd..07fc43de 100644 --- a/coverage/arcade.patch.agent.cell/PatchCell.html +++ b/coverage/arcade.patch.agent.cell/PatchCell.html @@ -1 +1 @@ -PatchCell

PatchCell

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total287 of 54046%38 of 5328%4158691311930
findFreeLocations(Simulation, PatchLocation, double, double)662628%1317%78182501
step(SimState)616451%17934%1014132401
convert()240%n/a111111
PatchCell(PatchCellContainer, Location, Parameters, GrabBag)2310181%1150%1253001
calculateTotalVolume(Bag)200%20%225511
selectBestLocation(Simulation, PatchLocation, double, double, MersenneTwisterFast)190%20%223311
makeProcess(ProcessDomain, String)160%30%334411
schedule(Schedule)90%n/a112211
getProcess(ProcessDomain)60%n/a111111
setFlag(PatchEnums.Flag)40%n/a112211
setVolume(double)40%n/a112211
setEnergy(double)40%n/a112211
stop()40%n/a112211
getID()30%n/a111111
getParent()30%n/a111111
getPop()30%n/a111111
getAge()30%n/a111111
getDivisions()30%n/a111111
getModule()30%n/a111111
getVolume()30%n/a111111
getHeight()30%n/a111111
getEnergy()30%n/a111111
setState(CellState)37100%4100%0401101
addCycle(int)7100%n/a010201
getState()3100%n/a010101
getLocation()3100%n/a010101
getParameters()3100%n/a010101
getCriticalVolume()3100%n/a010101
getCriticalHeight()3100%n/a010101
getCycles()3100%n/a010101
\ No newline at end of file +PatchCell

PatchCell

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total183 of 60669%20 of 6569%2965411401631
step(SimState)517459%141246%914102401
convert()240%n/a111111
PatchCell(PatchCellContainer, Location, Parameters, GrabBag)2311282%1375%1353201
selectBestLocation(Simulation, MersenneTwisterFast)170%20%223311
makeProcess(ProcessDomain, String)160%30%334411
schedule(Schedule)90%n/a112211
getProcess(ProcessDomain)60%n/a111111
setFlag(PatchEnums.Flag)40%n/a112211
setVolume(double)40%n/a112211
setEnergy(double)40%n/a112211
stop()40%n/a112211
getID()30%n/a111111
getParent()30%n/a111111
getAge()30%n/a111111
getDivisions()30%n/a111111
getModule()30%n/a111111
getHeight()30%n/a111111
getEnergy()30%n/a111111
findFreeLocations(Simulation)76100%10100%0601201
checkLocation(Simulation, PatchLocation, double, double, int, int)73100%14100%0802001
setState(CellState)37100%4100%0401101
calculateTotalVolume(Bag)20100%2100%020501
addCycle(int)7100%n/a010201
getPop()3100%n/a010101
getState()3100%n/a010101
getLocation()3100%n/a010101
getParameters()3100%n/a010101
getVolume()3100%n/a010101
getCriticalVolume()3100%n/a010101
getCriticalHeight()3100%n/a010101
getCycles()3100%n/a010101
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.cell/PatchCell.java.html b/coverage/arcade.patch.agent.cell/PatchCell.java.html index 5d83aaf0..2b58524a 100644 --- a/coverage/arcade.patch.agent.cell/PatchCell.java.html +++ b/coverage/arcade.patch.agent.cell/PatchCell.java.html @@ -77,6 +77,9 @@ /** Cell population index. */ final int pop; + /** Maximum number of cells from its population allowed in a {@link Location}. */ + final int maxDensity; + /** Cell state. */ CellState state; @@ -129,7 +132,7 @@ final GrabBag links; /** List of cell cycle lengths (in minutes). */ - private final Bag cycles = new Bag(); + private final Bag cycles = new Bag(); /** * Creates a {@code PatchCell} agent. @@ -149,109 +152,112 @@ * @param links the map of population links */ public PatchCell( - PatchCellContainer container, Location location, Parameters parameters, GrabBag links) { - this.id = container.id; - this.parent = container.parent; - this.pop = container.pop; - this.age = container.age; - this.energy = 0; - this.divisions = container.divisions; - this.location = (PatchLocation) location; - this.volume = container.volume; - this.height = container.height; - this.criticalVolume = container.criticalVolume; - this.criticalHeight = container.criticalHeight; - this.flag = Flag.UNDEFINED; - this.parameters = parameters; - this.links = links; - - setState(container.state); + PatchCellContainer container, Location location, Parameters parameters, GrabBag links) { + this.id = container.id; + this.parent = container.parent; + this.pop = container.pop; + this.age = container.age; + this.energy = 0; + this.divisions = container.divisions; + this.location = (PatchLocation) location; + this.volume = container.volume; + this.height = container.height; + this.criticalVolume = container.criticalVolume; + this.criticalHeight = container.criticalHeight; + this.flag = Flag.UNDEFINED; + this.parameters = parameters; + this.links = links; + + setState(container.state); // Set loaded parameters. - necroticFraction = parameters.getDouble("NECROTIC_FRACTION"); - senescentFraction = parameters.getDouble("SENESCENT_FRACTION"); - energyThreshold = -parameters.getDouble("ENERGY_THRESHOLD"); - apoptosisAge = parameters.getDouble("APOPTOSIS_AGE"); + necroticFraction = parameters.getDouble("NECROTIC_FRACTION"); + senescentFraction = parameters.getDouble("SENESCENT_FRACTION"); + energyThreshold = -parameters.getDouble("ENERGY_THRESHOLD"); + apoptosisAge = parameters.getDouble("APOPTOSIS_AGE"); + + int densityInput = parameters.getInt("MAX_DENSITY"); + maxDensity = (densityInput >= 0 ? densityInput : Integer.MAX_VALUE); // Add cell processes. - processes = new HashMap<>(); - MiniBox processBox = parameters.filter("(PROCESS)"); - for (String processKey : processBox.getKeys()) { - ProcessDomain domain = Domain.valueOf(processKey); - String version = processBox.get(processKey); - Process process = makeProcess(domain, version); - processes.put(domain, process); - } - } + processes = new HashMap<>(); + MiniBox processBox = parameters.filter("(PROCESS)"); + for (String processKey : processBox.getKeys()) { + ProcessDomain domain = Domain.valueOf(processKey); + String version = processBox.get(processKey); + Process process = makeProcess(domain, version); + processes.put(domain, process); + } + } @Override public int getID() { - return id; + return id; } @Override public int getParent() { - return parent; + return parent; } @Override public int getPop() { - return pop; + return pop; } @Override public CellState getState() { - return state; + return state; } @Override public int getAge() { - return age; + return age; } @Override public int getDivisions() { - return divisions; + return divisions; } @Override public Location getLocation() { - return location; + return location; } @Override public Module getModule() { - return module; + return module; } @Override public Process getProcess(ProcessDomain domain) { - return processes.get(domain); + return processes.get(domain); } @Override public Parameters getParameters() { - return parameters; + return parameters; } @Override public double getVolume() { - return volume; + return volume; } @Override public double getHeight() { - return height; + return height; } @Override public double getCriticalVolume() { - return criticalVolume; + return criticalVolume; } @Override public double getCriticalHeight() { - return criticalHeight; + return criticalHeight; } /** @@ -260,7 +266,7 @@ * @return the energy level */ public double getEnergy() { - return energy; + return energy; } /** @@ -269,8 +275,8 @@ * @param flag the target cell flag */ public void setFlag(Flag flag) { - this.flag = flag; - } + this.flag = flag; + } /** * Sets the cell volume. @@ -278,8 +284,8 @@ * @param volume the target cell volume */ public void setVolume(double volume) { - this.volume = volume; - } + this.volume = volume; + } /** * Sets the cell energy level. @@ -287,8 +293,8 @@ * @param energy the target energy level */ public void setEnergy(double energy) { - this.energy = energy; - } + this.energy = energy; + } /** * Adds a completed cell cycle length [min] to the list of lengths. @@ -296,8 +302,8 @@ * @param val the cell cycle length */ public void addCycle(int val) { - cycles.add(val); - } + cycles.add(val); + } /** * Gets the list of cell cycle lengths. @@ -305,34 +311,34 @@ * @return the list of cell cycle lengths */ public Bag getCycles() { - return cycles; + return cycles; } @Override public void stop() { - stopper.stop(); - } + stopper.stop(); + } @Override public void setState(CellState state) { - this.state = state; - this.flag = Flag.UNDEFINED; + this.state = state; + this.flag = Flag.UNDEFINED; - switch ((State) state) { + switch ((State) state) { case PROLIFERATIVE: - module = new PatchModuleProliferation(this); - break; + module = new PatchModuleProliferation(this); + break; case MIGRATORY: - module = new PatchModuleMigration(this); - break; + module = new PatchModuleMigration(this); + break; case APOPTOTIC: - module = new PatchModuleApoptosis(this); - break; + module = new PatchModuleApoptosis(this); + break; default: - module = null; + module = null; break; } - } + } /** * Makes the specified {@link Process} object. @@ -342,76 +348,76 @@ * @return the process instance */ public Process makeProcess(ProcessDomain domain, String version) { - switch ((Domain) domain) { + switch ((Domain) domain) { case METABOLISM: - return PatchProcessMetabolism.make(this, version); + return PatchProcessMetabolism.make(this, version); case SIGNALING: - return PatchProcessSignaling.make(this, version); + return PatchProcessSignaling.make(this, version); case UNDEFINED: default: - return null; + return null; } } @Override public void schedule(Schedule schedule) { - stopper = schedule.scheduleRepeating(this, Ordering.CELLS.ordinal(), 1); - } + stopper = schedule.scheduleRepeating(this, Ordering.CELLS.ordinal(), 1); + } @Override public void step(SimState simstate) { - Simulation sim = (Simulation) simstate; + Simulation sim = (Simulation) simstate; // Increase age of cell. - age++; + age++; - if (state != State.APOPTOTIC && age > apoptosisAge) { - setState(State.APOPTOTIC); + if (state != State.APOPTOTIC && age > apoptosisAge) { + setState(State.APOPTOTIC); } // Step metabolism process. - processes.get(Domain.METABOLISM).step(simstate.random, sim); + processes.get(Domain.METABOLISM).step(simstate.random, sim); // Check energy status. If cell has less energy than threshold, it will // necrose. If overall energy is negative, then cell enters quiescence. - if (state != State.APOPTOTIC && energy < 0) { - if (energy < energyThreshold) { - if (simstate.random.nextDouble() > necroticFraction) { - setState(State.APOPTOTIC); + if (state != State.APOPTOTIC && energy < 0) { + if (energy < energyThreshold) { + if (simstate.random.nextDouble() > necroticFraction) { + setState(State.APOPTOTIC); } else { - setState(State.NECROTIC); + setState(State.NECROTIC); } - } else if (state != State.QUIESCENT && state != State.SENESCENT) { - setState(State.QUIESCENT); + } else if (state != State.QUIESCENT && state != State.SENESCENT) { + setState(State.QUIESCENT); } } // Step signaling network process. - processes.get(Domain.SIGNALING).step(simstate.random, sim); + processes.get(Domain.SIGNALING).step(simstate.random, sim); // Change state from undefined. - if (state == State.UNDEFINED) { - if (flag == Flag.MIGRATORY) { - setState(State.MIGRATORY); - } else if (divisions == 0) { - if (simstate.random.nextDouble() > senescentFraction) { - setState(State.APOPTOTIC); + if (state == State.UNDEFINED) { + if (flag == Flag.MIGRATORY) { + setState(State.MIGRATORY); + } else if (divisions == 0) { + if (simstate.random.nextDouble() > senescentFraction) { + setState(State.APOPTOTIC); } else { - setState(State.SENESCENT); + setState(State.SENESCENT); } } else { - setState(State.PROLIFERATIVE); + setState(State.PROLIFERATIVE); } } // Step the module for the cell state. - if (module != null) { - module.step(simstate.random, sim); + if (module != null) { + module.step(simstate.random, sim); } - } + } @Override public CellContainer convert() { - return new PatchCellContainer( + return new PatchCellContainer( id, parent, pop, @@ -431,101 +437,103 @@ * @return the total volume */ public static double calculateTotalVolume(Bag bag) { - double totalVolume = 0; - for (Object obj : bag) { - totalVolume += ((Cell) obj).getVolume(); - } - return totalVolume; + double totalVolume = 0; + for (Object obj : bag) { + totalVolume += ((Cell) obj).getVolume(); + } + return totalVolume; } /** - * Find free locations in the patch neighborhood. + * Selects a random location for a cell to be added or move into. * * @param sim the simulation instance - * @param currentLocation the current location - * @param targetVolume the target volume of the cell to add or move - * @param targetHeight the target height of the cell to add or move - * @return a list of free locations + * @param random the random number generator + * @return the best location or null if no valid locations */ - static Bag findFreeLocations( - Simulation sim, - PatchLocation currentLocation, - double targetVolume, - double targetHeight) { - Bag freeLocations = new Bag(); - int locationMax = currentLocation.getMaximum(); - double locationVolume = currentLocation.getVolume(); - double locationArea = currentLocation.getArea(); - PatchGrid grid = (PatchGrid) sim.getGrid(); - - // Iterate through each neighbor location and check if cell is able - // to move into it based on if it does not increase volume above hex - // volume and that each agent exists at tolerable height. - locationCheck: - for (Location neighborLocation : currentLocation.getNeighbors()) { - Bag bag = new Bag(grid.getObjectsAtLocation(neighborLocation)); - int n = bag.numObjs; // number of agents in location - - if (n == 0) { - freeLocations.add(neighborLocation); // no other cells in new location - } else if (n == locationMax) { - continue; // location already full - } else { - double totalVolume = calculateTotalVolume(bag) + targetVolume; - double currentHeight = totalVolume / locationArea; - - // Check if total volume of cells with addition does not exceed - // volume of the hexagonal location. - if (totalVolume > locationVolume) { - continue; - } - - // Check if proposed cell can exist at a tolerable height. - if (currentHeight > targetHeight) { - continue; - } - - // Check if neighbor cells can exist at a tolerable height. - for (Object obj : bag) { - if (currentHeight > ((Cell) obj).getCriticalHeight()) { - continue locationCheck; - } - } + public PatchLocation selectBestLocation(Simulation sim, MersenneTwisterFast random) { + Bag locs = findFreeLocations(sim); + locs.shuffle(random); + return (locs.size() > 0 ? (PatchLocation) locs.get(0) : null); + } - // TODO: ADD CHECK FOR MORE THAN ONE HEALTHY CELL AGENT. + /** + * Find free locations in the neighborhood of the cell. + * + * @param sim the simulation instance + * @return a list of free locations + */ + public Bag findFreeLocations(Simulation sim) { + Bag freeLocations = new Bag(); + PatchLocation currentLocation = this.location; + double targetVolume = (state == State.PROLIFERATIVE) ? volume * 0.5 : volume; + int densityAdjustment = (state == State.PROLIFERATIVE) ? 1 : 0; + + if (checkLocation( + sim, currentLocation, 0, criticalHeight, pop, maxDensity - densityAdjustment)) { + freeLocations.add(currentLocation); + } - // Add location to list of free locations. - freeLocations.add(neighborLocation); + for (Location neighborLocation : currentLocation.getNeighbors()) { + PatchLocation neighbor = (PatchLocation) neighborLocation; + if (checkLocation(sim, neighbor, targetVolume, criticalHeight, pop, maxDensity)) { + freeLocations.add(neighborLocation); } - } - - // TODO: ADD CURRENT LOCATION - - return freeLocations; + } + return freeLocations; } /** - * Selects the best location for a cell to be added or move into. + * Determine if a patch location is free. * - * <p>Each free location is scored based on glucose availability and distance from the center of - * the simulation. + * <p>A location is free if the proposed cell volume can fit in the location without exceeding + * the max volume of a location, exceeding constituents' critical heights, and exceeding the + * population density is below the maximum. * * @param sim the simulation instance - * @param location the current location - * @param volume the target volume of cell to add or move - * @param height the target height of the cell to add or move - * @param random the random number generator - * @return the best location + * @param loc the location + * @param addedVolume the volume added to the location + * @param maxHeight the maximum height tolerance + * @param population the population index + * @param maxDensity the maximum density of population in the location + * @return a list of free locations */ - public static PatchLocation selectBestLocation( + static boolean checkLocation( Simulation sim, - PatchLocation location, - double volume, - double height, - MersenneTwisterFast random) { - Bag locs = findFreeLocations(sim, location, volume, height); - locs.shuffle(random); - return (locs.size() > 0 ? (PatchLocation) locs.get(0) : null); + PatchLocation loc, + double addedVolume, + double maxHeight, + int population, + int maxDensity) { + double locationVolume = loc.getVolume(); + double locationArea = loc.getArea(); + PatchGrid grid = (PatchGrid) sim.getGrid(); + + Bag bag = new Bag(grid.getObjectsAtLocation(loc)); + + if (bag.numObjs != 0) { + double proposedVolume = calculateTotalVolume(bag) + addedVolume; + double proposedHeight = proposedVolume / locationArea; + + if (proposedVolume > locationVolume || proposedHeight > maxHeight) { + return false; + } + + int count = 0; + for (Object obj : bag) { + PatchCell cell = (PatchCell) obj; + if (proposedHeight > cell.getCriticalHeight()) { + return false; + } + if (cell.getPop() == population) { + count++; + if (count >= maxDensity) { + return false; + } + } + } + } + return true; } } \ No newline at end of file diff --git a/coverage/arcade.patch.agent.cell/PatchCellCancer.html b/coverage/arcade.patch.agent.cell/PatchCellCancer.html index 2518ab3d..2001914b 100644 --- a/coverage/arcade.patch.agent.cell/PatchCellCancer.html +++ b/coverage/arcade.patch.agent.cell/PatchCellCancer.html @@ -1 +1 @@ -PatchCellCancer

PatchCellCancer

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total48 of 8040%3 of 650%4861525
make(int, CellState, MersenneTwisterFast)380%20%223311
PatchCellCancer(PatchCellContainer, Location, Parameters)70%n/a112211
checkNeighborhood(SimState, PatchCell)31482%1150%121401
step(SimState)11100%2100%020401
PatchCellCancer(PatchCellContainer, Location, Parameters, GrabBag)7100%n/a010201
\ No newline at end of file +PatchCellCancer

PatchCellCancer

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total45 of 7640%3 of 650%4851525
make(int, CellState, MersenneTwisterFast)380%20%223311
PatchCellCancer(PatchCellContainer, Location, Parameters)70%n/a112211
step(SimState)12100%2100%020401
checkNeighborhood(SimState, PatchCell)12100%1150%120401
PatchCellCancer(PatchCellContainer, Location, Parameters, GrabBag)7100%n/a010201
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.cell/PatchCellCancer.java.html b/coverage/arcade.patch.agent.cell/PatchCellCancer.java.html index 28cf5b0d..9d684ad2 100644 --- a/coverage/arcade.patch.agent.cell/PatchCellCancer.java.html +++ b/coverage/arcade.patch.agent.cell/PatchCellCancer.java.html @@ -77,15 +77,15 @@ /** * Checks neighborhood for free locations. * - * <p>If there is at least one free location, cell state becomes undefined. + * <p>If there is at least one free location for proliferation, cell state becomes undefined. * * @param simstate the MASON simulation state * @param cell the reference cell */ - private static void checkNeighborhood(SimState simstate, PatchCell cell) { + private void checkNeighborhood(SimState simstate, PatchCell cell) { Simulation sim = (Simulation) simstate; - if (PatchCell.findFreeLocations(sim, cell.location, cell.volume, cell.height).size() > 0) { - cell.setState(State.UNDEFINED); + if (findFreeLocations(sim).size() > 0) { + cell.setState(State.UNDEFINED); } } } diff --git a/coverage/arcade.patch.agent.cell/index.html b/coverage/arcade.patch.agent.cell/index.html index 73e2ad11..f94187ca 100644 --- a/coverage/arcade.patch.agent.cell/index.html +++ b/coverage/arcade.patch.agent.cell/index.html @@ -1 +1 @@ -arcade.patch.agent.cell

arcade.patch.agent.cell

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total721 of 1,35646%72 of 10531%72113135282305807
PatchCell28725346%381528%415869131193001
PatchCellFactory22919545%21930%152442833901
PatchCellContainer693332%40%6710223401
PatchCellCancer483240%3350%486152501
PatchCellTissue45713%20%34572301
PatchCellCancerStem431728%40%35381301
PatchCellRandom98100%6100%070160401
\ No newline at end of file +arcade.patch.agent.cell

arcade.patch.agent.cell

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total614 of 1,41856%54 of 11753%60120106291275907
PatchCellFactory22919545%21930%152442833901
PatchCell18342369%204569%296541140163101
PatchCellContainer693332%40%6710223401
PatchCellCancer453140%3350%485152501
PatchCellTissue45713%20%34572301
PatchCellCancerStem431728%40%35381301
PatchCellRandom98100%6100%070160401
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.cell/index.source.html b/coverage/arcade.patch.agent.cell/index.source.html index 4b902f97..8f91f461 100644 --- a/coverage/arcade.patch.agent.cell/index.source.html +++ b/coverage/arcade.patch.agent.cell/index.source.html @@ -1 +1 @@ -arcade.patch.agent.cell

arcade.patch.agent.cell

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total721 of 1,35646%72 of 10531%72113135282305807
PatchCell.java28725346%381528%415869131193001
PatchCellFactory.java22919545%21930%152442833901
PatchCellContainer.java693332%40%6710223401
PatchCellCancer.java483240%3350%486152501
PatchCellTissue.java45713%20%34572301
PatchCellCancerStem.java431728%40%35381301
PatchCellRandom.java98100%6100%070160401
\ No newline at end of file +arcade.patch.agent.cell

arcade.patch.agent.cell

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total614 of 1,41856%54 of 11753%60120106291275907
PatchCellFactory.java22919545%21930%152442833901
PatchCell.java18342369%204569%296541140163101
PatchCellContainer.java693332%40%6710223401
PatchCellCancer.java453140%3350%485152501
PatchCellTissue.java45713%20%34572301
PatchCellCancerStem.java431728%40%35381301
PatchCellRandom.java98100%6100%070160401
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/PatchModuleApoptosis.html b/coverage/arcade.patch.agent.module/PatchModuleApoptosis.html index f19f277a..cd3f7560 100644 --- a/coverage/arcade.patch.agent.module/PatchModuleApoptosis.html +++ b/coverage/arcade.patch.agent.module/PatchModuleApoptosis.html @@ -1 +1 @@ -PatchModuleApoptosis

PatchModuleApoptosis

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total57 of 7018%6 of 60%45141812
step(MersenneTwisterFast, Simulation)570%60%44141411
PatchModuleApoptosis(PatchCell)13100%n/a010401
\ No newline at end of file +PatchModuleApoptosis

PatchModuleApoptosis

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total64 of 7716%6 of 60%45162012
step(MersenneTwisterFast, Simulation)640%60%44161611
PatchModuleApoptosis(PatchCell)13100%n/a010401
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/PatchModuleApoptosis.java.html b/coverage/arcade.patch.agent.module/PatchModuleApoptosis.java.html index 929b812a..ad57a0a4 100644 --- a/coverage/arcade.patch.agent.module/PatchModuleApoptosis.java.html +++ b/coverage/arcade.patch.agent.module/PatchModuleApoptosis.java.html @@ -1,8 +1,10 @@ PatchModuleApoptosis.java

PatchModuleApoptosis.java

package arcade.patch.agent.module;
 
+import java.util.ArrayList;
 import sim.util.Bag;
 import ec.util.MersenneTwisterFast;
 import arcade.core.agent.cell.Cell;
+import arcade.core.env.location.Location;
 import arcade.core.sim.Simulation;
 import arcade.core.util.Parameters;
 import arcade.patch.agent.cell.PatchCell;
@@ -35,33 +37,36 @@
      * @param cell the {@link PatchCell} the module is associated with
      */
     public PatchModuleApoptosis(PatchCell cell) {
-        super(cell);
+        super(cell);
 
         // Set loaded parameters.
-        Parameters parameters = cell.getParameters();
-        deathDuration = parameters.getInt("apoptosis/DEATH_DURATION");
-    }
+        Parameters parameters = cell.getParameters();
+        deathDuration = parameters.getInt("apoptosis/DEATH_DURATION");
+    }
 
     @Override
     public void step(MersenneTwisterFast random, Simulation sim) {
-        if (ticker > deathDuration) {
+        if (ticker > deathDuration) {
             // Induce one neighboring quiescent cell to proliferate.
-            Bag bag = ((PatchGrid) sim.getGrid()).getObjectsAtLocations(location.getNeighbors());
-            bag.shuffle(random);
-            for (Object obj : bag) {
-                Cell neighbor = (Cell) obj;
-                if (neighbor.getState() == State.QUIESCENT) {
-                    neighbor.setState(State.PROLIFERATIVE);
-                    break;
+            ArrayList<Location> neighborhood = location.getNeighbors();
+            neighborhood.add(location);
+            Bag bag = ((PatchGrid) sim.getGrid()).getObjectsAtLocations(neighborhood);
+
+            bag.shuffle(random);
+            for (Object obj : bag) {
+                Cell neighbor = (Cell) obj;
+                if (neighbor.getState() == State.QUIESCENT) {
+                    neighbor.setState(State.PROLIFERATIVE);
+                    break;
                 }
-            }
+            }
 
             // Remove current cell from simulation and schedule.
-            sim.getGrid().removeObject(cell, location);
-            cell.stop();
-        } else {
-            ticker++;
+            sim.getGrid().removeObject(cell, location);
+            cell.stop();
+        } else {
+            ticker++;
         }
-    }
+    }
 }
 
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/PatchModuleMigration.html b/coverage/arcade.patch.agent.module/PatchModuleMigration.html index b1c70186..b6ceb89e 100644 --- a/coverage/arcade.patch.agent.module/PatchModuleMigration.html +++ b/coverage/arcade.patch.agent.module/PatchModuleMigration.html @@ -1 +1 @@ -PatchModuleMigration

PatchModuleMigration

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total51 of 7330%6 of 60%45121712
step(MersenneTwisterFast, Simulation)510%60%44121211
PatchModuleMigration(PatchCell)22100%n/a010501
\ No newline at end of file +PatchModuleMigration

PatchModuleMigration

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total45 of 6732%6 of 60%45101512
step(MersenneTwisterFast, Simulation)450%60%44101011
PatchModuleMigration(PatchCell)22100%n/a010501
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/PatchModuleMigration.java.html b/coverage/arcade.patch.agent.module/PatchModuleMigration.java.html index d460039f..bc8e0fd3 100644 --- a/coverage/arcade.patch.agent.module/PatchModuleMigration.java.html +++ b/coverage/arcade.patch.agent.module/PatchModuleMigration.java.html @@ -47,23 +47,21 @@ @Override public void step(MersenneTwisterFast random, Simulation sim) { if (ticker > movementDuration) { - PatchLocation newLocation = - PatchCell.selectBestLocation( - sim, location, cell.getVolume(), cell.getCriticalHeight(), random); + PatchLocation newLocation = cell.selectBestLocation(sim, random); - if (newLocation == null) { - cell.setState(State.QUIESCENT); + if (newLocation == null) { + cell.setState(State.QUIESCENT); } else { - if (!location.equals(newLocation)) { - sim.getGrid().moveObject(cell, location, newLocation); + if (!location.equals(newLocation)) { + sim.getGrid().moveObject(cell, location, newLocation); // TODO: Update environment generator sites. } - cell.setState(State.UNDEFINED); + cell.setState(State.UNDEFINED); } - } else { - ticker++; + } else { + ticker++; } - } + } } \ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/PatchModuleProliferation.html b/coverage/arcade.patch.agent.module/PatchModuleProliferation.html index e2b02a02..640d30f0 100644 --- a/coverage/arcade.patch.agent.module/PatchModuleProliferation.html +++ b/coverage/arcade.patch.agent.module/PatchModuleProliferation.html @@ -1 +1 @@ -PatchModuleProliferation

PatchModuleProliferation

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total176 of 20212%8 of 80%56374412
step(MersenneTwisterFast, Simulation)1760%80%55373711
PatchModuleProliferation(PatchCell)26100%n/a010701
\ No newline at end of file +PatchModuleProliferation

PatchModuleProliferation

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total169 of 19513%8 of 80%56354212
step(MersenneTwisterFast, Simulation)1690%80%55353511
PatchModuleProliferation(PatchCell)26100%n/a010701
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/PatchModuleProliferation.java.html b/coverage/arcade.patch.agent.module/PatchModuleProliferation.java.html index ff604788..2fe0ebe6 100644 --- a/coverage/arcade.patch.agent.module/PatchModuleProliferation.java.html +++ b/coverage/arcade.patch.agent.module/PatchModuleProliferation.java.html @@ -73,53 +73,51 @@ if (currentHeight > maxHeight) { cell.setState(State.QUIESCENT); } else { - PatchLocation newLocation = - PatchCell.selectBestLocation( - sim, location, cell.getVolume() * 0.5, maxHeight, random); + PatchLocation newLocation = cell.selectBestLocation(sim, random); - if (newLocation == null) { - cell.setState(State.QUIESCENT); - } else if (cell.getVolume() >= targetVolume) { - if (ticker > synthesisDuration) { + if (newLocation == null) { + cell.setState(State.QUIESCENT); + } else if (cell.getVolume() >= targetVolume) { + if (ticker > synthesisDuration) { - cell.addCycle(duration); + cell.addCycle(duration); // Reset current cell. - cell.setState(State.UNDEFINED); + cell.setState(State.UNDEFINED); // Create and schedule new cell. - int newID = sim.getID(); - CellContainer newContainer = cell.make(newID, State.UNDEFINED, random); - PatchCell newCell = + int newID = sim.getID(); + CellContainer newContainer = cell.make(newID, State.UNDEFINED, random); + PatchCell newCell = (PatchCell) - newContainer.convert( - sim.getCellFactory(), + newContainer.convert( + sim.getCellFactory(), newLocation, random, - cell.getParameters()); - sim.getGrid().addObject(newCell, newLocation); - newCell.schedule(sim.getSchedule()); + cell.getParameters()); + sim.getGrid().addObject(newCell, newLocation); + newCell.schedule(sim.getSchedule()); // Update cell volume and energy based on split. - double split = (random.nextDouble() / 10 + 0.45); - double volume = cell.getVolume(); - double energy = cell.getEnergy(); - cell.setVolume(volume * split); - cell.setEnergy(energy * split); - newCell.setVolume(volume * (1 - split)); - newCell.setEnergy(energy * (1 - split)); + double split = (random.nextDouble() / 10 + 0.45); + double volume = cell.getVolume(); + double energy = cell.getEnergy(); + cell.setVolume(volume * split); + cell.setEnergy(energy * split); + newCell.setVolume(volume * (1 - split)); + newCell.setEnergy(energy * (1 - split)); // Update processes. - PatchProcess metabolism = (PatchProcess) newCell.getProcess(Domain.METABOLISM); - metabolism.update(cell.getProcess(Domain.METABOLISM)); - PatchProcess signaling = (PatchProcess) newCell.getProcess(Domain.SIGNALING); - signaling.update(cell.getProcess(Domain.SIGNALING)); + PatchProcess metabolism = (PatchProcess) newCell.getProcess(Domain.METABOLISM); + metabolism.update(cell.getProcess(Domain.METABOLISM)); + PatchProcess signaling = (PatchProcess) newCell.getProcess(Domain.SIGNALING); + signaling.update(cell.getProcess(Domain.SIGNALING)); // TODO: Update environment generator sites. - } else { - ticker++; + } else { + ticker++; } } } - } + } } \ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/index.html b/coverage/arcade.patch.agent.module/index.html index 4abeba49..4cec445a 100644 --- a/coverage/arcade.patch.agent.module/index.html +++ b/coverage/arcade.patch.agent.module/index.html @@ -1 +1 @@ -arcade.patch.agent.module

arcade.patch.agent.module

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total284 of 35620%20 of 200%131763833704
PatchModuleProliferation1762612%80%5637441201
PatchModuleApoptosis571318%60%4514181201
PatchModuleMigration512230%60%4512171201
PatchModule11100%n/a01040101
\ No newline at end of file +arcade.patch.agent.module

arcade.patch.agent.module

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total278 of 35020%20 of 200%131761813704
PatchModuleProliferation1692613%80%5635421201
PatchModuleApoptosis641316%60%4516201201
PatchModuleMigration452232%60%4510151201
PatchModule11100%n/a01040101
\ No newline at end of file diff --git a/coverage/arcade.patch.agent.module/index.source.html b/coverage/arcade.patch.agent.module/index.source.html index 4d96d9a0..b16e9fd9 100644 --- a/coverage/arcade.patch.agent.module/index.source.html +++ b/coverage/arcade.patch.agent.module/index.source.html @@ -1 +1 @@ -arcade.patch.agent.module

arcade.patch.agent.module

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total284 of 35620%20 of 200%131763833704
PatchModuleProliferation.java1762612%80%5637441201
PatchModuleApoptosis.java571318%60%4514181201
PatchModuleMigration.java512230%60%4512171201
PatchModule.java11100%n/a01040101
\ No newline at end of file +arcade.patch.agent.module

arcade.patch.agent.module

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total278 of 35020%20 of 200%131761813704
PatchModuleProliferation.java1692613%80%5635421201
PatchModuleApoptosis.java641316%60%4516201201
PatchModuleMigration.java452232%60%4510151201
PatchModule.java11100%n/a01040101
\ No newline at end of file diff --git a/coverage/arcade.patch.env.lattice/PatchLattice.java.html b/coverage/arcade.patch.env.lattice/PatchLattice.java.html index 87684ea0..51eace4f 100644 --- a/coverage/arcade.patch.env.lattice/PatchLattice.java.html +++ b/coverage/arcade.patch.env.lattice/PatchLattice.java.html @@ -166,7 +166,7 @@ .map(e -> (CoordinateXYZ) e) .mapToDouble(c -> field[c.z][c.x][c.y]) .sum() - / patchLocation.getMaximum(); + / patchLocation.getNumSubcoordinates(); } @Override diff --git a/coverage/arcade.patch.env.location/CoordinateUVWZ.html b/coverage/arcade.patch.env.location/CoordinateUVWZ.html index 4c56ad64..ddf18c7f 100644 --- a/coverage/arcade.patch.env.location/CoordinateUVWZ.html +++ b/coverage/arcade.patch.env.location/CoordinateUVWZ.html @@ -1 +1 @@ -CoordinateUVWZ

CoordinateUVWZ

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total74 of 10227%10 of 100%81061235
equals(Object)320%100%664411
toString()290%n/a111111
hashCode()130%n/a111111
calculateDistance()15100%n/a010101
CoordinateUVWZ(int, int, int, int)13100%n/a010501
\ No newline at end of file +CoordinateUVWZ

CoordinateUVWZ

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total44 of 10256%2 of 1080%41031225
toString()290%n/a111111
hashCode()130%n/a111111
equals(Object)23093%2880%261401
calculateDistance()15100%n/a010101
CoordinateUVWZ(int, int, int, int)13100%n/a010501
\ No newline at end of file diff --git a/coverage/arcade.patch.env.location/CoordinateUVWZ.java.html b/coverage/arcade.patch.env.location/CoordinateUVWZ.java.html index 2ea67e17..cecd23ab 100644 --- a/coverage/arcade.patch.env.location/CoordinateUVWZ.java.html +++ b/coverage/arcade.patch.env.location/CoordinateUVWZ.java.html @@ -48,11 +48,11 @@ @Override public boolean equals(Object obj) { - if (!(obj instanceof CoordinateUVWZ)) { + if (!(obj instanceof CoordinateUVWZ)) { return false; } - CoordinateUVWZ coordinate = (CoordinateUVWZ) obj; - return coordinate.u == u && coordinate.v == v && coordinate.w == w && coordinate.z == z; + CoordinateUVWZ coordinate = (CoordinateUVWZ) obj; + return coordinate.u == u && coordinate.v == v && coordinate.w == w && coordinate.z == z; } /** diff --git a/coverage/arcade.patch.env.location/CoordinateXYZ.html b/coverage/arcade.patch.env.location/CoordinateXYZ.html index 4cfb7c8a..4ddcbab4 100644 --- a/coverage/arcade.patch.env.location/CoordinateXYZ.html +++ b/coverage/arcade.patch.env.location/CoordinateXYZ.html @@ -1 +1 @@ -CoordinateXYZ

CoordinateXYZ

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total77 of 8711%8 of 80%8971145
equals(Object)270%80%554411
toString()230%n/a111111
calculateDistance()140%n/a111111
hashCode()130%n/a111111
CoordinateXYZ(int, int, int)10100%n/a010401
\ No newline at end of file +CoordinateXYZ

CoordinateXYZ

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total52 of 8740%1 of 887%4941135
toString()230%n/a111111
calculateDistance()140%n/a111111
hashCode()130%n/a111111
equals(Object)22592%1787%151401
CoordinateXYZ(int, int, int)10100%n/a010401
\ No newline at end of file diff --git a/coverage/arcade.patch.env.location/CoordinateXYZ.java.html b/coverage/arcade.patch.env.location/CoordinateXYZ.java.html index 51886726..5bbc1531 100644 --- a/coverage/arcade.patch.env.location/CoordinateXYZ.java.html +++ b/coverage/arcade.patch.env.location/CoordinateXYZ.java.html @@ -43,11 +43,11 @@ @Override public boolean equals(Object obj) { - if (!(obj instanceof CoordinateXYZ)) { + if (!(obj instanceof CoordinateXYZ)) { return false; } - CoordinateXYZ coordinate = (CoordinateXYZ) obj; - return coordinate.x == x && coordinate.y == y && coordinate.z == z; + CoordinateXYZ coordinate = (CoordinateXYZ) obj; + return coordinate.x == x && coordinate.y == y && coordinate.z == z; } /** diff --git a/coverage/arcade.patch.env.location/PatchLocation.html b/coverage/arcade.patch.env.location/PatchLocation.html index 4b4552b0..06c3770f 100644 --- a/coverage/arcade.patch.env.location/PatchLocation.html +++ b/coverage/arcade.patch.env.location/PatchLocation.html @@ -1 +1 @@ -PatchLocation

PatchLocation

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total72 of 9020%0 of 0n/a78142178
offsetByte(byte, int)310%n/a114411
update(PatchLocation)200%n/a115511
getSubcoordinate()60%n/a111111
equals(Object)50%n/a111111
hashCode()40%n/a111111
getCoordinate()30%n/a111111
getSubcoordinates()30%n/a111111
PatchLocation(Coordinate, int)18100%n/a010701
\ No newline at end of file +PatchLocation

PatchLocation

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total35 of 9763%1 of 250%5992348
update(PatchLocation)200%n/a115511
getSubcoordinate()60%n/a111111
hashCode()40%n/a111111
getSubcoordinates()30%n/a111111
equals(Object)21083%1150%121301
offsetByte(byte, int)31100%n/a010401
PatchLocation(Coordinate, int)18100%n/a010701
getCoordinate()3100%n/a010101
\ No newline at end of file diff --git a/coverage/arcade.patch.env.location/PatchLocation.java.html b/coverage/arcade.patch.env.location/PatchLocation.java.html index 22c1fdb0..6262e7ab 100644 --- a/coverage/arcade.patch.env.location/PatchLocation.java.html +++ b/coverage/arcade.patch.env.location/PatchLocation.java.html @@ -83,7 +83,7 @@ * @return the coordinate */ public Coordinate getCoordinate() { - return coordinate; + return coordinate; } /** @@ -129,11 +129,11 @@ public abstract double getRatio(); /** - * Gets the maximum occupancy of a location. + * Gets the number of subcoordinates in a location. * - * @return the maximum occupancy + * @return the number of subcoordinates */ - public abstract int getMaximum(); + public abstract int getNumSubcoordinates(); /** * Gets the {@link arcade.core.env.grid.Grid} offset relative to the {@link @@ -175,7 +175,10 @@ * @return {@code true} if coordinates are equal, {@code false} otherwise */ public boolean equals(Object obj) { - return coordinate.equals(obj); + if (obj instanceof PatchLocation) { + return coordinate.equals(((PatchLocation) obj).getCoordinate()); + } + return false; } /** @@ -201,10 +204,10 @@ * @return the offset byte */ byte offsetByte(byte b, int k) { - int left = b >> 2 & 0x3F; // left most 6 bits - int right = b & 0x3; // right most 2 bits - int shifted = (left << k & 0x3F) | (left >>> (6 - k) & 0x3F); - return (byte) (shifted << 2 | right); + int left = b >> 2 & 0x3F; // left most 6 bits + int right = b & 0x3; // right most 2 bits + int shifted = (left << k & 0x3F) | (left >>> (6 - k) & 0x3F); + return (byte) (shifted << 2 | right); } } \ No newline at end of file diff --git a/coverage/arcade.patch.env.location/PatchLocationHex.html b/coverage/arcade.patch.env.location/PatchLocationHex.html index c5adf908..0655c85c 100644 --- a/coverage/arcade.patch.env.location/PatchLocationHex.html +++ b/coverage/arcade.patch.env.location/PatchLocationHex.html @@ -1 +1 @@ -PatchLocationHex

PatchLocationHex

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total254 of 62259%24 of 3836%24382781819
getNeighbors()1160%60%44101011
translate(CoordinateXYZ)860%80%55101011
getPerimeter(double)140%20%221111
calculateChecks()127586%61062%6901101
PatchLocationHex(int, int, int, int)100%n/a112211
convert(int)70%n/a111111
calculateSubcoordinates()37195%2466%240701
getSurface()20%n/a111111
getCoordinateSize()20%n/a111111
getRatio()20%n/a111111
static {...}174100%n/a0102101
updateConfigs(PatchSeries)21100%n/a010601
calculateOffset()12100%n/a010201
PatchLocationHex(CoordinateUVWZ)5100%n/a010201
getVolume()2100%n/a010101
getHeight()2100%n/a010101
getArea()2100%n/a010101
getSubcoordinateSize()2100%n/a010101
getMaximum()2100%n/a010101
\ No newline at end of file +PatchLocationHex

PatchLocationHex

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total121 of 62180%14 of 4266%15401582619
translate(CoordinateXYZ)860%80%55101011
getPerimeter(double)140%20%221111
calculateChecks()88591%41680%41101301
convert(int)70%n/a111111
getSurface()20%n/a111111
getCoordinateSize()20%n/a111111
getRatio()20%n/a111111
static {...}174100%n/a0102101
getNeighbors()109100%6100%040901
calculateSubcoordinates()74100%6100%040701
updateConfigs(PatchSeries)21100%n/a010601
calculateOffset()12100%n/a010201
PatchLocationHex(int, int, int, int)10100%n/a010201
PatchLocationHex(CoordinateUVWZ)5100%n/a010201
getVolume()2100%n/a010101
getHeight()2100%n/a010101
getArea()2100%n/a010101
getSubcoordinateSize()2100%n/a010101
getNumSubcoordinates()2100%n/a010101
\ No newline at end of file diff --git a/coverage/arcade.patch.env.location/PatchLocationHex.java.html b/coverage/arcade.patch.env.location/PatchLocationHex.java.html index b0dc3602..d74f6497 100644 --- a/coverage/arcade.patch.env.location/PatchLocationHex.java.html +++ b/coverage/arcade.patch.env.location/PatchLocationHex.java.html @@ -95,8 +95,8 @@ * @param z the coordinate in z direction */ public PatchLocationHex(int u, int v, int w, int z) { - this(new CoordinateUVWZ(u, v, w, z)); - } + this(new CoordinateUVWZ(u, v, w, z)); + } /** * Creates a {@code PatchLocationHex} object at given coordinate. @@ -143,7 +143,7 @@ } @Override - public int getMaximum() { + public int getNumSubcoordinates() { return NUM_SUBCOORDINATES; } @@ -174,8 +174,8 @@ CoordinateUVWZ hex = (CoordinateUVWZ) coordinate; // Calculate coordinate of top center triangle. - int x = 3 * (hex.u + radiusBounds) - 2 + (offset == 2 ? -1 : offset); - int y = (hex.w - hex.v) + 2 * radiusBounds - 2 + (offset == 0 ? 0 : 1); + int x = 3 * (hex.u + radiusBounds) - 2 + (offset == 2 ? -1 : offset); + int y = (hex.w - hex.v) + 2 * radiusBounds - 2 + (offset == 0 ? 0 : 1); int z = depthBounds + hex.z - 1; // Set coordinates of triangles clockwise from top center. @@ -194,16 +194,18 @@ void calculateChecks() { CoordinateUVWZ hex = (CoordinateUVWZ) coordinate; check = - (byte) - ((hex.u == radius - 1 ? 0 : 1 << 7) - + (hex.u == 1 - radius ? 0 : 1 << 6) - + (hex.v == radius - 1 ? 0 : 1 << 5) - + (hex.v == 1 - radius ? 0 : 1 << 4) - + (hex.w == radius - 1 ? 0 : 1 << 3) - + (hex.w == 1 - radius ? 0 : 1 << 2) - + (hex.z == depth - 1 ? 0 : 1 << 1) - + (hex.z == 1 - depth ? 0 : 1 << 0)); - } + radius == 0 || depth == 0 + ? 0 + : (byte) + ((hex.u == radius - 1 ? 0 : 1 << 7) + + (hex.u == 1 - radius ? 0 : 1 << 6) + + (hex.v == radius - 1 ? 0 : 1 << 5) + + (hex.v == 1 - radius ? 0 : 1 << 4) + + (hex.w == radius - 1 ? 0 : 1 << 3) + + (hex.w == 1 - radius ? 0 : 1 << 2) + + (hex.z == depth - 1 ? 0 : 1 << 1) + + (hex.z == 1 - depth ? 0 : 1 << 0)); + } /** * {@inheritDoc} @@ -214,33 +216,33 @@ */ @Override public double getPerimeter(double f) { - return f * HEX_PERIMETER + (f == 1 ? 0 : 2 * HEX_SIDE); + return f * HEX_PERIMETER + (f == 1 ? 0 : 2 * HEX_SIDE); } /** * {@inheritDoc} * * <p>We check if a neighbor location is valid by comparing the movement checks byte with the - * neighbor location byte. Neighbor list includes the current location. + * neighbor location byte. */ @Override public ArrayList<Location> getNeighbors() { - CoordinateUVWZ hex = (CoordinateUVWZ) coordinate; - ArrayList<Location> neighbors = new ArrayList<>(MOVES.length + 1); + CoordinateUVWZ hex = (CoordinateUVWZ) coordinate; + ArrayList<Location> neighbors = new ArrayList<>(MOVES.length + 1); byte b; // Add neighbor locations. - for (int i = 0; i < MOVES.length; i++) { + for (int i = 0; i < MOVES.length; i++) { // Adjust byte for vertical offset. - if (i > 7) { - b = offsetByte(MOVES[i], 2 * offset); + if (i > 7) { + b = offsetByte(MOVES[i], 2 * offset); } else { - b = MOVES[i]; + b = MOVES[i]; } // Add location if possible to move there. - if ((b & check ^ b) == 0) { - neighbors.add( + if ((b & check ^ b) == 0) { + neighbors.add( new PatchLocationHex( hex.u + (b >> 7 & 1) - (b >> 6 & 1), hex.v + (b >> 5 & 1) - (b >> 4 & 1), @@ -249,15 +251,12 @@ } } - // Add current location. - neighbors.add(new PatchLocationHex(hex)); - - return neighbors; + return neighbors; } @Override public LocationContainer convert(int id) { - return new PatchLocationContainer(id, coordinate); + return new PatchLocationContainer(id, coordinate); } /** @@ -268,23 +267,23 @@ * @return the corresponding hexagonal coordinate */ public static CoordinateUVWZ translate(CoordinateXYZ coordinate) { - int z = coordinate.z - depthBounds + 1; - int zo = (byte) ((Math.abs(heightOffset + z)) % 3); + int z = coordinate.z - depthBounds + 1; + int zo = (byte) ((Math.abs(heightOffset + z)) % 3); // Calculate u coordinate. - double uu = (coordinate.x - (zo == 2 ? -1 : zo) + 2) / 3.0 - radiusBounds; - int u = Math.round(Math.round(uu)); + double uu = (coordinate.x - (zo == 2 ? -1 : zo) + 2) / 3.0 - radiusBounds; + int u = Math.round(Math.round(uu)); // Calculate v and w coordinates based on u. - int vw = coordinate.y - 2 * radiusBounds + 2 - (zo == 0 ? 0 : 1); - int v = -(int) Math.floor((vw + u) / 2.0); - int w = -(u + v); + int vw = coordinate.y - 2 * radiusBounds + 2 - (zo == 0 ? 0 : 1); + int v = -(int) Math.floor((vw + u) / 2.0); + int w = -(u + v); // Check if out of bounds. - if (Math.abs(v) >= radius || Math.abs(w) >= radius) { - return null; + if (Math.abs(v) >= radius || Math.abs(w) >= radius) { + return null; } - return new CoordinateUVWZ(u, v, w, z); + return new CoordinateUVWZ(u, v, w, z); } } \ No newline at end of file diff --git a/coverage/arcade.patch.env.location/PatchLocationRect.html b/coverage/arcade.patch.env.location/PatchLocationRect.html index 88f6a737..8dbf281c 100644 --- a/coverage/arcade.patch.env.location/PatchLocationRect.html +++ b/coverage/arcade.patch.env.location/PatchLocationRect.html @@ -1 +1 @@ -PatchLocationRect

PatchLocationRect

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total502 of 5020%26 of 260%323272721919
static {...}1260%n/a11151511
getNeighbors()1000%60%44101011
calculateChecks()670%120%779911
translate(CoordinateXYZ)660%40%339911
calculateSubcoordinates()610%20%227711
updateConfigs(PatchSeries)210%n/a116611
calculateOffset()120%n/a112211
getPerimeter(double)120%20%221111
PatchLocationRect(int, int, int)90%n/a112211
convert(int)70%n/a111111
PatchLocationRect(CoordinateXYZ)50%n/a112211
getVolume()20%n/a111111
getSurface()20%n/a111111
getHeight()20%n/a111111
getArea()20%n/a111111
getCoordinateSize()20%n/a111111
getSubcoordinateSize()20%n/a111111
getRatio()20%n/a111111
getMaximum()20%n/a111111
\ No newline at end of file +PatchLocationRect

PatchLocationRect

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total128 of 50174%9 of 3070%183425731219
translate(CoordinateXYZ)660%40%339911
updateConfigs(PatchSeries)210%n/a116611
getPerimeter(double)120%20%221111
convert(int)70%n/a111111
calculateChecks()66791%31381%3901101
getVolume()20%n/a111111
getSurface()20%n/a111111
getHeight()20%n/a111111
getArea()20%n/a111111
getCoordinateSize()20%n/a111111
getSubcoordinateSize()20%n/a111111
getRatio()20%n/a111111
getNumSubcoordinates()20%n/a111111
static {...}126100%n/a0101501
getNeighbors()93100%6100%040901
calculateSubcoordinates()61100%2100%020701
calculateOffset()12100%n/a010201
PatchLocationRect(int, int, int)9100%n/a010201
PatchLocationRect(CoordinateXYZ)5100%n/a010201
\ No newline at end of file diff --git a/coverage/arcade.patch.env.location/PatchLocationRect.java.html b/coverage/arcade.patch.env.location/PatchLocationRect.java.html index a90e2be3..fbec9f85 100644 --- a/coverage/arcade.patch.env.location/PatchLocationRect.java.html +++ b/coverage/arcade.patch.env.location/PatchLocationRect.java.html @@ -58,26 +58,26 @@ private static final int NUM_SUBCOORDINATES = 4; /** Relative rectangular subcoordinate offsets in the x direction. */ - private static final byte[] X_OFF = new byte[] {0, 1, 0, 1}; + private static final byte[] X_OFF = new byte[] {0, 1, 0, 1}; /** Relative rectangular subcoordinate offsets in the y direction. */ - private static final byte[] Y_OFF = new byte[] {0, 0, 1, 1}; + private static final byte[] Y_OFF = new byte[] {0, 0, 1, 1}; /** List of relative rectangular neighbor locations. */ - private static final byte[] MOVES = + private static final byte[] MOVES = new byte[] { - (byte) Integer.parseInt("00001000", 2), // up - (byte) Integer.parseInt("00000100", 2), // down - (byte) Integer.parseInt("00100000", 2), // right - (byte) Integer.parseInt("00010000", 2), // left - (byte) Integer.parseInt("00000010", 2), // vert up - (byte) Integer.parseInt("00000001", 2), // vert down - (byte) Integer.parseInt("00010010", 2), // vert up clockwise 1 - (byte) Integer.parseInt("00010110", 2), // vert up clockwise 2 - (byte) Integer.parseInt("00000110", 2), // vert up clockwise 3 - (byte) Integer.parseInt("00010001", 2), // vert down clockwise 1 - (byte) Integer.parseInt("00010101", 2), // vert down clockwise 2 - (byte) Integer.parseInt("00000101", 2), // vert down clockwise 3 + (byte) Integer.parseInt("00001000", 2), // up + (byte) Integer.parseInt("00000100", 2), // down + (byte) Integer.parseInt("00100000", 2), // right + (byte) Integer.parseInt("00010000", 2), // left + (byte) Integer.parseInt("00000010", 2), // vert up + (byte) Integer.parseInt("00000001", 2), // vert down + (byte) Integer.parseInt("00010010", 2), // vert up clockwise 1 + (byte) Integer.parseInt("00010110", 2), // vert up clockwise 2 + (byte) Integer.parseInt("00000110", 2), // vert up clockwise 3 + (byte) Integer.parseInt("00010001", 2), // vert down clockwise 1 + (byte) Integer.parseInt("00010101", 2), // vert down clockwise 2 + (byte) Integer.parseInt("00000101", 2), // vert down clockwise 3 }; /** @@ -88,8 +88,8 @@ * @param z the coordinate in z direction */ public PatchLocationRect(int x, int y, int z) { - this(new CoordinateXYZ(x, y, z)); - } + this(new CoordinateXYZ(x, y, z)); + } /** * Creates a {@code PatchLocationRect} object at given coordinate. @@ -97,8 +97,8 @@ * @param coordinate the patch coordinate */ public PatchLocationRect(CoordinateXYZ coordinate) { - super(coordinate, NUM_SUBCOORDINATES); - } + super(coordinate, NUM_SUBCOORDINATES); + } @Override public double getVolume() { @@ -136,7 +136,7 @@ } @Override - public int getMaximum() { + public int getNumSubcoordinates() { return NUM_SUBCOORDINATES; } @@ -159,23 +159,23 @@ @Override void calculateOffset() { - offset = (byte) (Math.abs(heightOffset + coordinate.z) % 2); - } + offset = (byte) (Math.abs(heightOffset + coordinate.z) % 2); + } @Override void calculateSubcoordinates() { - CoordinateXYZ rect = (CoordinateXYZ) coordinate; + CoordinateXYZ rect = (CoordinateXYZ) coordinate; // Calculate coordinate of top right subrectangle. - int x = 2 * (rect.x + radiusBounds - 1) + offset; - int y = 2 * (rect.y + radiusBounds - 1) + offset; - int z = depthBounds + rect.z - 1; + int x = 2 * (rect.x + radiusBounds - 1) + offset; + int y = 2 * (rect.y + radiusBounds - 1) + offset; + int z = depthBounds + rect.z - 1; // Set coordinates of subrectangles clockwise from top left. - for (int i = 0; i < NUM_SUBCOORDINATES; i++) { - subcoordinates.add(i, new CoordinateXYZ(x + X_OFF[i], y + Y_OFF[i], z)); + for (int i = 0; i < NUM_SUBCOORDINATES; i++) { + subcoordinates.add(i, new CoordinateXYZ(x + X_OFF[i], y + Y_OFF[i], z)); } - } + } /** * {@inheritDoc} @@ -185,16 +185,18 @@ */ @Override void calculateChecks() { - CoordinateXYZ rect = (CoordinateXYZ) coordinate; - check = - (byte) - ((rect.x == radius - 1 ? 0 : 1 << 5) - + (rect.x == 1 - radius ? 0 : 1 << 4) - + (rect.y == radius - 1 ? 0 : 1 << 3) - + (rect.y == 1 - radius ? 0 : 1 << 2) - + (rect.z == depth - 1 ? 0 : 1 << 1) - + (rect.z == 1 - depth ? 0 : 1 << 0)); - } + CoordinateXYZ rect = (CoordinateXYZ) coordinate; + check = + radius == 0 || depth == 0 + ? 0 + : (byte) + ((rect.x == radius - 1 ? 0 : 1 << 5) + + (rect.x == 1 - radius ? 0 : 1 << 4) + + (rect.y == radius - 1 ? 0 : 1 << 3) + + (rect.y == 1 - radius ? 0 : 1 << 2) + + (rect.z == depth - 1 ? 0 : 1 << 1) + + (rect.z == 1 - depth ? 0 : 1 << 0)); + } /** * {@inheritDoc} @@ -205,33 +207,33 @@ */ @Override public double getPerimeter(double f) { - return f * RECT_PERIMETER + (f == 1 ? 0 : RECT_SIZE); + return f * RECT_PERIMETER + (f == 1 ? 0 : RECT_SIZE); } /** * {@inheritDoc} * * <p>We check if a neighbor location is valid by comparing the movement checks byte with the - * neighbor location byte. Neighbor list includes the current location. + * neighbor location byte. */ @Override public ArrayList<Location> getNeighbors() { - CoordinateXYZ rect = (CoordinateXYZ) coordinate; - ArrayList<Location> neighbors = new ArrayList<>(MOVES.length + 1); + CoordinateXYZ rect = (CoordinateXYZ) coordinate; + ArrayList<Location> neighbors = new ArrayList<>(MOVES.length + 1); byte b; // Add neighbor locations. - for (int i = 0; i < MOVES.length; i++) { + for (int i = 0; i < MOVES.length; i++) { // Adjust byte for vertical offset. - if (i > 5) { - b = offsetByte(MOVES[i], offset); + if (i > 5) { + b = offsetByte(MOVES[i], offset); } else { - b = MOVES[i]; + b = MOVES[i]; } // Add location if possible to move there. - if ((b & check ^ b) == 0) { - neighbors.add( + if ((b & check ^ b) == 0) { + neighbors.add( new PatchLocationRect( rect.x + (b >> 5 & 1) - (b >> 4 & 1), rect.y + (b >> 3 & 1) - (b >> 2 & 1), @@ -239,15 +241,12 @@ } } - // Add current location. - neighbors.add(new PatchLocationRect(rect)); - - return neighbors; + return neighbors; } @Override public LocationContainer convert(int id) { - return new PatchLocationContainer(id, coordinate); + return new PatchLocationContainer(id, coordinate); } /** @@ -258,20 +257,20 @@ * @return the corresponding rectangular coordinate */ public static CoordinateXYZ translate(CoordinateXYZ coordinate) { - int z = coordinate.z - depthBounds + 1; - int zo = (byte) (Math.abs(heightOffset + z) % 2); + int z = coordinate.z - depthBounds + 1; + int zo = (byte) (Math.abs(heightOffset + z) % 2); // Calculate a and b coordinates - double xx = (coordinate.x - zo) / 2.0 + 1 - radiusBounds; - int x = (int) Math.floor(xx); - double yy = (coordinate.y - zo) / 2.0 + 1 - radiusBounds; - int y = (int) Math.floor(yy); + double xx = (coordinate.x - zo) / 2.0 + 1 - radiusBounds; + int x = (int) Math.floor(xx); + double yy = (coordinate.y - zo) / 2.0 + 1 - radiusBounds; + int y = (int) Math.floor(yy); // Check if out of bounds. - if (Math.abs(x) >= radius || Math.abs(y) >= radius) { - return null; + if (Math.abs(x) >= radius || Math.abs(y) >= radius) { + return null; } - return new CoordinateXYZ(x, y, z); + return new CoordinateXYZ(x, y, z); } } \ No newline at end of file diff --git a/coverage/arcade.patch.env.location/index.html b/coverage/arcade.patch.env.location/index.html index 6010b563..8a293155 100644 --- a/coverage/arcade.patch.env.location/index.html +++ b/coverage/arcade.patch.env.location/index.html @@ -1 +1 @@ -arcade.patch.env.location

arcade.patch.env.location

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total1,084 of 1,66134%83 of 11225%931241472564668210
PatchLocationRect5020%260%32327272191911
PatchLocationHex25436859%241436%2438278181901
CoordinateXYZ771011%80%897114501
CoordinateUVWZ742827%100%8106123501
PatchLocation721820%n/a7814217801
PatchLocationFactoryRect450%60%55882211
PatchLocationFactory377767%7541%6108291401
PatchLocationContainer23928%20%34592301
PatchLocationFactoryHex61100%10100%070100201
Coordinate6100%n/a01030101
\ No newline at end of file +arcade.patch.env.location

arcade.patch.env.location

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total485 of 1,66670%42 of 12265%60129772603268110
PatchLocationRect12837374%92170%18342573121901
PatchLocationHex12150080%142866%1540158261901
CoordinateXYZ523540%1787%494113501
PatchLocationFactoryRect450%60%55882211
CoordinateUVWZ445856%2880%4103122501
PatchLocationFactory377767%7541%6108291401
PatchLocation356263%1150%599234801
PatchLocationContainer23928%20%34592301
PatchLocationFactoryHex61100%10100%070100201
Coordinate6100%n/a01030101
\ No newline at end of file diff --git a/coverage/arcade.patch.env.location/index.source.html b/coverage/arcade.patch.env.location/index.source.html index 1e8f3d0e..59749373 100644 --- a/coverage/arcade.patch.env.location/index.source.html +++ b/coverage/arcade.patch.env.location/index.source.html @@ -1 +1 @@ -arcade.patch.env.location

arcade.patch.env.location

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total1,084 of 1,66134%83 of 11225%931241472564668210
PatchLocationRect.java5020%260%32327272191911
PatchLocationHex.java25436859%241436%2438278181901
CoordinateXYZ.java771011%80%897114501
CoordinateUVWZ.java742827%100%8106123501
PatchLocation.java721820%n/a7814217801
PatchLocationFactoryRect.java450%60%55882211
PatchLocationFactory.java377767%7541%6108291401
PatchLocationContainer.java23928%20%34592301
PatchLocationFactoryHex.java61100%10100%070100201
Coordinate.java6100%n/a01030101
\ No newline at end of file +arcade.patch.env.location

arcade.patch.env.location

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total485 of 1,66670%42 of 12265%60129772603268110
PatchLocationRect.java12837374%92170%18342573121901
PatchLocationHex.java12150080%142866%1540158261901
CoordinateXYZ.java523540%1787%494113501
PatchLocationFactoryRect.java450%60%55882211
CoordinateUVWZ.java445856%2880%4103122501
PatchLocationFactory.java377767%7541%6108291401
PatchLocation.java356263%1150%599234801
PatchLocationContainer.java23928%20%34592301
PatchLocationFactoryHex.java61100%10100%070100201
Coordinate.java6100%n/a01030101
\ No newline at end of file diff --git a/coverage/arcade.patch.sim.input/PatchInputBuilder.html b/coverage/arcade.patch.sim.input/PatchInputBuilder.html index ce98d853..90818ffb 100644 --- a/coverage/arcade.patch.sim.input/PatchInputBuilder.html +++ b/coverage/arcade.patch.sim.input/PatchInputBuilder.html @@ -1 +1 @@ -PatchInputBuilder

PatchInputBuilder

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total252 of 59757%40 of 5527%28354411016
updateBox(String, String, Attributes)1400%260%1414272711
processPatch(MiniBox, Box, Box)6015371%4450%4583701
startElement(String, String, String, Attributes)325161%4342%4661701
processSizing(MiniBox, Box)206476%6650%6731701
endElement(String, String, String)74100%2100%0201001
PatchInputBuilder()3100%n/a010201
\ No newline at end of file +PatchInputBuilder

PatchInputBuilder

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total252 of 59757%40 of 5527%28354411216
updateBox(String, String, Attributes)1400%260%1414272711
processPatch(MiniBox, Box, Box)6015371%4450%4583901
startElement(String, String, String, Attributes)325161%4342%4661701
processSizing(MiniBox, Box)206476%6650%6731701
endElement(String, String, String)74100%2100%0201001
PatchInputBuilder()3100%n/a010201
\ No newline at end of file diff --git a/coverage/arcade.patch.sim.input/PatchInputBuilder.java.html b/coverage/arcade.patch.sim.input/PatchInputBuilder.java.html index 73bb4b65..8e5c8ff8 100644 --- a/coverage/arcade.patch.sim.input/PatchInputBuilder.java.html +++ b/coverage/arcade.patch.sim.input/PatchInputBuilder.java.html @@ -226,9 +226,13 @@ patch.add("GRID_VOLUME", String.valueOf(location.getVolume())); patch.add("GRID_AREA", String.valueOf(location.getArea())); - patch.add("LATTICE_VOLUME", String.valueOf(location.getVolume() / location.getMaximum())); - patch.add("LATTICE_AREA", String.valueOf(location.getArea() / location.getMaximum())); - patch.add("TOTAL_PATCHES", String.valueOf(totalPatches)); - } + patch.add( + "LATTICE_VOLUME", + String.valueOf(location.getVolume() / location.getNumSubcoordinates())); + patch.add( + "LATTICE_AREA", + String.valueOf(location.getArea() / location.getNumSubcoordinates())); + patch.add("TOTAL_PATCHES", String.valueOf(totalPatches)); + } } \ No newline at end of file diff --git a/coverage/arcade.patch.sim.input/index.html b/coverage/arcade.patch.sim.input/index.html index cd1491dd..c1d8e58b 100644 --- a/coverage/arcade.patch.sim.input/index.html +++ b/coverage/arcade.patch.sim.input/index.html @@ -1 +1 @@ -arcade.patch.sim.input

arcade.patch.sim.input

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total252 of 59757%40 of 5527%2835441101601
PatchInputBuilder25234557%401527%2835441101601
\ No newline at end of file +arcade.patch.sim.input

arcade.patch.sim.input

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total252 of 59757%40 of 5527%2835441121601
PatchInputBuilder25234557%401527%2835441121601
\ No newline at end of file diff --git a/coverage/arcade.patch.sim.input/index.source.html b/coverage/arcade.patch.sim.input/index.source.html index 28be0dc5..67c0e863 100644 --- a/coverage/arcade.patch.sim.input/index.source.html +++ b/coverage/arcade.patch.sim.input/index.source.html @@ -1 +1 @@ -arcade.patch.sim.input

arcade.patch.sim.input

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total252 of 59757%40 of 5527%2835441101601
PatchInputBuilder.java25234557%401527%2835441101601
\ No newline at end of file +arcade.patch.sim.input

arcade.patch.sim.input

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total252 of 59757%40 of 5527%2835441121601
PatchInputBuilder.java25234557%401527%2835441121601
\ No newline at end of file diff --git a/coverage/index.html b/coverage/index.html index 08bc2730..85f89fb6 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -1 +1 @@ -arcade

arcade

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total24,900 of 52,40652%2,388 of 4,63848%1,6973,6934,2179,1884201,30769228
arcade.patch.env.component15,4100%1,7590%1,1011,1012,6552,6551941944141
arcade.patch.agent.process3,4310%1360%10510548448434341111
arcade.patch.env.location1,08457734%832925%931241472564668210
arcade.patch.sim86966743%784637%73112166316174114
arcade.patch.env.operation8120%740%4848114114111155
arcade.patch.agent.cell72163546%723331%72113135282305807
arcade.patch.env.lattice4748%253%485292107343846
arcade.patch.sim.output39517630%16%1633791201027013
arcade.patch.agent.action3940%220%2323101101121233
arcade.patch.agent.module28420%200%131763833704
arcade.patch.sim.input25234557%401527%2835441101601
arcade.core.sim.input22672576%187179%15823920363504
arcade.patch.util20017045%n/a410214141026
arcade.patch.env.grid1857%180%151744496801
arcade.core39984%2674%9321411011402
arcade.core.util5,04598%1746596%20404109393163014
arcade.potts.sim4,68999%53399%7351462147407
arcade.potts.util52197%n/a11415511408
arcade.potts.agent.module65999%48100%349316032308
arcade.potts.env.location4,94899%44499%341118580182014
arcade.potts.sim.hamiltonian3,426100%292100%02410639095018
arcade.potts.agent.cell1,474100%104100%0108028805404
arcade.potts.sim.output787100%20100%0380157028013
arcade.core.sim.output710100%24100%0460164034010
arcade.core.sim660100%58100%049011302004
arcade.core.util.distributions364100%100%03907603605
arcade.potts.sim.input260100%29100%0200530401
arcade.potts.env.grid100%100%080200601
arcade.potts100%n/a05050501
arcade.patch100%n/a05050501
arcade.core.util.exceptions100%n/a01040101
\ No newline at end of file +arcade

arcade

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total24,188 of 52,46753%2,329 of 4,66050%1,6523,7054,1169,2014031,30868228
arcade.patch.env.component15,4100%1,7590%1,1011,1012,6552,6551941944141
arcade.patch.agent.process3,4310%1360%10510548448434341111
arcade.patch.sim86966743%784637%73112166316174114
arcade.patch.env.operation8120%740%4848114114111155
arcade.patch.agent.cell61480456%546353%60120106291275907
arcade.patch.env.location4851,18170%428065%60129772603268110
arcade.patch.env.lattice4748%253%485292107343846
arcade.patch.sim.output39517630%16%1633791201027013
arcade.patch.agent.action3940%220%2323101101121233
arcade.patch.agent.module27820%200%131761813704
arcade.patch.sim.input25234557%401527%2835441121601
arcade.core.sim.input22672576%187179%15823920363504
arcade.patch.util20017045%n/a410214141026
arcade.patch.env.grid1857%180%151744496801
arcade.core39984%2674%9321411011402
arcade.core.util5,04598%1746596%20404109393163014
arcade.potts.sim4,68999%53399%7351462147407
arcade.potts.util52197%n/a11415511408
arcade.potts.agent.module65999%48100%349316032308
arcade.potts.env.location4,94899%44499%341118580182014
arcade.potts.sim.hamiltonian3,426100%292100%02410639095018
arcade.potts.agent.cell1,474100%104100%0108028805404
arcade.potts.sim.output787100%20100%0380157028013
arcade.core.sim.output710100%24100%0460164034010
arcade.core.sim660100%58100%049011302004
arcade.core.util.distributions364100%100%03907603605
arcade.potts.sim.input260100%29100%0200530401
arcade.potts.env.grid100%100%080200601
arcade.potts100%n/a05050501
arcade.patch100%n/a05050501
arcade.core.util.exceptions100%n/a01040101
\ No newline at end of file