• Facebook
  • Twitter
  • Reddit
  • StumbleUpon
  • Digg
  • email

All Samples(268296)  |  Call(268286)  |  Derive(0)  |  Import(10)
range([start,] stop[, step]) -> list of integers

Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3].  The end point is omitted!
These are exactly the valid indices for a list of 4 elements.

src/i/r/ironruby-HEAD/Languages/IronPython/Samples/Puzzle/puzzle.py   ironruby(Download)
        self.normalTileDimension = 128
        self.tileDimension = self.normalTileDimension
        self.grid = []
        for i in range(0, self.gridDimension):
            self.grid += [[]]
            for j in range(0, self.gridDimension):
                self.grid[i] += [None]
        ### reset grid of tiles
        self.gridDimension = dimension
        self.grid = []
        for i in range(0, self.gridDimension):
            self.grid += [[]]
            for j in range(0, self.gridDimension):
                self.grid[i] += [None]
    def SetBoardByTile(self, type, tile, level, dimension):
 
        self.ResetBoardForNewGame(dimension)
 
        self.currentGameState = [type, tile[0], tile[1], level, dimension]
 
        for i in range(0, dimension):
            for j in range(0, dimension):
    def Shuffle(self):
 
        allTiles = []
        for i in range(0, self.gridDimension):
            for j in range(0, self.gridDimension):
                if not self.grid[i][j] is None:
                    allTiles += [self.grid[i][j]]
        allTiles += [None]    # dummy tile, used for empty space
 
        from System import Random
        rand = Random()
        for i in range(0, self.gridDimension):
            for j in range(0, self.gridDimension):
    def CheckGrid(self):
        for i in range(0, self.gridDimension):
            for j in range(0, self.gridDimension):
                if not self.grid[i][j] is None:
                    if not self.grid[i][j].isCorrect():
                        return False
        self.gameInProgress = False
    def PopulatePreviewTiles(self):
        x = self.previewState[0]
        y = self.previewState[1]
        level = self.previewState[3]
        type = self.comboType.SelectedItem
 
        for i in range(0, 4):
            for j in range(0, 4):
 
        self.scrollZoom.Value = self.previewState[3]
 
        for i in range(0, 3):
            for j in range(0, 3):
                self.previewTile[i] += [RichTile(tileDim)]
                x = j * tileDim
                y = i * tileDim
                self.previewTile[i][j].Location = Point(x, y)
                self.panelCreate.Controls.Add(self.previewTile[i][j])
 
        i = 3
        y = 3 * 0.75 * self.normalTileDimension
        for j in range(0, 4):
 
 
        j = 3
        for i in range(0, 3):
            self.previewTile[i] += [RichTile(0.75 * self.normalTileDimension)]
            y = i * 0.75 * self.normalTileDimension
            self.previewTile[i][j].Location = Point(x, y)
            w = self.gridDimension * self.tileDimension
            panel.Size = Size(w, w)
 
        for i in range(0, self.gridDimension):
            for j in range(0, self.gridDimension):
                if not self.grid[i][j] is None:
                    self.grid[i][j].Size = Size(self.tileDimension, self.tileDimension)
        else:
            tileDim = 0.75 * self.normalTileDimension
 
        for i in range(0, 3):
            for j in range(0, 3):
                x = j * tileDim
                y = i * tileDim
                self.previewTile[i][j].Location = Point(x, y)
                self.previewTile[i][j].Size = Size(tileDim, tileDim)
 
        i = 3
        y = 3 * 0.75 * self.normalTileDimension
        for j in range(0, 4):
            self.previewTile[i][j].Size = Size(tileDim, tileDim)            
 
        j = 3
        for i in range(0, 3):
            self.previewTile[i] += [RichTile(0.75 * self.normalTileDimension)]
            y = i * 0.75 * self.normalTileDimension
            self.previewTile[i][j].Location = Point(x, y)
    def menuItemClicked(self, sender, e):
 
        if sender is self.menuExit:
            self.ExitGame()
            return
 
        for i in range(0, self.menu.Items.Count):
            self.menu.Items[i].BackColor = Color.White
            self.menu.Items[i].ForeColor = Color.Black
        sender.BackColor = Color.CornflowerBlue
        sender.ForeColor = Color.White
 
        for i in range(0, len(self.panels)):
    def keyDownForGame(self, sender, e):
 
        if self.gameInProgress is False:
            return
 
        if e.KeyCode == Keys.Left:
            for i in range(0, self.gridDimension):
                for j in range(0, self.gridDimension - 1):
                    if self.grid[i][j] is None:
                        self.slideLeft(self.grid[i][j+1])
                        return
        elif e.KeyCode == Keys.Right:
            for i in range(0, self.gridDimension):
                for j in range(1, self.gridDimension):
                        self.slideRight(self.grid[i][j-1])
                        return
        elif e.KeyCode == Keys.Up:
            for i in range(0, self.gridDimension - 1):
                for j in range(0, self.gridDimension):
                    if self.grid[i][j] is None:
                        self.slideUp(self.grid[i+1][j])
                        return
        elif e.KeyCode == Keys.Down:
            for i in range(1, self.gridDimension):
                for j in range(0, self.gridDimension):
    def previewTypeChanged(self, sender, e):
 
        type = self.comboType.SelectedItem[0].lower()
        for i in range(0, 4):
            for j in range(0, 4):
                self.previewTile[i][j].Image = GetImage(type, self.previewTile[i][j].quadkey)
        self.PopulateCaptionCreate()
        else:
            tileDim = 0.75 * self.normalTileDimension
            i = 3
            for j in range(0, 4):
                self.previewTile[i][j].Visible = True
            j = 3
            for i in range(0, 3):
                self.previewTile[i][j].Visible = True
 
        for i in range(0, 3):
            for j in range(0, 3):
    def previewMoveRight(self, sender = None, e = None):
        for i in range(0, 4):
            for j in range(0, 3):
                self.previewTile[i][j].Image = self.previewTile[i][j+1].Image
                self.previewTile[i][j].quadkey = self.previewTile[i][j+1].quadkey
                self.previewTile[i][j].tile = self.previewTile[i][j+1].tile
        type = self.comboType.SelectedItem
        for i in range(0, 4):
    def previewMoveLeft(self, sender = None, e = None):
        for i in range(0, 4):
            for j in range(3, 0, -1):
                self.previewTile[i][j].Image = self.previewTile[i][j-1].Image
                self.previewTile[i][j].quadkey = self.previewTile[i][j-1].quadkey
                self.previewTile[i][j].tile = self.previewTile[i][j-1].tile
        type = self.comboType.SelectedItem
        for i in range(0, 4):
    def previewMoveDown(self, sender = None, e = None):
        for i in range(0, 3):
            for j in range(0, 4):
                self.previewTile[i][j].Image = self.previewTile[i+1][j].Image
                self.previewTile[i][j].quadkey = self.previewTile[i+1][j].quadkey
                self.previewTile[i][j].tile = self.previewTile[i+1][j].tile
        type = self.comboType.SelectedItem
        for j in range(0, 4):
    def previewMoveUp(self, sender = None, e = None):
        for i in range(3, 0, -1):
            for j in range(0, 4):
                self.previewTile[i][j].Image = self.previewTile[i-1][j].Image
                self.previewTile[i][j].quadkey = self.previewTile[i-1][j].quadkey
                self.previewTile[i][j].tile = self.previewTile[i-1][j].tile
        type = self.comboType.SelectedItem
        for j in range(0, 4):

