Subversion Repositories wimsdev

Rev

Rev 14626 | Rev 17891 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14626 Rev 17890
Line 2882... Line 2882...
2882
          }
2882
          }
2883
    if (code != 0 || tmfcode != tweaklevel)
2883
    if (code != 0 || tmfcode != tweaklevel)
2884
            tmfmismatch = true;
2884
            tmfmismatch = true;
2885
    else
2885
    else
2886
            tmfmismatch = false;
2886
            tmfmismatch = false;
2887
      if ((strpos2 (rline, ":r0", 1) >= 40 && ringsearch_mode != rs_sar) |
2887
      if ((strpos2 (rline, ":r0", 1) >= 40 && ringsearch_mode != rs_sar) ||
2888
                (strpos2 (rline, ":r1", 1) >= 40 && ringsearch_mode != rs_ssr))
2888
                (strpos2 (rline, ":r1", 1) >= 40 && ringsearch_mode != rs_ssr))
2889
              tmfmismatch = true;
2889
              tmfmismatch = true;
2890
      if ((strpos2 (rline, ":m0", 1) >= 40 && opt_metalrings == true) |
2890
      if ((strpos2 (rline, ":m0", 1) >= 40 && opt_metalrings == true) ||
2891
                (strpos2 (rline, ":m1", 1) >= 40 && opt_metalrings == false))
2891
                (strpos2 (rline, ":m1", 1) >= 40 && opt_metalrings == false))
2892
              tmfmismatch = true;
2892
              tmfmismatch = true;
2893
      /* p2c: checkmol.pas, line 2128:
2893
      /* p2c: checkmol.pas, line 2128:
2894
       * Note: Turbo Pascal conditional compilation directive was ignored [218] */
2894
       * Note: Turbo Pascal conditional compilation directive was ignored [218] */
2895
            /*$IFDEF debug */
2895
            /*$IFDEF debug */
Line 5646... Line 5646...
5646
     int a_view, a_ref;
5646
     int a_view, a_ref;
5647
{
5647
{
5648
  /* only recognized with CN triple bond! */
5648
  /* only recognized with CN triple bond! */
5649
  boolean r = false;
5649
  boolean r = false;
5650
 
5650
 
5651
  if (((strcmp (atom[a_view - 1].atype, "C1 ") == 0) &
5651
  if (((strcmp (atom[a_view - 1].atype, "C1 ") == 0) &&
5652
       (bond[get_bond (a_view, a_ref) - 1].btype == 'T')) &&
5652
       (bond[get_bond (a_view, a_ref) - 1].btype == 'T')) &&
5653
      !strcmp (atom[a_ref - 1].atype, "N1 ") &&
5653
      !strcmp (atom[a_ref - 1].atype, "N1 ") &&
5654
      atom[a_ref - 1].neighbor_count == 2
5654
      atom[a_ref - 1].neighbor_count == 2
5655
      && atom[a_view - 1].neighbor_count == 1)
5655
      && atom[a_view - 1].neighbor_count == 1)
5656
    r = true;
5656
    r = true;
Line 6404... Line 6404...
6404
  /* p2c: checkmol.pas: Note: Eliminated unused assignment statement [338] */
6404
  /* p2c: checkmol.pas: Note: Eliminated unused assignment statement [338] */
6405
  FORLIM = atom[a_ref - 1].neighbor_count;
6405
  FORLIM = atom[a_ref - 1].neighbor_count;
6406
  for (i = 0; i < FORLIM; i++) {
6406
  for (i = 0; i < FORLIM; i++) {
6407
    if (bond[get_bond (a_ref, nb[i]) - 1].btype == 'D')
6407
    if (bond[get_bond (a_ref, nb[i]) - 1].btype == 'D')
6408
            strcpy (dbl_het, atom[nb[i] - 1].element);
6408
            strcpy (dbl_het, atom[nb[i] - 1].element);
6409
    if (bond[get_bond (a_ref, nb[i]) - 1].btype == 'S') {
6409
    if (bond[get_bond (a_ref, nb[i]) - 1].btype == 'S') {
6410
            strcpy (nb_el, atom[nb[i] - 1].element);
6410
            strcpy (nb_el, atom[nb[i] - 1].element);
6411
            if (!strcmp (nb_el, "C "))
6411
            if (!strcmp (nb_el, "C "))
6412
              c_count++;
6412
              c_count++;
6413
            if (is_hydroxy (a_ref, nb[i]))
6413
            if (is_hydroxy (a_ref, nb[i]))
6414
              oh_count++;
6414
              oh_count++;
6415
            if (is_alkoxy (a_ref, nb[i]) || is_aryloxy (a_ref, nb[i]))
6415
            if (is_alkoxy (a_ref, nb[i]) || is_aryloxy (a_ref, nb[i]))
6416
              or_count++;
6416
              or_count++;
6417
            if (!strcmp (nb_el, "N "))
6417
            if (!strcmp (nb_el, "N "))
6418
              n_count++;
6418
              n_count++;
6419
            if (!strcmp (nb_el, "F ") || !strcmp (nb_el, "CL") ||
6419
            if (!strcmp (nb_el, "F ") || !strcmp (nb_el, "CL") ||
6420
                !strcmp (nb_el, "BR") || !strcmp (nb_el, "I ")
6420
                !strcmp (nb_el, "BR") || !strcmp (nb_el, "I ")
6421
                || !strcmp (nb_el, "AT"))
6421
                || !strcmp (nb_el, "AT"))
6422
              hal_count++;
6422
              hal_count++;
6423
          }
6423
          }
6424
  }
6424
  }
6425
  het_count = oh_count + or_count + hal_count + n_count;
6425
  het_count = oh_count + or_count + hal_count + n_count;
6426
  if (!strcmp (atom[a_ref - 1].atype, "P3D") ||
6426
  if (!strcmp (atom[a_ref - 1].atype, "P3D") ||
6427
      !strcmp (atom[a_ref - 1].atype, "P4 ")) {
6427
      !strcmp (atom[a_ref - 1].atype, "P4 ")) {
Line 6924... Line 6924...
6924
            if (is_alkoxy (a_view, a_o) || is_aryloxy (a_view, a_o)) {
6924
            if (is_alkoxy (a_view, a_o) || is_aryloxy (a_view, a_o)) {
6925
              if (bond[get_bond (a_view, a_s) - 1].arom == false)
6925
              if (bond[get_bond (a_view, a_s) - 1].arom == false)
6926
                      fg[fg_thiocarboxylic_acid_ester - 1] = true;
6926
                      fg[fg_thiocarboxylic_acid_ester - 1] = true;
6927
              if (bond[get_bond (a_view, a_o) - 1].ring_count > 0) {
6927
              if (bond[get_bond (a_view, a_o) - 1].ring_count > 0) {
6928
                      if (bond[get_bond (a_view, a_o) - 1].arom == true) {
6928
                      if (bond[get_bond (a_view, a_o) - 1].arom == true) {
6929
                        /*fg[fg_thiolactone_heteroarom] := true else fg[fg_thiolactone] := true; */
6929
                        /*fg[fg_thiolactone_heteroarom] := true else fg[fg_thiolactone] := true; */
6930
                        fg[fg_thioxohetarene - 1] = true;
6930
                        fg[fg_thioxohetarene - 1] = true;
6931
                      }
6931
                      }
6932
                      else
6932
                      else
6933
                        fg[fg_thiolactone - 1] = true;
6933
                        fg[fg_thiolactone - 1] = true;
6934
                    }
6934
                    }
6935
            }
6935
            }
6936
          }
6936
          }
6937
    if (n_count == 1) {
6937
    if (n_count == 1) {
6938
            if (bond[get_bond (a_view, a_n) - 1].arom == false)
6938
            if (bond[get_bond (a_view, a_n) - 1].arom == false)
6939
              fg[fg_thiocarboxylic_acid_deriv - 1] = true;
6939
              fg[fg_thiocarboxylic_acid_deriv - 1] = true;
6940
            else {
6940
            else {
Line 6963... Line 6963...
6963
          }
6963
          }
6964
          /*if (is_dialkylamino(a_view,a_n)) or (is_alkylarylamino(a_view,a_n)) or */
6964
          /*if (is_dialkylamino(a_view,a_n)) or (is_alkylarylamino(a_view,a_n)) or */
6965
          /*   (is_diarylamino(a_view,a_n)) then  */
6965
          /*   (is_diarylamino(a_view,a_n)) then  */
6966
          if (is_C_disubst_amino (a_view, a_n) & (!is_subst_acylamino (a_view, a_n))) {
6966
          if (is_C_disubst_amino (a_view, a_n) & (!is_subst_acylamino (a_view, a_n))) {
6967
            /* v0.3j */
6967
            /* v0.3j */
6968
            if (bond[get_bond (a_view, a_n) - 1].arom == false)
6968
            if (bond[get_bond (a_view, a_n) - 1].arom == false)
6969
                    fg[fg_thiocarboxylic_acid_amide - 1] = true;
6969
                    fg[fg_thiocarboxylic_acid_amide - 1] = true;
6970
              /*fg[fg_thiocarboxylic_acid_tert_amide] := true; */
6970
              /*fg[fg_thiocarboxylic_acid_tert_amide] := true; */
6971
            if (bond[get_bond (a_view, a_n) - 1].ring_count > 0) {
6971
            if (bond[get_bond (a_view, a_n) - 1].ring_count > 0) {
6972
                    if (bond[get_bond (a_view, a_n) - 1].arom == true) {
6972
                    if (bond[get_bond (a_view, a_n) - 1].arom == true) {
6973
                      /*fg[fg_thiolactam_heteroarom] := true else fg[fg_thiolactam] := true; */
6973
                      /*fg[fg_thiolactam_heteroarom] := true else fg[fg_thiolactam] := true; */
Line 7026... Line 7026...
7026
            if (bond[get_bond (a_view, a_s) - 1].arom == false)
7026
            if (bond[get_bond (a_view, a_s) - 1].arom == false)
7027
              fg[fg_carboxylic_acid_deriv - 1] = true;
7027
              fg[fg_carboxylic_acid_deriv - 1] = true;
7028
            if (is_alkylsulfanyl (a_view, a_s) || is_arylsulfanyl (a_view, a_s)) {
7028
            if (is_alkylsulfanyl (a_view, a_s) || is_arylsulfanyl (a_view, a_s)) {
7029
              if (bond[get_bond (a_view, a_s) - 1].arom == false)
7029
              if (bond[get_bond (a_view, a_s) - 1].arom == false)
7030
                 fg[fg_imido_thioester - 1] = true;
7030
                 fg[fg_imido_thioester - 1] = true;
7031
            }
7031
            }
7032
          }
7032
          }
7033
  }
7033
  }
7034
  if (is_hydroximino_C (a_view)) {
7034
  if (is_hydroximino_C (a_view)) {
7035
    if (bond[get_bond (a_view, a_n) - 1].arom == false)
7035
    if (bond[get_bond (a_view, a_n) - 1].arom == false)
7036
            fg[fg_carboxylic_acid_deriv - 1] = true;
7036
            fg[fg_carboxylic_acid_deriv - 1] = true;
7037
      if (o_count == 1) {
7037
      if (o_count == 1) {
Line 7091... Line 7091...
7091
  if (is_oxo_C (a_view)) {
7091
  if (is_oxo_C (a_view)) {
7092
      if (o_count == 2) {
7092
      if (o_count == 2) {
7093
              fg[fg_carbonic_acid_deriv - 1] = true;
7093
              fg[fg_carbonic_acid_deriv - 1] = true;
7094
              if (or_count == 1)
7094
              if (or_count == 1)
7095
                fg[fg_carbonic_acid_monoester - 1] = true;
7095
                fg[fg_carbonic_acid_monoester - 1] = true;
7096
              if (or_count == 2)
7096
              if (or_count == 2)
7097
                fg[fg_carbonic_acid_diester - 1] = true;
7097
                fg[fg_carbonic_acid_diester - 1] = true;
7098
            }
7098
            }
7099
      if (o_count == 1 && s_count == 1) {
7099
      if (o_count == 1 && s_count == 1) {
7100
              fg[fg_thiocarbonic_acid_deriv - 1] = true;
7100
              fg[fg_thiocarbonic_acid_deriv - 1] = true;
7101
              if (or_count + sr_count == 1)
7101
              if (or_count + sr_count == 1)
7102
                fg[fg_thiocarbonic_acid_monoester - 1] = true;
7102
                fg[fg_thiocarbonic_acid_monoester - 1] = true;
7103
              if (or_count + sr_count == 2)
7103
              if (or_count + sr_count == 2)
7104
                fg[fg_thiocarbonic_acid_diester - 1] = true;
7104
                fg[fg_thiocarbonic_acid_diester - 1] = true;
7105
            }
7105
            }
7106
      if (s_count == 2) {
7106
      if (s_count == 2) {
7107
              fg[fg_thiocarbonic_acid_deriv - 1] = true;
7107
              fg[fg_thiocarbonic_acid_deriv - 1] = true;
7108
              if (sr_count == 1)
7108
              if (sr_count == 1)
7109
                fg[fg_thiocarbonic_acid_monoester - 1] = true;
7109
                fg[fg_thiocarbonic_acid_monoester - 1] = true;
Line 7114... Line 7114...
7114
              fg[fg_carbamic_acid_deriv - 1] = true;
7114
              fg[fg_carbamic_acid_deriv - 1] = true;
7115
              if (or_count == 0)
7115
              if (or_count == 0)
7116
                fg[fg_carbamic_acid - 1] = true;
7116
                fg[fg_carbamic_acid - 1] = true;
7117
              if (or_count == 1)
7117
              if (or_count == 1)
7118
                fg[fg_carbamic_acid_ester - 1] = true;
7118
                fg[fg_carbamic_acid_ester - 1] = true;
7119
            }
7119
            }
7120
      if (s_count == 1 && n_count == 1) {
7120
      if (s_count == 1 && n_count == 1) {
7121
              fg[fg_thiocarbamic_acid_deriv - 1] = true;
7121
              fg[fg_thiocarbamic_acid_deriv - 1] = true;
7122
              if (sr_count == 0)
7122
              if (sr_count == 0)
7123
                fg[fg_thiocarbamic_acid - 1] = true;
7123
                fg[fg_thiocarbamic_acid - 1] = true;
7124
              if (sr_count == 1)
7124
              if (sr_count == 1)
7125
                fg[fg_thiocarbamic_acid_ester - 1] = true;
7125
                fg[fg_thiocarbamic_acid_ester - 1] = true;
7126
            }
7126
            }
7127
      if (n_count == 2) {
7127
      if (n_count == 2) {
7128
            if (nn_count == 1)
7128
            if (nn_count == 1)
7129
              fg[fg_semicarbazide - 1] = true;
7129
              fg[fg_semicarbazide - 1] = true;
7130
            else {
7130
            else {
7131
              if (nnx_count == 0)       /* excludes semicarbazones */
7131
              if (nnx_count == 0)       /* excludes semicarbazones */
7132
                      fg[fg_urea - 1] = true;
7132
                      fg[fg_urea - 1] = true;
7133
            }
7133
            }
Line 7186... Line 7186...
7186
    fg[fg_isourea - 1] = true;
7186
    fg[fg_isourea - 1] = true;
7187
  if (s_count == 1 && n_count == 1)
7187
  if (s_count == 1 && n_count == 1)
7188
    fg[fg_isothiourea - 1] = true;
7188
    fg[fg_isothiourea - 1] = true;
7189
  if (n_count == 2)
7189
  if (n_count == 2)
7190
    fg[fg_guanidine - 1] = true;
7190
    fg[fg_guanidine - 1] = true;
7191
}
7191
}
7192
 
7192
 
7193
static void chk_co2_sp (a_view, a_ref)
7193
static void chk_co2_sp (a_view, a_ref)
7194
     int a_view, a_ref;
7194
     int a_view, a_ref;
7195
{
7195
{
7196
  int i;
7196
  int i;
7197
  neighbor_rec nb;
7197
  neighbor_rec nb;
Line 7230... Line 7230...
7230
{
7230
{
7231
  str2 a1_el, a2_el;
7231
  str2 a1_el, a2_el;
7232
 
7232
 
7233
  strcpy (a1_el, atom[a1 - 1].element);
7233
  strcpy (a1_el, atom[a1 - 1].element);
7234
  strcpy (a2_el, atom[a2 - 1].element);
7234
  strcpy (a2_el, atom[a2 - 1].element);
7235
  if ((!strcmp (a1_el, "C ") && !strcmp (a2_el, "C ")) &
7235
  if ((!strcmp (a1_el, "C ") && !strcmp (a2_el, "C ")) &&
7236
      (bond[get_bond (a1, a2) - 1].arom == false))
7236
      (bond[get_bond (a1, a2) - 1].arom == false))
7237
    fg[fg_alkyne - 1] = true;
7237
    fg[fg_alkyne - 1] = true;
7238
  if (is_nitrile (a1, a2))
7238
  if (is_nitrile (a1, a2))
7239
    fg[fg_nitrile - 1] = true;
7239
    fg[fg_nitrile - 1] = true;
7240
  if (is_isonitrile (a1, a2))
7240
  if (is_isonitrile (a1, a2))
Line 7416... Line 7416...
7416
{
7416
{
7417
  str2 a1_el, a2_el;
7417
  str2 a1_el, a2_el;
7418
 
7418
 
7419
  strcpy (a1_el, atom[a1 - 1].element);
7419
  strcpy (a1_el, atom[a1 - 1].element);
7420
  strcpy (a2_el, atom[a2 - 1].element);
7420
  strcpy (a2_el, atom[a2 - 1].element);
7421
  if ((!strcmp (a1_el, "C ") && strcmp (a2_el, "C ")) &
7421
  if ((!strcmp (a1_el, "C ") && strcmp (a2_el, "C ")) &&
7422
      (bond[get_bond (a1, a2) - 1].arom == false)) {
7422
      (bond[get_bond (a1, a2) - 1].arom == false)) {
7423
    if (hetbond_count (a1) == 2)
7423
    if (hetbond_count (a1) == 2)
7424
            chk_carbonyl_deriv (a1, a2);
7424
            chk_carbonyl_deriv (a1, a2);
7425
    if (hetbond_count (a1) == 3)
7425
    if (hetbond_count (a1) == 3)
7426
            chk_carboxyl_deriv (a1, a2);
7426
            chk_carboxyl_deriv (a1, a2);
Line 7553... Line 7553...
7553
  }
7553
  }
7554
  if (is_true_alkyl (a2, a1) && is_true_alkoxy (a1, a2)) {
7554
  if (is_true_alkyl (a2, a1) && is_true_alkoxy (a1, a2)) {
7555
    fg[fg_ether - 1] = true;
7555
    fg[fg_ether - 1] = true;
7556
    fg[fg_dialkylether - 1] = true;
7556
    fg[fg_dialkylether - 1] = true;
7557
  }
7557
  }
7558
  if ((is_true_alkyl (a2, a1) && is_aryloxy (a1, a2)) |
7558
  if ((is_true_alkyl (a2, a1) && is_aryloxy (a1, a2)) ||
7559
      (is_aryl (a2, a1) && is_true_alkoxy (a1, a2))) {
7559
      (is_aryl (a2, a1) && is_true_alkoxy (a1, a2))) {
7560
    fg[fg_ether - 1] = true;
7560
    fg[fg_ether - 1] = true;
7561
    fg[fg_alkylarylether - 1] = true;
7561
    fg[fg_alkylarylether - 1] = true;
7562
  }
7562
  }
7563
  if (is_aryl (a2, a1) && is_aryloxy (a1, a2)) {
7563
  if (is_aryl (a2, a1) && is_aryloxy (a1, a2)) {
Line 7595... Line 7595...
7595
    fg[fg_thiol - 1] = true;
7595
    fg[fg_thiol - 1] = true;
7596
    fg[fg_arylthiol - 1] = true;
7596
    fg[fg_arylthiol - 1] = true;
7597
  }
7597
  }
7598
  if (is_true_alkyl (a2, a1) && is_true_alkylsulfanyl (a1, a2))
7598
  if (is_true_alkyl (a2, a1) && is_true_alkylsulfanyl (a1, a2))
7599
    fg[fg_thioether - 1] = true;
7599
    fg[fg_thioether - 1] = true;
7600
  if ((is_true_alkyl (a2, a1) && is_arylsulfanyl (a1, a2)) |
7600
  if ((is_true_alkyl (a2, a1) && is_arylsulfanyl (a1, a2)) ||
7601
        (is_aryl (a2, a1) && is_true_alkylsulfanyl (a1, a2)))
7601
        (is_aryl (a2, a1) && is_true_alkylsulfanyl (a1, a2)))
7602
    fg[fg_thioether - 1] = true;
7602
    fg[fg_thioether - 1] = true;
7603
  if (is_aryl (a2, a1) && is_arylsulfanyl (a1, a2))
7603
  if (is_aryl (a2, a1) && is_arylsulfanyl (a1, a2))
7604
    fg[fg_thioether - 1] = true;
7604
    fg[fg_thioether - 1] = true;
7605
  /* check for sulfinic/sulfenic acid derivatives */
7605
  /* check for sulfinic/sulfenic acid derivatives */
Line 7685... Line 7685...
7685
  if (is_true_alkyl (a2, a1) && is_true_dialkylamino (a1, a2)) {
7685
  if (is_true_alkyl (a2, a1) && is_true_dialkylamino (a1, a2)) {
7686
    fg[fg_amine - 1] = true;
7686
    fg[fg_amine - 1] = true;
7687
    fg[fg_tert_amine - 1] = true;
7687
    fg[fg_tert_amine - 1] = true;
7688
    fg[fg_tert_aliph_amine - 1] = true;
7688
    fg[fg_tert_aliph_amine - 1] = true;
7689
  }
7689
  }
7690
  if ((is_true_alkyl (a2, a1) && is_diarylamino (a1, a2)) |
7690
  if ((is_true_alkyl (a2, a1) && is_diarylamino (a1, a2)) ||
7691
      (is_aryl (a2, a1) && is_true_dialkylamino (a1, a2))) {
7691
      (is_aryl (a2, a1) && is_true_dialkylamino (a1, a2))) {
7692
    fg[fg_amine - 1] = true;
7692
    fg[fg_amine - 1] = true;
7693
    fg[fg_tert_amine - 1] = true;
7693
    fg[fg_tert_amine - 1] = true;
7694
    fg[fg_tert_mixed_amine - 1] = true;
7694
    fg[fg_tert_mixed_amine - 1] = true;
7695
  }
7695
  }
7696
  if (is_aryl (a2, a1) && is_diarylamino (a1, a2)) {
7696
  if (is_aryl (a2, a1) && is_diarylamino (a1, a2)) {
7697
    fg[fg_amine - 1] = true;
7697
    fg[fg_amine - 1] = true;
7698
    fg[fg_tert_amine - 1] = true;
7698
    fg[fg_tert_amine - 1] = true;
7699
    fg[fg_tert_arom_amine - 1] = true;
7699
    fg[fg_tert_arom_amine - 1] = true;
7700
  }
7700
  }
7701
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) |
7701
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) ||
7702
       is_alkynyl (a2, a1)) && is_hydroxylamino (a1, a2) && (is_acyl_gen (a2, a1) == false))
7702
       is_alkynyl (a2, a1)) && is_hydroxylamino (a1, a2) && (is_acyl_gen (a2, a1) == false))
7703
    /* v0.3k */
7703
    /* v0.3k */
7704
    fg[fg_hydroxylamine - 1] = true;
7704
    fg[fg_hydroxylamine - 1] = true;
7705
  /* v0.3k */
7705
  /* v0.3k */
7706
  /* v0.3k  */
7706
  /* v0.3k  */
7707
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_acyl (a2, a1) |
7707
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_acyl (a2, a1) ||
7708
       is_alkenyl (a2, a1) || is_alkynyl (a2, a1)) && is_hydrazino (a1, a2))
7708
       is_alkenyl (a2, a1) || is_alkynyl (a2, a1)) && is_hydrazino (a1, a2))
7709
    fg[fg_hydrazine - 1] = true;
7709
    fg[fg_hydrazine - 1] = true;
7710
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) |
7710
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) ||
7711
       is_alkynyl (a2, a1)) && is_azido (a1, a2))
7711
       is_alkynyl (a2, a1)) && is_azido (a1, a2))
7712
    /* v0.3k */
7712
    /* v0.3k */
7713
    fg[fg_azide - 1] = true;
7713
    fg[fg_azide - 1] = true;
7714
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) |
7714
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) ||
7715
       is_alkynyl (a2, a1)) && is_diazonium (a1, a2))
