# Re: Compiler bug

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
>>
>>
>> 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
>>
>>
>> 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
>>
>
>