src/p/y/pysundials-HEAD/2.3.0/examples/cvodes/serial/cvsadjkryx_pnt.py   pysundials(Download)
def InitUserData(wdata):
	for j in range(NS):
		for i in range(NS):
			wdata.acoef[i][j] = 0.0
 
	for j in range(NP):
		for i in range(NP):
	wdata.mxns = MXNS
	dx = wdata.dx = DX
	dy = wdata.dy = DY
	for i in range(NS):
		wdata.cox[i] = wdata.diff[i]/(dx**2)
		wdata.coy[i] = wdata.diff[i]/(dy**2)
 
def SetGroups(m, ng, jg, jig, jr):
	mper = m/ng
	for ig in range(ng):
		jg[ig] = ig*mper
	jg[ng] = m
 
	ngm1 = ng - 1
	len1 = ngm1*mper
	for j in range(len1):
		jig[j] = j/mper
	for j in range(len1, m):
		jig[j] = ngm1
 
	for ig in range(ngm1):
 
	x_factor = 4.0/(AX**2)
	y_factor = 4.0/(AY**2)
	for jy in range(MY):
		y = jy*dy
		argy = (y_factor*y*(AY-y))**2
		iyoff = mxns*jy
		for jx in range(MX): 
			x = jx*dx
			argx = (x_factor*x*(AX-x))**2
			ioff = iyoff + ns*jx
			for i in range(1,ns+1):
def CbInit(c, i_s, wdata):
	gu = [0]*NS
	gu[ISPEC-1] = 1.0
 
	for jy in range(MY):
		iyoff = wdata.mxns*jy
		for jx in range(MX):
			ioff = iyoff+wdata.ns*jx
			for i in range(1,ns+1):
def PrintOutput(cB, ns, mxns, wdata):
	x = y = 0.0
 
	for i in range (ns+1):
		cmax = 0.0
 
		for jy in range(MY-1, -1, -1):
			for jx in range(MX):
def doubleIntgr(c, i, wdata):
	jy = 0
	intgr_x = c[(i-1)+jy*wdata.mxns]
	for jx in range(1,wdata.mx):
		intgr_x += 2.0*c[(i-1) + jx*wdata.ns + jy*wdata.mxns] 
	intgr_x += c[(i-1)+(wdata.mx-1)*wdata.ns+jy*wdata.mxns]
	intgr_x *= 0.5*wdata.dx
 
	intgr_xy = intgr_x
 
	for jy in range(1,wdata.my-1):
		intgr_x = c[(i-1)+jy*wdata.mxns]
		for jx in range(1,wdata.mx-1):
 
	jy = wdata.my-1
	intgr_x = c[(i-1)+jy*wdata.mxns]
	for jx in range(1,wdata.mx-1):
		intgr_x += 2.0*c[(i-1) + jx*wdata.ns + jy*wdata.mxns]
 
	intgr_x += c[(i-1)+(wdata.mx-1)*wdata.ns+jy*wdata.mxns]
def WebRates(x, y, t, c, c_off, rate, rate_off, wdata):
	for i in range(wdata.ns):
		rate[i+rate_off] = 0.0
 
	for j in range(wdata.ns):
		for i in range(wdata.ns):
			rate[i+rate_off] += c[j+c_off] * wdata.acoef[i][j]
 
	fac = 1.0 + ALPH*x*y
	for i in range(wdata.ns):
def WebRatesB(x, y, t, c, c_off, cB, cB_off, rate, rate_off, rateB, rateB_off, wdata):
	fac = 1.0 + ALPH*x*y
 
	for i in range(wdata.ns):
		rate[i+rate_off] = wdata.bcoef[i]*fac
 
	for j in range(wdata.ns):
		for i in range(wdata.ns):
			rate[i+rate_off] += wdata.acoef[i][j]*c[j+c_off]
 
	for i in range(wdata.ns):
		rateB[i+rateB_off] = cB[i+cB_off]*rate[i+rate_off]
		rate[i+rate_off] = c[i+c_off]*rate[i+rate_off]
 
	for j in range(wdata.ns):
		for i in range(wdata.ns):
			rateB[i+rateB_off] += wdata.acoef[j][i]*c[j+c_off]*cB[j+cB_off]
 
