Okay, I can reproduce by adding @CompileStatic to the example I tried previously and can confirm that 2.4.13 is where the regression started. Workaround would be to remove @CompileStatic until we can get a fix in place. If you can raise a bug issue in Jira, that would be great.
Cheers, Paul. On Fri, Apr 13, 2018 at 8:20 PM, Paul King <pa...@asert.com.au> wrote: > > Not sure what happened to the formatting - here it is again: > > class QueensBase { > int N = 2 > > double doFitness(List <Integer> board) { > List <Integer> leftDiagonal = new ArrayList(2*N) > List <Integer> rightDiagonal = new ArrayList(2*N) > double sum = 0.0D > > for ( i in 1 .. 2*N) { > leftDiagonal[i] = 0 > rightDiagonal[i] = 0 > } > for ( i in 1 .. N) { > leftDiagonal[i+board[i]-1]++ > rightDiagonal[N-i+board[i]]++ > } > for ( i in 1 .. ((2*N) - 1)) { > int counter = 0 > if ( leftDiagonal[i] > 1) > counter += leftDiagonal[i] - 1 > if ( rightDiagonal[i] > 1) > counter += rightDiagonal[i] - 1 > sum += counter / (N - Math.abs(i-N)) > } > // target fitness is 0.0 > // sum can be negative so return absolute value > return Math.abs(sum) > } > } > > println new QueensBase().doFitness(1..16) > > > On Fri, Apr 13, 2018 at 8:18 PM, Paul King <pa...@asert.com.au> wrote: > >> I tried this script: >> >> class QueensBase { >> int N = 2 >> >> double doFitness(List <Integer> board) { >> List <Integer> leftDiagonal = new ArrayList(2*N) >> List <Integer> rightDiagonal = new ArrayList(2*N) >> double sum = 0.0D >> >> for ( i in 1 .. 2*N) { >> leftDiagonal[i] = 0 >> rightDiagonal[i] = 0 >> } >> for ( i in 1 .. N) { >> leftDiagonal[i+board[i]-1]++ >> rightDiagonal[N-i+board[i]]++ >> } >> for ( i in 1 .. ((2*N) - 1)) { >> int counter = 0 >> if ( leftDiagonal[i] > 1) >> counter += leftDiagonal[i] - 1 >> if ( rightDiagonal[i] > 1) >> counter += rightDiagonal[i] - 1 >> sum += counter / (N - Math.abs(i-N)) >> } >> // target fitness is 0.0 >> // sum can be negative so return absolute value >> return Math.abs(sum) >> } >> } >> >> println new QueensBase().doFitness(1..16) >> >> >> It worked for me in the Groovy Web Console, Intellij IDEA 2017.3.5 >> pointing to 2.4.15, and the GroovyConsole for 2.4.15 and 2.3.0. >> >> Perhaps we need a bigger sample to track down your issue. >> >> Cheers, Paul. >> >> >> On Fri, Apr 13, 2018 at 7:39 PM, Kerridge, Jon <j.kerri...@napier.ac.uk> >> wrote: >> >>> Daniel, >>> >>> >>> Thanks for getting back to me so quickly. >>> >>> >>> I have converted to groovy2.4.15 and the same error occurs. I >>> am running under Intellij IDE and had downloaded the sdk bundle. >>> >>> >>> Jon >>> >>> >>> >>> >>> Professor Jon Kerridge >>> School of Computing >>> Edinburgh Napier University >>> Merchiston Campus >>> Edinburgh EH10 5DT >>> >>> 0131 455 2777 >>> j.kerri...@napier.ac.uk >>> http://www.soc.napier.ac.uk/~cs10/ >>> >>> ------------------------------ >>> *From:* Daniel.Sun <sun...@apache.org> >>> *Sent:* 12 April 2018 18:22:39 >>> *To:* d...@groovy.incubator.apache.org >>> *Subject:* Re: Compiler bug >>> >>> Please try Groovy 2.4.15. >>> >>> Cheers, >>> Daniel.Sun >>> >>> >>> >>> -- >>> Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html >>> >>> This message and its attachment(s) are intended for the addressee(s) >>> only and should not be read, copied, disclosed, forwarded or relied upon by >>> any person other than the intended addressee(s) without the permission of >>> the sender. If you are not the intended addressee you must not take any >>> action based on this message and its attachment(s) nor must you copy or >>> show them to anyone. Please respond to the sender and ensure that this >>> message and its attachment(s) are deleted. >>> >>> It is your responsibility to ensure that this message and its >>> attachment(s) are scanned for viruses or other defects. Edinburgh Napier >>> University does not accept liability for any loss or damage which may >>> result from this message or its attachment(s), or for errors or omissions >>> arising after it was sent. Email is not a secure medium. Emails entering >>> Edinburgh Napier University's system are subject to routine monitoring and >>> filtering by Edinburgh Napier University. >>> >>> Edinburgh Napier University is a registered Scottish charity. >>> Registration number SC018373 >>> >> >> >