function(reg, t, patternDT)
{
#DOUBLE TOPS
	i <- 0
	while(i < 38) {
		i1 <<- nextmax(reg, i)
		if(i1 == 0)
			i <- 38
		else {
			E1 <<- reg[i1]
			EA <<- 0
			i2 <<- nextmax(reg, i1)
			if(i2 == 0)
				i <- 38
			else {
				while((i2 < 38) && (i2 > 0)) {
				  E2 <<- reg[i2]
				  if(EA < E2)
				    EA <<- E2
				  if((E2 - E1) > 0.015 * (E2 + E1))
				    i2 <<- 38
				  else {
				    if(((i2 - i1) < 23) || (E2 < EA))
				      i2 <<- nextmax(reg, i2)
				    else if((abs(E1 - E2)) < 0.015 * (E1 + E2)) {
				      patternDT[t + i2 - 1] <- 1
				      i2 <<- 0
				    }
				    else i2 <<- nextmax(reg, i2)
				  }
				}
			}
		}
		if(i < 38)
			i <- i1
	}
	return(patternDT)
}