def f(t, c, cdot, f_data):
	wdata = ctypes.cast(f_data, PWebData).contents
 
	for jy in range(MY):
			idyl = -wdata.mxns
		else:
			idyl = wdata.mxns
		for jx in range(MX):
			x = jx*wdata.dx
			ic = iyoff + wdata.ns*jx
			WebRates(x, y, t, c, ic, wdata.fsave, ic, wdata)
				idxl = -wdata.ns
			else:
				idxl = wdata.ns
			for i in range(1, wdata.ns+1):
				ici = ic + i-1
				dcyli = c[ici] - c[ici-idyl]
				dcyui = c[ici+idyu] - c[ici]
def fB(t, c, cB, cBdot, f_data):
	wdata = ctypes.cast(f_data, PWebData).contents
 
	for jy in range(MY):
		y = jy*wdata.dy
		iyoff = wdata.mxns*jy
		if jy == MY-1:
			idyl = -wdata.mxns
		else:
			idyl = wdata.mxns
		for jx in range(MX):
			x = jx*wdata.dx
			ic = iyoff + wdata.ns*jx
			WebRates(x, y, t, c, ic, cB, ic, wdata.fsave, ic, wdata.fBsave, ic, wdata)
				idxl = -wdata.ns
			else:
				idxl = wdata.ns
			for i in range(1, wdata.ns+1):
				ici = ic + i-1
				dcyli = cB[ici] - cB[ici-idyl]
				dcyui = cB[ici+idyu] - cB[ici]
	if r0 == 0.0:
		r0 = 1.0
 
	for igy in range(wdata.ngy):
		jy = wdata.jyr[igy]
		if00 = jy*wdata.mxmp
		for igx in range(wdata.ngx):
			jx = wdata.jxr[igx]
			if0 = if00 + jx*wdata.mp
			ig = igx + igy*wdata.ngx
			for j in range(wdata.mp):
				c[jj] += r
				fac = -gamma/r
				fblock (t, c, jx, jy, vtemp1, wdata)
				for i in range(wdata.mp):
					wdata.P[ig][j][i] = (vtemp1[i] - wdata.fsave[if0+i])*fac
				c[jj] = save
 
	for ig in range(wdata.ngrp):
	if r0 == 0.0:
		r0 = 1.0
 
	for igy in range(wdata.ngy):
		jy = wdata.jyr[igy]
		if00 = jy*wdata.mxmp
		for igx in range(wdata.ngx):
			jx = wdata.jxr[igx]
			if0 = if00 + jx*wdata.mp
			ig = igx + igy*wdata.ngx
			for j in range(wdata.mp):
				c[jj] += r
				fac = -gamma/r
				fblock (t, c, jx, jy, vtemp1, wdata)
				for i in range(wdata.mp):
					wdata.P[ig][j][i] = (vtemp1[i] - wdata.fsave[if0+i])*fac
				c[jj] = save
 
	for ig in range(wdata.ngrp):
def v_inc_by_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] += v[i+v_off]*w[i+w_off]
 
def v_sum_prods(u, u_off, p, p_off, q, q_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = p[i+p_off]*q[i+q_off] + v[i+v_off]*w[i+w_off]
 
def v_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = v[i+v_off]*w[i+w_off]
 
def v_zero(u, u_off, n):
	for i in range(n):
	gam = [0]*NS
	gam2 = [0]*NS
 
	for i in range(wdata.ns):
		temp = 1.0/(1.0 + 2.0*gamma*(wdata.cox[i] + wdata.coy[i]))
		beta[i] = gamma*wdata.cox[i]*temp
		beta2[i] = 2.0*beta[i]
		gam[i] = gamma*wdata.coy[i]*temp
		gam2[i] = 2.0*gam[i]
		cof1[i] = temp
 
	for jy in range(wdata.my):
		iyoff = wdata.mxns*jy
		for jx in range(wdata.mx):
			v_prod(x, ic, cof1, 0, z, ic, wdata.ns)
	z[:] = [0]*len(z)
 
	for iter in range(1, ITMAX+1):
		if iter > 1:
			for jy in range(wdata.my):
				iyoff = wdata.mxns*jy
				for jx in range(wdata.mx):
					elif (3*y_loc+x_loc) == 8: 
						v_zero(x, ic, wdata.ns)
 
		for jy in range(wdata.my):
			iyoff = wdata.mxns*jy
			for jx in range(wdata.mx):
				ic = iyoff + wdata.ns*jx
	GSIter(gamma, z, vtemp, wdata)
 
	iv = 0
	for jy in range(wdata.my):
		igy = wdata.jigy[jy]
		for jx in range(wdata.mx):
			igx = wdata.jigx[jx]
	GSIter(-gamma, z, vtemp, wdata)
 
	iv = 0
	for jy in range(wdata.my):
		igy = wdata.jigy[jy]
		for jx in range(wdata.mx):
			igx = wdata.jigx[jx]
ncheck = ctypes.c_int(0)
rewt = cvodes.NVector([0]*NEQ)
wdata = WebData()
for i in range(NGRP):
	wdata.P[i] = cvodes.denalloc(NS,NS)
	wdata.pivot[i] = cvodes.denallocpiv(NS)
wdata.rewt = rewt.data
 
PrintOutput(cB, NS, MXNS, wdata)
 
for i in range(wdata.ngrp):
	cvodes.denfree(wdata.P[i])
	cvodes.denfreepiv(wdata.pivot[i])
 

src/p/y/pysundials-HEAD/2.3.0/examples/cvodes/serial/cvsadjkryx_int.py   pysundials(Download)
def InitUserData(wdata):
	for j in range(NS):
		for i in range(NS):
			wdata.acoef[i][j] = 0.0
 
	for j in range(NP):
		for i in range(NP):
	wdata.mxns = MXNS
	dx = wdata.dx = DX
	dy = wdata.dy = DY
	for i in range(NS):
		wdata.cox[i] = wdata.diff[i]/(dx**2)
		wdata.coy[i] = wdata.diff[i]/(dy**2)
 
def SetGroups(m, ng, jg, jig, jr):
	mper = m/ng
	for ig in range(ng):
		jg[ig] = ig*mper
	jg[ng] = m
 
	ngm1 = ng - 1
	len1 = ngm1*mper
	for j in range(len1):
		jig[j] = j/mper
	for j in range(len1, m):
		jig[j] = ngm1
 
	for ig in range(ngm1):
 
	x_factor = 4.0/(AX**2)
	y_factor = 4.0/(AY**2)
	for jy in range(MY):
		y = jy*dy
		argy = (y_factor*y*(AY-y))**2
		iyoff = mxns*jy
		for jx in range(MX): 
			x = jx*dx
			argx = (x_factor*x*(AX-x))**2
			ioff = iyoff + ns*jx
			for i in range(1,ns+1):
def PrintOutput(cB, ns, mxns, wdata):
	x = y = 0.0
 
	for i in range (ns+1):
		cmax = 0.0
 
		for jy in range(MY-1, -1, -1):
			for jx in range(MX):
def doubleIntgr(c, i, wdata):
	jy = 0
	intgr_x = c[(i-1)+jy*wdata.mxns]
	for jx in range(1,wdata.mx):
		intgr_x += 2.0*c[(i-1) + jx*wdata.ns + jy*wdata.mxns] 
	intgr_x += c[(i-1)+(wdata.mx-1)*wdata.ns+jy*wdata.mxns]
	intgr_x *= 0.5*wdata.dx
 
	intgr_xy = intgr_x
 
	for jy in range(1,wdata.my-1):
		intgr_x = c[(i-1)+jy*wdata.mxns]
		for jx in range(1,wdata.mx-1):
 
	jy = wdata.my-1
	intgr_x = c[(i-1)+jy*wdata.mxns]
	for jx in range(1,wdata.mx-1):
		intgr_x += 2.0*c[(i-1) + jx*wdata.ns + jy*wdata.mxns]
 
	intgr_x += c[(i-1)+(wdata.mx-1)*wdata.ns+jy*wdata.mxns]
def WebRates(x, y, t, c, c_off, rate, rate_off, wdata):
	for i in range(wdata.ns):
		rate[i+rate_off] = 0.0
 
	for j in range(wdata.ns):
		for i in range(wdata.ns):
			rate[i+rate_off] += c[j+c_off] * wdata.acoef[i][j]
 
	fac = 1.0 + ALPH*x*y
	for i in range(wdata.ns):
def WebRatesB(x, y, t, c, c_off, cB, cB_off, rate, rate_off, rateB, rateB_off, wdata):
	fac = 1.0 + ALPH*x*y
 
	for i in range(wdata.ns):
		rate[i+rate_off] = wdata.bcoef[i]*fac
 
	for j in range(wdata.ns):
		for i in range(wdata.ns):
			rate[i+rate_off] += wdata.acoef[i][j]*c[j+c_off]
 
	for i in range(wdata.ns):
		rateB[i+rateB_off] = cB[i+cB_off]*rate[i+rate_off]
		rate[i+rate_off] = c[i+c_off]*rate[i+rate_off]
 
	for j in range(wdata.ns):
		for i in range(wdata.ns):
			rateB[i+rateB_off] += wdata.acoef[j][i]*c[j+c_off]*cB[j+cB_off]
 
def f(t, c, cdot, f_data):
	wdata = ctypes.cast(f_data, PWebData).contents
 
	for jy in range(MY):
			idyl = -wdata.mxns
		else:
			idyl = wdata.mxns
		for jx in range(MX):
			x = jx*wdata.dx
			ic = iyoff + wdata.ns*jx
			WebRates(x, y, t, c, ic, wdata.fsave, ic, wdata)
				idxl = -wdata.ns
			else:
				idxl = wdata.ns
			for i in range(1, wdata.ns+1):
				ici = ic + i-1
				dcyli = c[ici] - c[ici-idyl]
				dcyui = c[ici+idyu] - c[ici]
def fB(t, c, cB, cBdot, f_data):
	wdata = ctypes.cast(f_data, PWebData).contents
 
	gu = [0]*NS
	gu[ISPEC-1] = 1.0
 
	for jy in range(MY):
			idyl = -wdata.mxns
		else:
			idyl = wdata.mxns
		for jx in range(MX):
			x = jx*wdata.dx
			ic = iyoff + wdata.ns*jx
			WebRates(x, y, t, c, ic, cB, ic, wdata.fsave, ic, wdata.fBsave, ic, wdata)
				idxl = -wdata.ns
			else:
				idxl = wdata.ns
			for i in range(1, wdata.ns+1):
				ici = ic + i-1
				dcyli = cB[ici] - cB[ici-idyl]
				dcyui = cB[ici+idyu] - cB[ici]
	if r0 == 0.0:
		r0 = 1.0
 
	for igy in range(wdata.ngy):
		jy = wdata.jyr[igy]
		if00 = jy*wdata.mxmp
		for igx in range(wdata.ngx):
			jx = wdata.jxr[igx]
			if0 = if00 + jx*wdata.mp
			ig = igx + igy*wdata.ngx
			for j in range(wdata.mp):
				c[jj] += r
				fac = -gamma/r
				fblock (t, c, jx, jy, vtemp1, wdata)
				for i in range(wdata.mp):
					wdata.P[ig][j][i] = (vtemp1[i] - wdata.fsave[if0+i])*fac
				c[jj] = save
 
	for ig in range(wdata.ngrp):
	if r0 == 0.0:
		r0 = 1.0
 
	for igy in range(wdata.ngy):
		jy = wdata.jyr[igy]
		if00 = jy*wdata.mxmp
		for igx in range(wdata.ngx):
			jx = wdata.jxr[igx]
			if0 = if00 + jx*wdata.mp
			ig = igx + igy*wdata.ngx
			for j in range(wdata.mp):
				c[jj] += r
				fac = -gamma/r
				fblock (t, c, jx, jy, vtemp1, wdata)
				for i in range(wdata.mp):
					wdata.P[ig][j][i] = (vtemp1[i] - wdata.fsave[if0+i])*fac
				c[jj] = save
 
	for ig in range(wdata.ngrp):
def v_inc_by_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] += v[i+v_off]*w[i+w_off]
 
