Sponsored Content
Top Forums Programming Code review: recursion in circular array, reduce two functions to one? Post 303014964 by RudiC on Saturday 24th of March 2018 08:51:34 AM
Old 03-24-2018
Ohhh - got it . . . Try - recent bash (ksh) required -
Code:
animals=(Lion Tiger Panther Cougar Cheetah Leopard)
DLT=1
IDX=3
for i in {1..20}
  do    echo $IDX: ${animals[IDX]}
        (( IDX % (${#animals[@]}-1) )) || (( DLT *= -1 ))
        (( IDX += DLT))
  done
3: Cougar
4: Cheetah
5: Leopard
4: Cheetah
3: Cougar
2: Panther
1: Tiger
0: Lion
1: Tiger
2: Panther
3: Cougar
4: Cheetah
5: Leopard
4: Cheetah
3: Cougar
2: Panther
1: Tiger
0: Lion
1: Tiger
2: Panther


Last edited by RudiC; 03-24-2018 at 10:10 AM..
This User Gave Thanks to RudiC For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Can some review my code would be appreicated?

I am getting an error "ftpNotes.sh: syntax error at line 8 : `<<' unmatched" #!/bin/ksh PATH=/usr/sbin/:/usr/bin:/usr/ucb:/etc:/usr/local/bin:. cd $HOME if ;then if ; then echo 'DSC file already ftp to epm server' else ftp -n epmdev00 <<SCRIPT... (1 Reply)
Discussion started by: sibghat
1 Replies

2. Shell Programming and Scripting

Can someone review my code tell me where I am going wrong?

Started writing my code. my read input is not even asking nor working? And I get a EOF script error. echo "1) aragorn.domain.net" echo "2) marvel.domain.net" echo "3) athena.domain.net" echo "4) gandalf.domain.net" echo "5) griffin.domain.net" echo "What server would you like... (4 Replies)
Discussion started by: chrchcol
4 Replies

3. Shell Programming and Scripting

Tricky array substitution in functions

Hello, Please tell me if there is a better way to get the number of elements from an array that is passed to a function. This is what works on Solaris 8 (ksh) but it looks odd: loop_array() { array_name=$2 b1='\${\#' b2='}' nr_elements=`eval echo... (6 Replies)
Discussion started by: majormark
6 Replies

4. Programming

[ C ] multidemensional array pass to functions

Please excuse my ineptitude for a bit as I've been spoiled for the past few months with only writing perl code instead of C. So ok, I've been thinking about some code to change the crc32 values that are held within central directory headers of zip files. Because I'm lazy I decided to just... (3 Replies)
Discussion started by: VRoemer
3 Replies

5. Shell Programming and Scripting

How to reduce code.....

Hi All, Could some one help me to reduce the code... if then ./plist -m "$queuename" |grep $2|awk '{print $3}' >unlock.log elif then ./plist -m "$queuename" |grep $2|awk '{print $4}' >unlock.log else ./plist -m "$queuename" |grep $2|awk '{print $5}' >unlock.log . . . . ... (1 Reply)
Discussion started by: harshakusam
1 Replies

6. Shell Programming and Scripting

Passing array to functions in ksh script

Let me know if there is a way to pass array to a funtion in ksh script. function isPresent { typeset member member=$1 dbList=$2 echo '$1:' $1 echo '$2' $dbList The array will be at the second position....something like this isPresent 12 <array> if then echo... (3 Replies)
Discussion started by: prasperl
3 Replies

7. Programming

c++ code to check whether a list is circular or not

hi all, i need c++ code to check whether a list is circular or not... please help (8 Replies)
Discussion started by: vidyaj
8 Replies

8. Shell Programming and Scripting

Need help on Assigning a Array variable from Background Functions

I have a question on how can I assign a output of a function to a variable which is executed in background. Here is my example $ cat sample_program.sh #!/bin/ksh exec_func () { sleep 1 v=`expr $1 + 100` print $v } export OUT_ARR date for i in 1 2 do OUT_ARR=`exec_func $i` &... (1 Reply)
Discussion started by: mohan_kumarcs
1 Replies

9. Shell Programming and Scripting

Reduce the number of lines by using Array

I have the following code to count the number of how many times the name occurred in one file. The code is working fine and the output is exactly what I want. The problem is the real code has more than 50 names in function listname which cause function name to have more than 50 case ,and function... (14 Replies)
Discussion started by: samsan
14 Replies
COUGAR(1)						      ALLIANCE USER COMMANDS							 COUGAR(1)

NAME
cougar - Hierarchical netlist extractor SYNOPSIS
cougar [ -v ] [ -c ] [ -f ] [ -t ] [ -ar ] [ -ac ] input_name [ output_name ] ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.fr DESCRIPTION
Lynx changed its name to Cougar during May 2002 in order to avoid name conflict with the famous text-mode Web browser. Cougar is a hierar- chical layout extractor. It builds a netlist of interconnections from a symbolic layout view. The input argument is the name of the sym- bolic layout cell to be extracted, using as input format the one selected by the MBK_IN_PH(1) environment variable. If output is present, the resulting netlist will be given this name. If no output is given, then input will also be the generated netlist name. The output for- mat is specified by the MBK_OUT_LO(1) environment variable. As most of the Alliance cad tools, cougar uses mbk(1) environment variables. MBK_CATA_LIB(1), MBK_WORK_LIB(1), MBK_IN_PH(1), MBK_OUT_LO(1), RDS_TECHNO_NAME(1). Cougar computes capacitances attached to the signals if the -ac option is set. At the moment, the value of these capacitances is computed for a typical one micron technology, and cannot be changed by the user through a technology file. The extracted netlist can be simulated for performance evaluation. The typical capacitances are given below in 10e-18 farad / lamda^2 : POLY 100 ALU1 50 ALU2 25 OPTIONS
Cougar checks the two basic ALLIANCE rules regarding connector names: If two physical connectors are connected to the same net, they must have the same name. If two physical connectors have the same name, they must be internally connected to the same net. As a result only one logical connector will appear in the netlist. A fatal error occurs if one of those two rules is violated ( even for power and ground connectors ) When no options are specified, the current hierarchical level is extracted. The resulting netlist is the list of interconnections of the current layout hierarchy level. Three options are available to change cougar behaviour : -t Notifies a transistor level extraction, the symbolic layout cell is flattened to transistor layout before extraction. -f The symbolic layout cell is flattened to the catalog level before extraction. Use "man catal" for detail on the catalog file. If the catalog is empty, or doesn't exist, the netlist is an interconection of transistors, if it isn't, the netlist is an interconec- tion of gates or blocks whose names are defined in the catalog. -v Verbose mode on. Each step of the extraction is displayed on the standard output, along with some statistics. -c Generates a core file representing the conflictuel net, when cougar detects two external connectors with different names on the same signal, or when it finds two external connectors having the same name but not internally connected to the same net, or when it can- not correctly extract an L shaped transistor. -ac Extract capacitance to ground on losig. -ar Extract interconnect resistance and capacitance to ground. Value of resistance foreach layer can be changed in the RDS file. EXAMPLES
prompt> cougar -v amd2901 Gives a logical netlist of the chip amd2901, for one hierarchical level, using verbose mode. This would be typically used to verify the work of the ring(1) router, in conjunction with lvx on the specificated netlist and the extracted one. prompt> cat $MBK_WORK_LIB/$MBK_CATAL_NAME a2_y a2p_y . . prompt> cougar -f amd2901 Gives a logical netlist of the chip amd2901, after a flatten operation stopping on the cells specified in the catalog ( the standard cell library in our case ). prompt> cougar -t amd2901 Gives a logical netlist of the amd2901 chip at the transistor level. This is useful with yagle(1), to retrieve logical equations from a layout. SEE ALSO
al(5), MBK_CATA_LIB(1), MBK_WORK_LIB(1), MBK_CATAL_NAME(1), MBK_IN_PH(1), catal(5), RDS_TECHNO_NAME(1). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 COUGAR(1)
All times are GMT -4. The time now is 04:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy