package testMPI;

import integratedtoolkit.types.annotations.Constraints;
import integratedtoolkit.types.annotations.Parameter;
import integratedtoolkit.types.annotations.parameter.Direction;
import integratedtoolkit.types.annotations.parameter.Stream;
import integratedtoolkit.types.annotations.parameter.Type;
import integratedtoolkit.types.annotations.task.MPI;


public interface MainItf {
	
	@MPI(binary = "${VEC_SUM_MPI_BINARY}", mpiRunner = "mpirun", computingNodes = "1")
	@Constraints(computingUnits = "4")
	public int taskSingleMPI(
		@Parameter(type = Type.OBJECT, direction = Direction.IN) int[] data,
		@Parameter(type = Type.FILE, direction = Direction.OUT, stream = Stream.STDOUT) String fileOut
	);
	
	@MPI(binary = "${VEC_SUM_MPI_BINARY}", mpiRunner = "mpirun", computingNodes = "2")
    @Constraints(computingUnits = "4")
    public Integer taskMultipleMPI(
        @Parameter(type = Type.OBJECT, direction = Direction.IN) int[] data,
        @Parameter(type = Type.FILE, direction = Direction.OUT, stream = Stream.STDOUT) String fileOut
    );
	
	@MPI(binary = "${VEC_SUM_MPI_BINARY}", mpiRunner = "mpirun", computingNodes = "2")
	@Constraints(computingUnits = "2")
	public Integer taskConcurrentMultipleMPI(
	    @Parameter(type = Type.OBJECT, direction = Direction.IN) int[] data,
	    @Parameter(type = Type.FILE, direction = Direction.OUT, stream = Stream.STDOUT) String fileOut
	);
	
}

@@ -510,23 +510,16 @@
 = %224%22)%0A%09
-public 
 int task
@@ -529,16 +529,16 @@
 gleMPI(%0A
+
 %09%09@Param
@@ -830,23 +830,16 @@
 4%22)%0A    
-public 
 Integer 
@@ -1168,16 +1168,9 @@
 2%22)%0A
+
 %09
-public 
 Inte

Remove public from MPI test interface