Changeset 362


Ignore:
Timestamp:
Nov 14, 2012 10:14:21 AM (7 years ago)
Author:
kulshres
Message:

reactivate index domain propagation for active subscripts and references

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ADOL-C/src/uni5_for.c

    r360 r362  
    39443944                    dp_T0[res] = dp_T0[arg1];
    39453945#if defined(_INDO_)
    3946                     //copy_index_domain(res, arg1, ind_dom);
     3946#if defined(_INDOPRO_)
     3947                    copy_index_domain(res, arg1, ind_dom);
     3948#endif
     3949#if defined(_NONLIND_)
     3950                    arg_index[res] = arg_index[arg1];
     3951#endif
    39473952#else
    39483953#if !defined(_ZOS_) /* BREAK_ZOS */
     
    39913996                dp_T0[res] = dp_T0[arg1];
    39923997#if defined(_INDO_)
    3993                 //copy_index_domain(res, arg1, ind_dom);
     3998#if defined(_INDOPRO_)
     3999                copy_index_domain(res, arg1, ind_dom);
     4000#endif
     4001#if defined(_NONLIND_)
     4002                arg_index[res] = arg_index[arg1];
     4003#endif
    39944004#else
    39954005#if !defined(_ZOS_) /* BREAK_ZOS */
     
    40404050                dp_T0[arg1] = coval;
    40414051#if defined(_INDO_)
    4042                 //ind_dom[arg1][0] = 0;
     4052#if defined(_INDOPRO_)
     4053                ind_dom[arg1][0] = 0;
     4054#endif
     4055#if defined(_NONLIND_)
     4056                fod[opind].entry = maxopind+2;
     4057                fod[opind].left = NULL;
     4058                fod[opind].right = NULL;
     4059                arg_index[arg1] = opind++;
     4060#endif
    40434061#else
    40444062#if !defined(_ZOS_)
     
    40634081                dp_T0[arg1] = 0.0;
    40644082#if defined(_INDO_)
    4065                 //ind_dom[arg1][0] = 0;
     4083#if defined(_INDOPRO_)
     4084                ind_dom[arg1][0] = 0;
     4085#endif
     4086#if defined(_NONLIND_)
     4087                fod[opind].entry = maxopind+2;
     4088                fod[opind].left = NULL;
     4089                fod[opind].right = NULL;
     4090                arg_index[arg1] = opind++;
     4091#endif
    40664092#else
    40674093#if !defined(_ZOS_)
     
    40864112                dp_T0[arg1] = 1.0;
    40874113#if defined(_INDO_)
    4088                 //ind_dom[arg1][0] = 0;
     4114#if defined(_INDOPRO_)
     4115                ind_dom[arg1][0] = 0;
     4116#endif
     4117#if defined(_NONLIND_)
     4118                fod[opind].entry = maxopind+2;
     4119                fod[opind].left = NULL;
     4120                fod[opind].right = NULL;
     4121                arg_index[arg1] = opind++;
     4122#endif
    40894123#else
    40904124#if !defined(_ZOS_)
     
    41114145                dp_T0[arg1] = dp_T0[arg];
    41124146#if defined(_INDO_)
    4113                 //copy_index_domain(arg1, arg, ind_dom);
     4147#if defined(_INDOPRO_)
     4148                copy_index_domain(arg1, arg, ind_dom);
     4149#endif
     4150#if defined(_NONLIND_)
     4151                arg_index[arg1] = arg_index[arg];
     4152#endif
    41144153#else
    41154154#if !defined(_ZOS_) /* BREAK_ZOS */
     
    41374176                dp_T0[res] = basepoint[indexi];
    41384177#if defined(_INDO_)
    4139                 //ind_dom[res][0] = 1;
    4140                 //ind_dom[res][2] = indexi;
     4178#if defined(_INDOPRO_)
     4179                ind_dom[res][0] = 1;
     4180                ind_dom[res][2] = indexi;
     4181#endif
     4182#if defined(_NONLIND_)
     4183                fod[opind].entry = indexi;
     4184                fod[opind].left = NULL;
     4185                fod[opind].right = NULL;
     4186                arg_index[res] = opind++;
     4187#endif
    41414188#else
    41424189#if !defined(_ZOS_) /* BREAK_ZOS */
     
    41874234                dp_T0[res] += dp_T0[arg];
    41884235#if defined(_INDO_)
    4189                 //merge_2_index_domains(res, arg, ind_dom);
     4236#if defined(_INDOPRO_)
     4237                merge_2_index_domains(res, arg, ind_dom);
     4238#endif
     4239#if defined(_NONLIND_)
     4240                fod[opind].entry = maxopind+2;
     4241                fod[opind].left = &fod[arg_index[res]];
     4242                fod[opind].right = &fod[arg_index[arg]];
     4243                arg_index[res] = opind++;
     4244#endif
    41904245#else
    41914246#if !defined(_ZOS_) /* BREAK_ZOS */
     
    42344289                dp_T0[res] -= dp_T0[arg];
    42354290#if defined(_INDO_)
    4236                 //merge_2_index_domains(res, arg, ind_dom);
     4291#if defined(_INDOPRO_)
     4292                merge_2_index_domains(res, arg, ind_dom);
     4293#endif
     4294#if defined(_NONLIND_)
     4295                fod[opind].entry = maxopind+2;
     4296                fod[opind].left = &fod[arg_index[res]];
     4297                fod[opind].right = &fod[arg_index[arg]];
     4298                arg_index[res] = opind++;
     4299#endif
    42374300#else
    42384301#if !defined(_ZOS_) /* BREAK_ZOS */
     
    42914354                IF_KEEP_WRITE_TAYLOR(res,keep,k,p)
    42924355#if defined(_INDO_)
    4293                 //merge_2_index_domains(res, arg, ind_dom);
    4294 #if defined(_NONLIND_)
    4295                 //extend_nonlinearity_domain_binary(res, arg, ind_dom, nonl_dom);
     4356#if defined(_INDOPRO_)
     4357                merge_2_index_domains(res, arg, ind_dom);
     4358#endif
     4359#if defined(_NONLIND_)
     4360                fod[opind].entry = maxopind+2;
     4361                fod[opind].left = &fod[arg_index[res]];
     4362                fod[opind].right = &fod[arg_index[arg]];
     4363                traverse_unary(&fod[arg_index[res]], nonl_dom, &fod[arg_index[arg]], indcheck+1,maxopind+2);
     4364                traverse_unary(&fod[arg_index[arg]], nonl_dom, &fod[arg_index[res]], indcheck+1,maxopind+2);
     4365                arg_index[res] = opind++;
    42964366#endif
    42974367#else
     
    43504420                    dp_T0[res] = dp_T0[arg1];
    43514421
    4352                     //combine_2_index_domains(res, arg1, arg2, ind_dom);
     4422#if defined(_INDOPRO_)
     4423                    copy_index_domains(res, arg1, ind_dom);
     4424#endif
     4425#if defined(_NONLIND_)
     4426                    arg_index[res] = arg_index[arg1];
     4427#endif
    43534428                } else {
    43544429                    if (coval > 0.0)
     
    43584433                    dp_T0[res] = dp_T0[arg2];
    43594434
    4360                     //combine_2_index_domains(res, arg1, arg2, ind_dom);
     4435#if defined(_INDOPRO_)
     4436                    copy_index_domains(res, arg2, ind_dom);
     4437#endif
     4438#if defined(_NONLIND_)
     4439                    arg_index[res] = arg_index[arg2];
     4440#endif
    43614441                }
    43624442#else
     
    44324512                /* olvo 980924 changed order to allow reflexive ops */
    44334513#if defined(_INDO_)
    4434                     //copy_index_domain(res, arg1, ind_dom);
     4514                if (dp_T0[arg] > 0) {
     4515#if defined(_INDOPRO_)
     4516                    copy_index_domain(res, arg1, ind_dom);
     4517#endif
     4518#if defined(_NONLIND_)
     4519                    arg_index[res] = arg_index[arg1];
     4520#endif
     4521                }
    44354522#else
    44364523#if !defined(_ZOS_) /* BREAK_ZOS */
Note: See TracChangeset for help on using the changeset viewer.