37 . ISETCOLM , NSET_COLLECT,
38 . JCLAUSE ,OPT_G ,IS_AVAILABLE ,
69#include "implicit_f.inc"
73 TYPE (SET_),
DIMENSION(NSETS),
INTENT(INOUT) :: SET
74 INTEGER JCLAUSE,OPT_G,ARRAY_SIZE,NSET_COLLECT
75 LOGICAL :: IS_AVAILABLE
76 INTEGER,
INTENT(IN),
DIMENSION(NSETS,2) :: ISETCOLM
78 INTEGER SETCOL_ARRAY(*)
85 CALL create_setcol_list_g(set,setcol_array, array_size ,isetcolm ,nset_collect ,jclause ,is_available ,lsubmodel)
87 CALL create_setcol_list (set,setcol_array, array_size ,isetcolm ,nset_collect ,jclause ,is_available ,lsubmodel)
105 . SET,ARRAY, ARRAY_SIZE, ISETCOLM ,NSET_COLLECT ,JCLAUSE ,IS_AVAILABLE ,LSUBMODEL)
132#include "implicit_f.inc"
136 TYPE (SET_),
DIMENSION(NSETS),
INTENT(INOUT) :: SET
137 INTEGER JCLAUSE, ARRAY_SIZE,NSET_COLLECT
138 LOGICAL :: IS_AVAILABLE
139 INTEGER,
INTENT(IN),
DIMENSION(NSETS,2) :: ISETCOLM
146 INTEGER I,J,IDS,NINDX,LIST_SIZE,IDS_MAX,PARTM,SETCOL
149 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: PART_READ_TMP,INDEX
159 ALLOCATE(part_read_tmp(ids_max))
160 part_read_tmp(1:ids_max) = 0
162 ALLOCATE(index(2*ids_max))
175 IF(isetcolm(j,1)==ids .AND. set(isetcolm(j,2))%SET_ACTIV==1)
THEN
176 setcol = isetcolm(j,2)
179 IF(isetcolm(j,1)>ids)
EXIT
185 part_read_tmp(nindx) = setcol
195 CALL my_orders(0,iwork,part_read_tmp,index,nindx,1)
198 array(i)=part_read_tmp(index(i))
201 CALL remove_duplicates( array
205 array_size = list_size
210 DEALLOCATE(part_read_tmp)
220!||--- calls -----------------------------------------------------
224!||--- uses -----------------------------------------------------
230 . SET,ARRAY, ARRAY_SIZE, ISETCOLM, NSET_COLLECT, JCLAUSE ,IS_AVAILABLE ,LSUBMODEL)
257#include "implicit_f.inc"
261 TYPE (SET_),
DIMENSION(NSETS),
INTENT(INOUT) :: SET
262 INTEGER JCLAUSE,ARRAY_SIZE, NSET_COLLECT
263 INTEGER ARRAY(ARRAY_SIZE)
264 LOGICAL :: IS_AVAILABLE
265 INTEGER,
INTENT(IN),
DIMENSION(NSET_COLLECT,2) :: ISETCOLM
272 INTEGER I,IGS,IDS,NINDX,LIST_SIZE,IDS_MAX,PARTM,GENE_MAX,K,P,P1
273 INTEGER START_GENE,END_GENE,INCR_GENE,PSTART,PSTOP,STACK,STACK_ONE,NB_RESULT
277 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: PART_READ_TMP,,IDEX,RESULT
278 INTEGER,
ALLOCATABLE,
DIMENSION(:,:) :: SETCOL_DICHO
280 INTEGER SET_USRTOS_NEAREST
281 EXTERNAL SET_USRTOS_NEAREST
283 ALLOCATE(setcol_dicho(
nsets,2))
288 IF(set(igs)%SET_ACTIV == 1)
THEN
291 setcol_dicho(sz_dicho,2) = igs
297 ALLOCATE(part_read_tmp(
nsets))
298 ALLOCATE(part_read_one(
nsets))
299 ALLOCATE(result(
nsets))
309 IF (incr_gene == 0) incr_gene = 1
311 pstart = set_usrtos_nearest(start_gene, setcol_dicho, sz_dicho,1)
312 pstop = set_usrtos_nearest(end_gene, setcol_dicho, sz_dicho,2)
316 p1 = setcol_dicho(p,1)
317 IF ( mod( p1-start_gene , incr_gene) == 0)
THEN
318 stack_one = stack_one+1
319 part_read_one(stack_one) = p
325 part_read_tmp(1:stack_one) = part_read_one(1:stack_one)
331 CALL union_2_sorted_sets( part_read_tmp, stack ,
332 * part_read_one, stack_one ,
333 * result, nb_result )
334 part_read_tmp(1:nb_result)=result(1:nb_result)
343 array(1:stack) = part_read_tmp(1:stack)
345 DEALLOCATE (part_read_one)
346 DEALLOCATE (part_read_tmp)
360 * IXC ,IXTG ,IXT ,IXP ,IXR ,
362 . SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
363 . KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
364 . IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
365 . X ,KEYSET ,OPT_E ,DELBUF )
392#include "implicit_f.inc"
393#include "param_c.inc"
395#include "scr17_c.inc"
400 INTEGER,
DIMENSION(NSETS),
INTENT(IN) :: SETL
401 TYPE (SET_),
DIMENSION(NSETS),
INTENT(IN) :: SET
402 TYPE (SET_) :: CLAUSE
403 TYPE (SET_SCRATCH) :: DELBUF
404 INTEGER OPT_A,OPT_O,OPT_E
406 INTEGER IXS(NIXS,*),IXS10(6,*),
407 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
408 . IXP(NIXP,*),IXR(NIXR,*),
409 . SH4TREE(*),SH3TREE(*),KNOD2ELS(*),KNOD2ELC(*),KNOD2ELTG(*),
410 . KNOD2ELQ(*),NOD2ELS(*),NOD2ELC(*),NOD2ELTG(*),NOD2ELQ(*),
411 . IPARTS(*),IPARTC(*),IPARTG(*),IPART(LIPART1,*)
414 CHARACTER(LEN=NCHARFIELD) :: KEYSET
428 * ixc ,ixtg ,ixt ,ixp ,ixr ,
430 . sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
432 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
450 * IXC ,IXTG ,IXT ,IXP ,IXR ,
452 * SH3TREE ,KNOD2ELS ,NOD2ELS ,KNOD2ELC ,NOD2ELC,
453 * KNOD2ELTG ,NOD2ELTG ,IPARTC ,IPARTG ,IPARTS ,
454 * IPART ,OPT_A ,OPT_O ,KNOD2ELQ ,NOD2ELQ,
455 * X ,KEYSET ,OPT_E ,DELBUF )
482#include "implicit_f.inc"
483#include "param_c.inc"
485#include "scr17_c.inc"
489 INTEGER SET_ID,ARRAY_SIZE ,IGS
490 INTEGER OPT_A,OPT_O,OPT_E
491 INTEGER,
DIMENSION(ARRAY_SIZE,2),
INTENT(IN)
492TYPE (SET_),
DIMENSION(NSETS),
INTENT(INOUT) :: SET
493 TYPE (SET_SCRATCH) :: DELBUF
494 INTEGER IXS(NIXS,*),IXS10(6,*),
495 . IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),IXT(NIXT,*),
497 . sh4tree(*),sh3tree(*),knod2els(*),knod2elc(*),knod2eltg(*),
498 . knod2elq(*),nod2els(*),nod2elc(*),nod2eltg(*),nod2elq(*),
499 . iparts(*),ipartc(*),ipartg(*),ipart(lipart1,*)
501 CHARACTER(LEN=NCHARFIELD) ::
509 IF(setcol_array(i,1) == set_id .AND. setcol_array(i,2) /= igs)
THEN
510 cur = setcol_array(i,2)
518 . ixc ,ixtg ,ixt ,ixp ,ixr ,
520 . sh3tree ,knod2els ,nod2els ,knod2elc ,nod2elc,
521 . knod2eltg ,nod2eltg ,ipartc ,ipartg ,iparts ,
522 . ipart ,opt_a ,opt_o ,knod2elq ,nod2elq,
523 . x ,keyset ,opt_e ,delbuf )
subroutine create_setcol_array(set, setcol_array, array_size, isetcolm, nset_collect, jclause, opt_g, is_available, lsubmodel)
subroutine create_set_collect(set, set_id, igs, setcol_array, array_size, ixs, ixs10, ixq, ixc, ixtg, ixt, ixp, ixr, sh4tree, sh3tree, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, opt_a, opt_o, knod2elq, nod2elq, x, keyset, opt_e, delbuf)
subroutine create_setcol_clause(set, setl, setl_size, clause, ixs, ixs10, ixq, ixc, ixtg, ixt, ixp, ixr, sh4tree, sh3tree, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, opt_a, opt_o, knod2elq, nod2elq, x, keyset, opt_e, delbuf)
subroutine create_setcol_list_g(set, array, array_size, isetcolm, nset_collect, jclause, is_available, lsubmodel)
subroutine create_setcol_list(set, array, array_size, isetcolm, nset_collect, jclause, is_available, lsubmodel)
subroutine hm_get_int_array_2indexes(name, ival, index1, index2, is_available, lsubmodel)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine insert_clause_in_set(set, clause, clause_operator, ixs, ixs10, ixq, ixc, ixtg, ixt, ixp, ixr, sh4tree, sh3tree, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ipartc, ipartg, iparts, ipart, opt_a, opt_o, knod2elq, nod2elq, x, keyset, opt_e, delbuf)
void my_orders(int *mode, int *iwork, int *data, int *index, int *n, int *irecl)
integer, parameter ncharfield
integer, parameter set_add
add operator