def v_sum_prods(u, u_off, p, p_off, q, q_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = p[i+p_off]*q[i+q_off] + v[i+v_off]*w[i+w_off]
 
def v_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = v[i+v_off]*w[i+w_off]
 
def v_zero(u, u_off, n):
	for i in range(n):
	gam = [0]*NS
	gam2 = [0]*NS
 
	for i in range(wdata.ns):
		temp = 1.0/(1.0 + 2.0*gamma*(wdata.cox[i] + wdata.coy[i]))
		beta[i] = gamma*wdata.cox[i]*temp
		beta2[i] = 2.0*beta[i]
		gam[i] = gamma*wdata.coy[i]*temp
		gam2[i] = 2.0*gam[i]
		cof1[i] = temp
 
	for jy in range(wdata.my):
		iyoff = wdata.mxns*jy
		for jx in range(wdata.mx):
			v_prod(x, ic, cof1, 0, z, ic, wdata.ns)
	z[:] = [0]*len(z)
 
	for iter in range(1, ITMAX+1):
		if iter > 1:
			for jy in range(wdata.my):
				iyoff = wdata.mxns*jy
				for jx in range(wdata.mx):
					elif (3*y_loc+x_loc) == 8: 
						v_zero(x, ic, wdata.ns)
 
		for jy in range(wdata.my):
			iyoff = wdata.mxns*jy
			for jx in range(wdata.mx):
				ic = iyoff + wdata.ns*jx
	GSIter(gamma, z, vtemp, wdata)
 
	iv = 0
	for jy in range(wdata.my):
		igy = wdata.jigy[jy]
		for jx in range(wdata.mx):
			igx = wdata.jigx[jx]
	GSIter(-gamma, z, vtemp, wdata)
 
	iv = 0
	for jy in range(wdata.my):
		igy = wdata.jigy[jy]
		for jx in range(wdata.mx):
			igx = wdata.jigx[jx]
ncheck = ctypes.c_int(0)
rewt = cvodes.NVector([0]*(NEQ+1))
wdata = WebData()
for i in range(NGRP):
	wdata.P[i] = cvodes.denalloc(NS,NS)
	wdata.pivot[i] = cvodes.denallocpiv(NS)
wdata.rewt = rewt.data
 
PrintOutput(cB, NS, MXNS, wdata)
 
for i in range(wdata.ngrp):
	cvodes.denfree(wdata.P[i])
	cvodes.denfreepiv(wdata.pivot[i])
 

src/s/h/shedskin-HEAD/examples/chess.py   shedskin(Download)
 
setup = (4, 2, 3, 5, 6, 3, 2, 4, iNone, iNone) + (iTrue,)*4 + (iNone, iNone) +   (1,) * 8 + (iNone, iNone, iTrue, iNone, iNone, iNone, iNone, iNone,) +   ((0, ) * 8 + (iNone,) * 8) * 4 +   (-1,) * 8 + (iNone,) * 8 +   (-4, -2, -3, -5, -6, -3, -2, -4) + (iNone,) * 40
 
squares = tuple([i for i in range(128) if not i & 8])
knightMoves = (-33, -31, -18, -14, 14, 18, 31, 33)
bishopLines = (tuple(range(17, 120, 17)), tuple(range(-17, -120, -17)), tuple(range(15, 106, 15)), tuple(range(-15, -106, -15)))
rookLines = (tuple(range(1, 8)), tuple(range(-1, -8, -1)), tuple(range(16, 128, 16)), tuple(range(-16, -128, -16)))
def printBoard(board):
  for i in range(7,-1,-1):
    for j in range(8):
      ix = i * 16 + j
      print pieces[board[ix]],
    print
 

src/c/a/camfr-HEAD/trunk/camfr/examples/contrib/cells.py   camfr(Download)
    x_max = a*sqrt(2.).real*0.5
 
    if abs(r*sqrt(2))>=z_max/2:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        R = abs(r*sqrt(2.))
 
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*R))
 
        for i in range(slices):
            z = R/slices*(i+0.5)
            x = z
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(R/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*R)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](R/slices))
 
    xz[0] = abs(x_max)
    ex = Expression()
 
    if r>z_max:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(2.*z_max-2.*r))
 
        for i in range(len(waveguides)-2,-1,-1):
            ex.add(waveguides[i](r/slices))
 
    xz[0] = x_max
    x_max = a*sqrt(2.).real*0.5
 
    if r>=z_max/2:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*r))
 
        for i in range(slices):
            z = r/slices*(i+0.5)
            x = abs(sqrt(r**2-(r-z)**2))
 
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(r/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*r)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](r/slices))
 
    xz[0] = abs(x_max)
    ex = Expression()
 
    if r>z_max*0.5:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
        waveguides.append(part)
        ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*r))
 
        for i in range(slices):
            z = r/slices*(i+0.5)
            x = abs(sqrt(r*r-(r-z)**2))
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(r/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*r)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](r/slices))        
 
    xz[0] = x_max
    ex = Expression()
 
    if r>z_max*0.5:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*r))
 
        for i in range(slices):
            z = r/slices*(i+0.5)
            x = abs(sqrt(r*r-(r-z)**2))
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(r/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*r)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](r/slices))
 
    xz[0] = abs(x_max)
    R = abs(sqrt(2.)*r)
 
    if R>=z_max*0.5:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*R))
 
        for i in range(slices):
            z = R/slices*(i+0.5)
            x = z
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(R/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*R)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](R/slices))        
 
    xz[0] = x_max

src/p/y/pysundials-HEAD/2.3.0/examples/cvodes/serial/cvskrydem_pre.py   pysundials(Download)
def InitUserData(wdata):
	for j in range(NS):
		for i in range(NS):
			wdata.acoef[i][j] = 0.0
 
	for j in range(NP):
		for i in range(NP):
	wdata.mxns = MXNS
	dx = wdata.dx = DX
	dy = wdata.dy = DY
	for i in range(NS):
		wdata.cox[i] = wdata.diff[i]/(dx**2)
		wdata.coy[i] = wdata.diff[i]/(dy**2)
 
def SetGroups(m, ng, jg, jig, jr):
	mper = m/ng;
	for ig in range(ng):
		jg[ig] = ig*mper
	jg[ng] = m
 
	ngm1 = ng - 1
	len1 = ngm1*mper
	for j in range(len1):
		jig[j] = j/mper
	for j in range(len1, m):
		jig[j] = ngm1
 
	for ig in range(ngm1):
 
	x_factor = 4.0/(AX**2)
	y_factor = 4.0/(AY**2)
	for jy in range(MY):
		y = jy*dy
		argy = (y_factor*y*(AY-y))**2
		iyoff = mxns*jy
		for jx in range(MX): 
			x = jx*dx
			argx = (x_factor*x*(AX-x))**2
			ioff = iyoff + ns*jx
			for i in range(1,ns+1):
def PrintAllSpecies(c, ns, mxns, t):
	print "c values at t = %lg:\n"%(t.value)
	for i in range(1, ns+1):
		print "Species %d"%(i)
		for jy in range(MY-1,-1,-1):
			for jx in range(MX):
				sys.stdout.write("%-10.6lg"%(c[(i-1) + jx*ns + jy*mxns]))
def WebRates(x, y, t, c, c_off, rate, rate_off, wdata):
	ns = wdata.ns
	acoef = wdata.acoef
	bcoef = wdata.bcoef
 
	for i in range(ns):
		rate[i+rate_off] = 0.0
 
	for j in range(ns):
		for i in range(ns):
			rate[i+rate_off] += c[j+c_off] * acoef[i][j]
 
	fac = 1.0 + ALPH*x*y
	for i in range(ns):
	dx = wdata.dx
	dy = wdata.dy
 
	for jy in range(MY):
		y = jy*dy
		iyoff = mxns*jy
		if jy == MY-1:
			idyl = -mxns
		else:
			idyl = mxns
		for jx in range(MX):
			x = jx*dx
			ic = iyoff + ns*jx
			WebRates(x, y, t, c, ic, fsave, ic, wdata)
				idxl = -ns
			else:
				idxl = ns
			for i in range(1, ns+1):
				ici = ic + i-1
				dcyli = c[ici] - c[ici-idyl]
				dcyui = c[ici+idyu] - c[ici]
	if r0 == 0.0:
		r0 = 1.0
 
	for igy in range(ngy):
		jy = jyr[igy]
		if00 = jy*mxmp
		for igx in range(ngx):
			jx = jxr[igx]
			if0 = if00 + jx*mp
			ig = igx + igy*ngx
			for j in range(mp):
				c[jj] += r
				fac = -gamma/r
				fblock (t, c, jx, jy, vtemp1, wdata)
				for i in range(mp):
					P[ig][j][i] = (vtemp1[i] - fsave[if0+i])*fac
				c[jj] = save
 
	for ig in range(ngrp):
def v_inc_by_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] += v[i+v_off]*w[i+w_off]
 
def v_sum_prods(u, u_off, p, p_off, q, q_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = p[i+p_off]*q[i+q_off] + v[i+v_off]*w[i+w_off]
 
def v_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = v[i+v_off]*w[i+w_off]
 
def v_zero(u, u_off, n):
	for i in range(n):
	cox = wdata.cox
	coy = wdata.coy
 
	for i in range(ns):
		temp = 1.0/(1.0 + 2.0*gamma*(cox[i] + coy[i]))
		beta[i] = gamma*cox[i]*temp
		beta2[i] = 2.0*beta[i]
		gam[i] = gamma*coy[i]*temp
		gam2[i] = 2.0*gam[i]
		cof1[i] = temp
 
	for jy in range(my):
		iyoff = mxns*jy
		for jx in range(mx):
			v_prod(x, ic, cof1, 0, z, ic, ns)
	z[:] = [0]*len(z)
 
	for iter in range(1, ITMAX+1):
		if iter > 1:
			for jy in range(my):
				iyoff = mxns*jy
				for jx in range(mx):
					elif (3*y_loc+x_loc) == 8: 
						v_zero(x, ic, ns)
 
		for jy in range(my):
			iyoff = mxns*jy
			for jx in range(mx):
				ic = iyoff + ns*jx
	jigy = wdata.jigy
 
	iv = 0
	for jy in range(my):
		igy = jigy[jy]
		for jx in range(mx):
			igx = jigx[jx]
c = cvodes.NVector([0]*NEQ)
rewt = cvodes.NVector([0]*NEQ)
wdata = WebData()
for i in range(NGRP):
	wdata.P[i] = cvodes.denalloc(NS,NS)
	wdata.pivot[i] = cvodes.denallocpiv(NS)
wdata.rewt = rewt.data
InitUserData(wdata)
ns = wdata.ns
mxns = wdata.mxns
 
PrintIntro()
 
for jpre in range(cvodes.PREC_LEFT, cvodes.PREC_RIGHT+1):
PrintIntro()
 
for jpre in range(cvodes.PREC_LEFT, cvodes.PREC_RIGHT+1):
	for gstype in range(cvodes.MODIFIED_GS,cvodes.CLASSICAL_GS+1):
		t = cvodes.realtype(T0)
		CInit(c, wdata)
		PrintHeader(jpre, gstype)
 
		PrintFinalStats(cvodes_mem)
 
for i in range(wdata.ngrp):
	cvodes.denfree(wdata.P[i])
	cvodes.denfreepiv(wdata.pivot[i])
 

src/p/y/pysundials-HEAD/2.3.0/examples/cvode/serial/cvkrydem_pre.py   pysundials(Download)
def InitUserData(wdata):
	for j in range(NS):
		for i in range(NS):
			wdata.acoef[i][j] = 0.0
 
	for j in range(NP):
		for i in range(NP):
	wdata.mxns = MXNS
	dx = wdata.dx = DX
	dy = wdata.dy = DY
	for i in range(NS):
		wdata.cox[i] = wdata.diff[i]/(dx**2)
		wdata.coy[i] = wdata.diff[i]/(dy**2)
 
def SetGroups(m, ng, jg, jig, jr):
	mper = m/ng;
	for ig in range(ng):
		jg[ig] = ig*mper
	jg[ng] = m
 
	ngm1 = ng - 1
	len1 = ngm1*mper
	for j in range(len1):
		jig[j] = j/mper
	for j in range(len1, m):
		jig[j] = ngm1
 
	for ig in range(ngm1):
 
	x_factor = 4.0/(AX**2)
	y_factor = 4.0/(AY**2)
	for jy in range(MY):
		y = jy*dy
		argy = (y_factor*y*(AY-y))**2
		iyoff = mxns*jy
		for jx in range(MX): 
			x = jx*dx
			argx = (x_factor*x*(AX-x))**2
			ioff = iyoff + ns*jx
			for i in range(1,ns+1):
def PrintAllSpecies(c, ns, mxns, t):
	print "c values at t = %lg:\n"%(t.value)
	for i in range(1, ns+1):
		print "Species %d"%(i)
		for jy in range(MY-1,-1,-1):
			for jx in range(MX):
				sys.stdout.write("%-10.6lg"%(c[(i-1) + jx*ns + jy*mxns]))
def WebRates(x, y, t, c, c_off, rate, rate_off, wdata):
	ns = wdata.ns
	acoef = wdata.acoef
	bcoef = wdata.bcoef
 
	for i in range(ns):
		rate[i+rate_off] = 0.0
 
	for j in range(ns):
		for i in range(ns):
			rate[i+rate_off] += c[j+c_off] * acoef[i][j]
 
	fac = 1.0 + ALPH*x*y
	for i in range(ns):
	dx = wdata.dx
	dy = wdata.dy
 
	for jy in range(MY):
		y = jy*dy
		iyoff = mxns*jy
		if jy == MY-1:
			idyl = -mxns
		else:
			idyl = mxns
		for jx in range(MX):
			x = jx*dx
			ic = iyoff + ns*jx
			WebRates(x, y, t, c, ic, fsave, ic, wdata)
				idxl = -ns
			else:
				idxl = ns
			for i in range(1, ns+1):
				ici = ic + i-1
				dcyli = c[ici] - c[ici-idyl]
				dcyui = c[ici+idyu] - c[ici]
	if r0 == 0.0:
		r0 = 1.0
 
	for igy in range(ngy):
		jy = jyr[igy]
		if00 = jy*mxmp
		for igx in range(ngx):
			jx = jxr[igx]
			if0 = if00 + jx*mp
			ig = igx + igy*ngx
			for j in range(mp):
				c[jj] += r
				fac = -gamma/r
				fblock (t, c, jx, jy, vtemp1, wdata)
				for i in range(mp):
					P[ig][j][i] = (vtemp1[i] - fsave[if0+i])*fac
				c[jj] = save
 
	for ig in range(ngrp):
def v_inc_by_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] += v[i+v_off]*w[i+w_off]
 
def v_sum_prods(u, u_off, p, p_off, q, q_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = p[i+p_off]*q[i+q_off] + v[i+v_off]*w[i+w_off]
 
def v_prod(u, u_off, v, v_off, w, w_off, n):
	for i in range(n):
		u[i+u_off] = v[i+v_off]*w[i+w_off]
 
def v_zero(u, u_off, n):
	for i in range(n):
	cox = wdata.cox
	coy = wdata.coy
 
	for i in range(ns):
		temp = 1.0/(1.0 + 2.0*gamma*(cox[i] + coy[i]))
		beta[i] = gamma*cox[i]*temp
		beta2[i] = 2.0*beta[i]
		gam[i] = gamma*coy[i]*temp
		gam2[i] = 2.0*gam[i]
		cof1[i] = temp
 
	for jy in range(my):
		iyoff = mxns*jy
		for jx in range(mx):
			v_prod(x, ic, cof1, 0, z, ic, ns)
	z[:] = [0]*len(z)
 
	for iter in range(1, ITMAX+1):
		if iter > 1:
			for jy in range(my):
				iyoff = mxns*jy
				for jx in range(mx):
					elif (3*y_loc+x_loc) == 8: 
						v_zero(x, ic, ns)
 
		for jy in range(my):
			iyoff = mxns*jy
			for jx in range(mx):
				ic = iyoff + ns*jx
	jigy = wdata.jigy
 
	iv = 0
	for jy in range(my):
		igy = jigy[jy]
		for jx in range(mx):
			igx = jigx[jx]
c = cvode.NVector([0]*NEQ)
rewt = cvode.NVector([0]*NEQ)
wdata = WebData()
for i in range(NGRP):
	wdata.P[i] = cvode.denalloc(NS,NS)
	wdata.pivot[i] = cvode.denallocpiv(NS)
wdata.rewt = rewt.data
InitUserData(wdata)
ns = wdata.ns
mxns = wdata.mxns
 
PrintIntro()
 
for jpre in range(cvode.PREC_LEFT, cvode.PREC_RIGHT+1):
PrintIntro()
 
for jpre in range(cvode.PREC_LEFT, cvode.PREC_RIGHT+1):
	for gstype in range(cvode.MODIFIED_GS,cvode.CLASSICAL_GS+1):
		t = cvode.realtype(T0)
		CInit(c, wdata)
		PrintHeader(jpre, gstype)
 
		PrintFinalStats(cvode_mem)
 
for i in range(wdata.ngrp):
	cvode.denfree(wdata.P[i])
	cvode.denfreepiv(wdata.pivot[i])
 

src/a/l/algopy-HEAD/experimental/examples/q_robust_OED.py   algopy(Download)
def explicit_euler(x0,f,ts,p,q):
	Nm = size(ts)
	Nx = size(x0)
	if isinstance(p[0],adolc.adouble):
		x = array([[adolc.adouble(0) for n in range(Nx)]  for m in range(Nm)])
	else:
		x = zeros((Nm,Nx))
	x[0,:] = x0[:]
	for m in range(1,Nm):
	p[0]-= 3.;	p[1] -= 2.
 
	# taping F
	av = array([adolc.adouble(0) for i in range(Nv)])
	y = zeros(Nm)
	adolc.trace_on(1)
	av[0].is_independent(p[0])
	av[1].is_independent(p[1])
	av[2].is_independent(q[0])
	ay = F(av[:Np],av[Np:],ts,Sigma,etas)
	for m in range(Nm):
	adolc.trace_off()
 
	# taping dFdp
	av = array([adolc.adouble(0) for i in range(Nv)])
	adolc.trace_on(1)
	av[0].is_independent(p[0])
	av[1].is_independent(p[1])
	av[2].is_independent(q[0])
	ay = dFdp(av[:Np],av[Np:],ts,Sigma,etas)
	for m in range(Nm):
		for n in range(Np):
		J[0,0,:,:] = y
 
		# fill d'th degree of J
		for dm in range(1,DM+1):
			J[dm, 0,:,: ] = W[:,:,dm-1]
 
 
		# STEP2:  reverse UTPM through PHI
		Jtc=Mtc(J[:,:,:,:])
		cg.forward([Jtc])
 
 
		retval = 0.
		for dm in range(DM+1):
 
	# plot objective function
	fig = figure()
	for dm in range(0,7,2):
		print dm
		Nqs = 100
		qs = linspace(-1.5,1.5,Nqs)
		Phis = zeros(Nqs)
		for n in range(Nqs):

src/c/s/csc-pysparse-HEAD/examples/pysparse_test.py   csc-pysparse(Download)
ll.export_mtx('test.mtx')
 
L = spmatrix.ll_mat(10, 10)
for i in range(0, 10):
    L[i,i] = float(i+1)
 
A = L.to_csr()
print y
 
ll = spmatrix.ll_mat(100, 100)
for i in range(0, 100, 5):
    for j in range(0, 100, 4):
        ll[i,j] = 1.0/float(i+j+1)
A = ll.to_csr()
##print 'norm(z) = ', math.sqrt(Numeric.add.reduce(z))
 
L = spmatrix.ll_mat(10,10)
for i in range(10):
    L[i,i] = float(i+1)
A = L.to_csr()
print A
n = 100
L = spmatrix.ll_mat(n, n)
 
for run in range(5):
 
    print 'adding elements...'
    for i in range(0,n,2):
        for j in range (n):
    print L.nnz
 
    print 'removing elements...'
    for j in range(0,n,2):
        for i in range (n):
            L[i,j] = 0.0
            # print L
n = 100
L = spmatrix.ll_mat(n, n)
 
for i in range (0, n, 2):
    for j in range (1, n, 2):
        L[i,j] = float(n*i + j);
print L[10:18,75:80]
n = 10
L = spmatrix.ll_mat(n, n);
 
for i in range (0, n, 1):
    for j in range (0, n, 1):
        L[i,j] = 1.0;
 

src/c/a/camfr-HEAD/camfr/examples/contrib/cells.py   camfr(Download)
    x_max = a*sqrt(2.).real*0.5
 
    if abs(r*sqrt(2))>=z_max/2:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        R = abs(r*sqrt(2.))
 
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*R))
 
        for i in range(slices):
            z = R/slices*(i+0.5)
            x = z
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(R/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*R)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](R/slices))
 
    xz[0] = abs(x_max)
    ex = Expression()
 
    if r>z_max:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(2.*z_max-2.*r))
 
        for i in range(len(waveguides)-2,-1,-1):
            ex.add(waveguides[i](r/slices))
 
    xz[0] = x_max
    x_max = a*sqrt(2.).real*0.5
 
    if r>=z_max/2:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*r))
 
        for i in range(slices):
            z = r/slices*(i+0.5)
            x = abs(sqrt(r**2-(r-z)**2))
 
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(r/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*r)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](r/slices))
 
    xz[0] = abs(x_max)
    ex = Expression()
 
    if r>z_max*0.5:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
        waveguides.append(part)
        ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*r))
 
        for i in range(slices):
            z = r/slices*(i+0.5)
            x = abs(sqrt(r*r-(r-z)**2))
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(r/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*r)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](r/slices))        
 
    xz[0] = x_max
    ex = Expression()
 
    if r>z_max*0.5:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*r))
 
        for i in range(slices):
            z = r/slices*(i+0.5)
            x = abs(sqrt(r*r-(r-z)**2))
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(r/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*r)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](r/slices))
 
    xz[0] = abs(x_max)
    R = abs(sqrt(2.)*r)
 
    if R>=z_max*0.5:
        for i in range(slices):
            z = z_max/slices*(i+0.5)
 
            lower = 0
            waveguides.append(part)
            ex.add(part(z_max/slices))
 
        for i in range(len(waveguides)-1,0-1,-1):
            ex.add(waveguides[i](z_max/slices))
 
    else:
        for i in range(slices):
        waveguides.append(part)
        ex.add(part(z_max-2.*R))
 
        for i in range(slices):
            z = R/slices*(i+0.5)
            x = z
            part = Slab(ambient(x_max-x)+rod(x))
 
            waveguides.append(part)
            ex.add(part(R/slices))        
 
        for i in range(len(waveguides)-1,len(waveguides)-slices-1,-1):
 
        ex.add(waveguides[len(waveguides)-slices-1](abs(z_max-2.*R)))
 
        for i in range(slices-1,0-1,-1):
            ex.add(waveguides[i](R/slices))        
 
    xz[0] = x_max

  1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9  Next