7715
       is_alkynyl (a2, a1)) && is_diazonium (a1, a2))
7716
    /* v0.3k */
7716
    /* v0.3k */
7717
    fg[fg_diazonium_salt - 1] = true;
7717
    fg[fg_diazonium_salt - 1] = true;
7718
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) |
7718
  if ((is_alkyl (a2, a1) || is_aryl (a2, a1) || is_alkenyl (a2, a1) |
7719
       is_alkynyl (a2, a1)) && is_nitro (a1, a2))
7719
       is_alkynyl (a2, a1)) && is_nitro (a1, a2))
Line 11792... Line 11792...
11792
   */
11792
   */
11793
  if (((!is_flat (ndl_ct_deg)) && (!is_flat (hst_ct_deg))) &&
11793
  if (((!is_flat (ndl_ct_deg)) && (!is_flat (hst_ct_deg))) &&
11794
      ndl_ct_deg * hst_ct_deg < 0)
11794
      ndl_ct_deg * hst_ct_deg < 0)
11795
    res = false;
11795
    res = false;
11796
  if (rs_strict) {
11796
  if (rs_strict) {
11797
      if (((is_flat (ndl_ct_deg) && (!is_flat (hst_ct_deg))) |
11797
      if (((is_flat (ndl_ct_deg) && (!is_flat (hst_ct_deg))) ||
11798
                (is_flat (hst_ct_deg) && (!is_flat (ndl_ct_deg)))) ||
11798
                (is_flat (hst_ct_deg) && (!is_flat (ndl_ct_deg)))) ||
11799
                ndl_ct_deg * hst_ct_deg < 0)
11799
                ndl_ct_deg * hst_ct_deg < 0)
11800
              res = false;
11800
              res = false;
11801
  }
11801
  }
11802
  return res;
11802
  return res;