<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.15.0" xml:lang="en-US">
  <compounddef id="group__soft__constraints__generic" kind="group">
    <compoundname>soft_constraints_generic</compoundname>
    <title>Soft Constraints (generic implementation)</title>
    <sectiondef kind="typedef">
      <memberdef kind="typedef" id="group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32" prot="public" static="no">
        <type>int(*</type>
        <definition>typedef int(* vrna_sc_f) (int i, int j, int k, int l, unsigned char d, void *data)</definition>
        <argsstring>)(int i, int j, int k, int l, unsigned char d, void *data)</argsstring>
        <name>vrna_sc_f</name>
        <briefdescription>
<para>Callback to retrieve pseudo energy contribution for soft constraint feature. </para>
        </briefdescription>
        <detaileddescription>
<para>This is the prototype for callback functions used by the folding recursions to evaluate generic soft constraints. The first four parameters passed indicate the delimiting nucleotide positions of the decomposition, and the parameter <computeroutput>denotes</computeroutput> the decomposition step. The last parameter <computeroutput>data</computeroutput> is the auxiliary data structure associated to the hard constraints via <ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref>, or NULL if no auxiliary data was added.</para>
<para><xrefsect id="callbacks_1_callbacks000011"><xreftitle>Notes on Callback Functions</xreftitle><xrefdescription><para><parblock><para>This callback enables one to add (pseudo-)energy contributions to individual decompositions of the secondary structure. </para>
</parblock></para>
</xrefdescription></xrefsect></para>
<para><simplesect kind="see"><para><ref refid="group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5" kindref="member">VRNA_DECOMP_PAIR_HP</ref>, <ref refid="group__constraints_1gaeab04f34d7730cff2d651d782f95d857" kindref="member">VRNA_DECOMP_PAIR_IL</ref>, <ref refid="group__constraints_1gaa15b1185673f0b9e900c4748d45f388f" kindref="member">VRNA_DECOMP_PAIR_ML</ref>, <ref refid="group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e" kindref="member">VRNA_DECOMP_ML_ML_ML</ref>, <ref refid="group__constraints_1ga4a23054c75d8efc785de50e3ea87602f" kindref="member">VRNA_DECOMP_ML_STEM</ref>, <ref refid="group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78" kindref="member">VRNA_DECOMP_ML_ML</ref>, <ref refid="group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e" kindref="member">VRNA_DECOMP_ML_UP</ref>, <ref refid="group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98" kindref="member">VRNA_DECOMP_ML_ML_STEM</ref>, <ref refid="group__constraints_1ga4fe48d575830b16c208e280e01ab1497" kindref="member">VRNA_DECOMP_ML_COAXIAL</ref>, <ref refid="group__constraints_1ga437adf5115c1999304eff26b41e4c9b6" kindref="member">VRNA_DECOMP_EXT_EXT</ref>, <ref refid="group__constraints_1gaff1ddaffe86d984623910b40cc8a8717" kindref="member">VRNA_DECOMP_EXT_UP</ref>, <ref refid="group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441" kindref="member">VRNA_DECOMP_EXT_STEM</ref>, <ref refid="group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045" kindref="member">VRNA_DECOMP_EXT_EXT_EXT</ref>, <ref refid="group__constraints_1gabb09c5b78b75a44502fc77b950125c1e" kindref="member">VRNA_DECOMP_EXT_STEM_EXT</ref>, <ref refid="group__constraints_1ga06efd054c9271438f6d82d4559d9e69f" kindref="member">VRNA_DECOMP_EXT_EXT_STEM</ref>, <ref refid="group__constraints_1ga2e75d7a77118735b32f25422d9686719" kindref="member">VRNA_DECOMP_EXT_EXT_STEM1</ref>, <ref refid="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" kindref="member">vrna_sc_add_f()</ref>, <ref refid="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" kindref="member">vrna_sc_add_exp_f()</ref>, <ref refid="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" kindref="member">vrna_sc_add_bt()</ref>, <ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>i</parametername>
</parameternamelist>
<parameterdescription>
<para>Left (5&apos;) delimiter position of substructure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>j</parametername>
</parameternamelist>
<parameterdescription>
<para>Right (3&apos;) delimiter position of substructure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>k</parametername>
</parameternamelist>
<parameterdescription>
<para>Left delimiter of decomposition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>l</parametername>
</parameternamelist>
<parameterdescription>
<para>Right delimiter of decomposition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>d</parametername>
</parameternamelist>
<parameterdescription>
<para>Decomposition step indicator </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>data</parametername>
</parameternamelist>
<parameterdescription>
<para>Auxiliary data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Pseudo energy contribution in deka-kalories per mol </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="56" column="9" bodyfile="ViennaRNA/constraints/soft.h" bodystart="56" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__soft__constraints__generic_1ga0636dd85c4ac5fa30c8590fa8e1ffb48" prot="public" static="no">
        <type>int(*</type>
        <definition>typedef int(* vrna_sc_direct_f) (vrna_fold_compound_t *fc, int i, int j, int k, int l, void *data)</definition>
        <argsstring>)(vrna_fold_compound_t *fc, int i, int j, int k, int l, void *data)</argsstring>
        <name>vrna_sc_direct_f</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="82" column="9" bodyfile="ViennaRNA/constraints/soft.h" bodystart="82" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__soft__constraints__generic_1ga562554815b6717091125bf9782532740" prot="public" static="no">
        <type><ref refid="group__data__structures_1ga31125aeace516926bf7f251f759b6126" kindref="member">FLT_OR_DBL</ref>(*</type>
        <definition>typedef FLT_OR_DBL(* vrna_sc_exp_f) (int i, int j, int k, int l, unsigned char d, void *data)</definition>
        <argsstring>)(int i, int j, int k, int l, unsigned char d, void *data)</argsstring>
        <name>vrna_sc_exp_f</name>
        <briefdescription>
<para>Callback to retrieve pseudo energy contribution as Boltzmann Factors for soft constraint feature. </para>
        </briefdescription>
        <detaileddescription>
<para>This is the prototype for callback functions used by the partition function recursions to evaluate generic soft constraints. The first four parameters passed indicate the delimiting nucleotide positions of the decomposition, and the parameter <computeroutput>denotes</computeroutput> the decomposition step. The last parameter <computeroutput>data</computeroutput> is the auxiliary data structure associated to the hard constraints via <ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref>, or NULL if no auxiliary data was added.</para>
<para><xrefsect id="callbacks_1_callbacks000012"><xreftitle>Notes on Callback Functions</xreftitle><xrefdescription><para><parblock><para>This callback enables one to add (pseudo-)energy contributions to individual decompositions of the secondary structure (Partition function variant, i.e. contributions must be returned as Boltzmann factors). </para>
</parblock></para>
</xrefdescription></xrefsect></para>
<para><simplesect kind="see"><para><ref refid="group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5" kindref="member">VRNA_DECOMP_PAIR_HP</ref>, <ref refid="group__constraints_1gaeab04f34d7730cff2d651d782f95d857" kindref="member">VRNA_DECOMP_PAIR_IL</ref>, <ref refid="group__constraints_1gaa15b1185673f0b9e900c4748d45f388f" kindref="member">VRNA_DECOMP_PAIR_ML</ref>, <ref refid="group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e" kindref="member">VRNA_DECOMP_ML_ML_ML</ref>, <ref refid="group__constraints_1ga4a23054c75d8efc785de50e3ea87602f" kindref="member">VRNA_DECOMP_ML_STEM</ref>, <ref refid="group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78" kindref="member">VRNA_DECOMP_ML_ML</ref>, <ref refid="group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e" kindref="member">VRNA_DECOMP_ML_UP</ref>, <ref refid="group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98" kindref="member">VRNA_DECOMP_ML_ML_STEM</ref>, <ref refid="group__constraints_1ga4fe48d575830b16c208e280e01ab1497" kindref="member">VRNA_DECOMP_ML_COAXIAL</ref>, <ref refid="group__constraints_1ga437adf5115c1999304eff26b41e4c9b6" kindref="member">VRNA_DECOMP_EXT_EXT</ref>, <ref refid="group__constraints_1gaff1ddaffe86d984623910b40cc8a8717" kindref="member">VRNA_DECOMP_EXT_UP</ref>, <ref refid="group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441" kindref="member">VRNA_DECOMP_EXT_STEM</ref>, <ref refid="group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045" kindref="member">VRNA_DECOMP_EXT_EXT_EXT</ref>, <ref refid="group__constraints_1gabb09c5b78b75a44502fc77b950125c1e" kindref="member">VRNA_DECOMP_EXT_STEM_EXT</ref>, <ref refid="group__constraints_1ga06efd054c9271438f6d82d4559d9e69f" kindref="member">VRNA_DECOMP_EXT_EXT_STEM</ref>, <ref refid="group__constraints_1ga2e75d7a77118735b32f25422d9686719" kindref="member">VRNA_DECOMP_EXT_EXT_STEM1</ref>, <ref refid="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" kindref="member">vrna_sc_add_exp_f()</ref>, <ref refid="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" kindref="member">vrna_sc_add_f()</ref>, <ref refid="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" kindref="member">vrna_sc_add_bt()</ref>, <ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>i</parametername>
</parameternamelist>
<parameterdescription>
<para>Left (5&apos;) delimiter position of substructure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>j</parametername>
</parameternamelist>
<parameterdescription>
<para>Right (3&apos;) delimiter position of substructure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>k</parametername>
</parameternamelist>
<parameterdescription>
<para>Left delimiter of decomposition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>l</parametername>
</parameternamelist>
<parameterdescription>
<para>Right delimiter of decomposition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>d</parametername>
</parameternamelist>
<parameterdescription>
<para>Decomposition step indicator </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>data</parametername>
</parameternamelist>
<parameterdescription>
<para>Auxiliary data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Pseudo energy contribution in deka-kalories per mol </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="121" column="9" bodyfile="ViennaRNA/constraints/soft.h" bodystart="121" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__soft__constraints__generic_1ga452afbd0364a82099cea06a3b31c61be" prot="public" static="no">
        <type><ref refid="group__data__structures_1ga31125aeace516926bf7f251f759b6126" kindref="member">FLT_OR_DBL</ref>(*</type>
        <definition>typedef FLT_OR_DBL(* vrna_sc_exp_direct_f) (vrna_fold_compound_t *fc, int i, int j, int k, int l, void *data)</definition>
        <argsstring>)(vrna_fold_compound_t *fc, int i, int j, int k, int l, void *data)</argsstring>
        <name>vrna_sc_exp_direct_f</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="147" column="9" bodyfile="ViennaRNA/constraints/soft.h" bodystart="147" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd" prot="public" static="no">
        <type><ref refid="structvrna__basepair__t" kindref="compound">vrna_basepair_t</ref> *(*</type>
        <definition>typedef vrna_basepair_t *(* vrna_sc_bt_f) (int i, int j, int k, int l, unsigned char d, void *data)</definition>
        <argsstring>)(int i, int j, int k, int l, unsigned char d, void *data)</argsstring>
        <name>vrna_sc_bt_f</name>
        <briefdescription>
<para>Callback to retrieve auxiliary base pairs for soft constraint feature. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="callbacks_1_callbacks000013"><xreftitle>Notes on Callback Functions</xreftitle><xrefdescription><para><parblock><para>This callback enables one to add auxiliary base pairs in the backtracking steps of hairpin- and internal loops. </para>
</parblock></para>
</xrefdescription></xrefsect></para>
<para><simplesect kind="see"><para><ref refid="group__constraints_1ga8bd41ebc8039378d242e4e8c273716a5" kindref="member">VRNA_DECOMP_PAIR_HP</ref>, <ref refid="group__constraints_1gaeab04f34d7730cff2d651d782f95d857" kindref="member">VRNA_DECOMP_PAIR_IL</ref>, <ref refid="group__constraints_1gaa15b1185673f0b9e900c4748d45f388f" kindref="member">VRNA_DECOMP_PAIR_ML</ref>, <ref refid="group__constraints_1ga735517266f2e35e1374b8f1ea77ef23e" kindref="member">VRNA_DECOMP_ML_ML_ML</ref>, <ref refid="group__constraints_1ga4a23054c75d8efc785de50e3ea87602f" kindref="member">VRNA_DECOMP_ML_STEM</ref>, <ref refid="group__constraints_1ga7f4cb9ff7a33e67f0539bd39e7b19a78" kindref="member">VRNA_DECOMP_ML_ML</ref>, <ref refid="group__constraints_1gae6478dda14e50e2f2cb9ef333a29256e" kindref="member">VRNA_DECOMP_ML_UP</ref>, <ref refid="group__constraints_1ga63d8ceb8c96ae3b463e529e28cc0fe98" kindref="member">VRNA_DECOMP_ML_ML_STEM</ref>, <ref refid="group__constraints_1ga4fe48d575830b16c208e280e01ab1497" kindref="member">VRNA_DECOMP_ML_COAXIAL</ref>, <ref refid="group__constraints_1ga437adf5115c1999304eff26b41e4c9b6" kindref="member">VRNA_DECOMP_EXT_EXT</ref>, <ref refid="group__constraints_1gaff1ddaffe86d984623910b40cc8a8717" kindref="member">VRNA_DECOMP_EXT_UP</ref>, <ref refid="group__constraints_1gae44b5ace0d9b4a29088069ecb4cec441" kindref="member">VRNA_DECOMP_EXT_STEM</ref>, <ref refid="group__constraints_1ga803bd818b3f4b2b0a4a5cfa2f7dc2045" kindref="member">VRNA_DECOMP_EXT_EXT_EXT</ref>, <ref refid="group__constraints_1gabb09c5b78b75a44502fc77b950125c1e" kindref="member">VRNA_DECOMP_EXT_STEM_EXT</ref>, <ref refid="group__constraints_1ga06efd054c9271438f6d82d4559d9e69f" kindref="member">VRNA_DECOMP_EXT_EXT_STEM</ref>, <ref refid="group__constraints_1ga2e75d7a77118735b32f25422d9686719" kindref="member">VRNA_DECOMP_EXT_EXT_STEM1</ref>, <ref refid="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" kindref="member">vrna_sc_add_bt()</ref>, <ref refid="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" kindref="member">vrna_sc_add_f()</ref>, <ref refid="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" kindref="member">vrna_sc_add_exp_f()</ref>, <ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>i</parametername>
</parameternamelist>
<parameterdescription>
<para>Left (5&apos;) delimiter position of substructure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>j</parametername>
</parameternamelist>
<parameterdescription>
<para>Right (3&apos;) delimiter position of substructure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>k</parametername>
</parameternamelist>
<parameterdescription>
<para>Left delimiter of decomposition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>l</parametername>
</parameternamelist>
<parameterdescription>
<para>Right delimiter of decomposition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>d</parametername>
</parameternamelist>
<parameterdescription>
<para>Decomposition step indicator </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>data</parametername>
</parameternamelist>
<parameterdescription>
<para>Auxiliary data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>List of additional base pairs </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="181" column="9" bodyfile="ViennaRNA/constraints/soft.h" bodystart="181" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="func">
      <memberdef kind="function" id="group__soft__constraints__generic_1ga3c9716bfef128419cefdb9e37facadb9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>DEPRECATED</definition>
        <argsstring>(typedef int(vrna_callback_sc_energy)(int i, int j, int k, int l, unsigned char d, void *data), &quot;Use vrna_sc_f instead!&quot;)</argsstring>
        <name>DEPRECATED</name>
        <param>
          <type>typedef </type>
          <declname>int</declname>
          <array>vrna_callback_sc_energy)(int i, int j, int k, int l, unsigned char d, void *data</array>
        </param>
        <param>
          <type>&quot;Use <ref refid="group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32" kindref="member">vrna_sc_f</ref> instead!&quot;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="68" column="1" declfile="ViennaRNA/constraints/soft.h" declline="68" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gab12181b2a67560da4f56b22eccdd94d8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>DEPRECATED</definition>
        <argsstring>(typedef FLT_OR_DBL(vrna_callback_sc_exp_energy)(int i, int j, int k, int l, unsigned char d, void *data), &quot;Use vrna_sc_exp_f instead!&quot;)</argsstring>
        <name>DEPRECATED</name>
        <param>
          <type>typedef </type>
          <declname>FLT_OR_DBL</declname>
          <array>vrna_callback_sc_exp_energy)(int i, int j, int k, int l, unsigned char d, void *data</array>
        </param>
        <param>
          <type>&quot;Use <ref refid="group__soft__constraints__generic_1ga562554815b6717091125bf9782532740" kindref="member">vrna_sc_exp_f</ref> instead!&quot;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="133" column="1" declfile="ViennaRNA/constraints/soft.h" declline="133" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga6ea47bafe653e66387151d97a7a82d92" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>DEPRECATED</definition>
        <argsstring>(typedef vrna_basepair_t *(vrna_callback_sc_backtrack)(int i, int j, int k, int l, unsigned char d, void *data), &quot;Use vrna_sc_bt_f instead&quot;)</argsstring>
        <name>DEPRECATED</name>
        <param>
          <type>typedef <ref refid="structvrna__basepair__t" kindref="compound">vrna_basepair_t</ref> *</type>
          <array>vrna_callback_sc_backtrack)(int i, int j, int k, int l, unsigned char d, void *data</array>
        </param>
        <param>
          <type>&quot;Use <ref refid="group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd" kindref="member">vrna_sc_bt_f</ref> instead&quot;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="193" column="1" declfile="ViennaRNA/constraints/soft.h" declline="193" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_add_data</definition>
        <argsstring>(vrna_fold_compound_t *fc, void *data, vrna_auxdata_free_f free_data)</argsstring>
        <name>vrna_sc_add_data</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref></type>
          <declname>free_data</declname>
        </param>
        <briefdescription>
<para>Add an auxiliary data structure for the generic soft constraints callback function. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="see"><para><ref refid="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" kindref="member">vrna_sc_add_f()</ref>, <ref refid="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" kindref="member">vrna_sc_add_exp_f()</ref>, <ref refid="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" kindref="member">vrna_sc_add_bt()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>fc</parametername>
</parameternamelist>
<parameterdescription>
<para>The fold compound the generic soft constraint function should be bound to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>data</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the data structure that holds required data for function &apos;f&apos; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>free_data</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a function that free&apos;s the memory occupied by <computeroutput>data</computeroutput> (Maybe NULL) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Non-zero on successful binding the data (and free-function), 0 otherwise</para>
</simplesect>
<xrefsect id="wrappers_1_wrappers000050"><xreftitle>SWIG Wrapper Notes</xreftitle><xrefdescription><para><parblock><para>This function is attached as method <computeroutput>sc_add_data()</computeroutput> to objects of type <computeroutput>fold_compound</computeroutput>. See, e.g.  <verbatim>embed:rst:inline  :py:meth:`RNA.fold_compound.sc_add_data()` in the :doc:`/api_python` </verbatim>. </para>
</parblock></para>
</xrefdescription></xrefsect></para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="804" column="1" declfile="ViennaRNA/constraints/soft.h" declline="804" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gab720c26be4d3c925b9e75f69447af847" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_add_auxdata</definition>
        <argsstring>(vrna_fold_compound_t *fc, void *data, vrna_auxdata_prepare_f prepare_cb, vrna_auxdata_free_f free_cb)</argsstring>
        <name>vrna_sc_add_auxdata</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3" kindref="member">vrna_auxdata_prepare_f</ref></type>
          <declname>prepare_cb</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref></type>
          <declname>free_cb</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="810" column="1" declfile="ViennaRNA/constraints/soft.h" declline="810" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gaeaea940870ab84efa0afa992254a901a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_set_data_comparative</definition>
        <argsstring>(vrna_fold_compound_t *fc, void **data, vrna_auxdata_free_f *free_data, unsigned int options)</argsstring>
        <name>vrna_sc_set_data_comparative</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>void **</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref> *</type>
          <declname>free_data</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="817" column="1" declfile="ViennaRNA/constraints/soft.h" declline="817" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga5e57138ef5c50e258e78fa2608df8039" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_set_data_comparative_seq</definition>
        <argsstring>(vrna_fold_compound_t *fc, unsigned int s, void *data, vrna_auxdata_free_f free_data, unsigned int options)</argsstring>
        <name>vrna_sc_set_data_comparative_seq</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>s</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref></type>
          <declname>free_data</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="824" column="1" declfile="ViennaRNA/constraints/soft.h" declline="824" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga86056a499ee9dd05fd1b23ef36371952" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_set_auxdata_comparative</definition>
        <argsstring>(vrna_fold_compound_t *fc, void **data, vrna_auxdata_prepare_f *prepare_cbs, vrna_auxdata_free_f *free_data, unsigned int options)</argsstring>
        <name>vrna_sc_set_auxdata_comparative</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>void **</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3" kindref="member">vrna_auxdata_prepare_f</ref> *</type>
          <declname>prepare_cbs</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref> *</type>
          <declname>free_data</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="832" column="1" declfile="ViennaRNA/constraints/soft.h" declline="832" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gaba8e70886656828dbe04964fc97793f2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_set_auxdata_comparative_seq</definition>
        <argsstring>(vrna_fold_compound_t *fc, unsigned int s, void *data, vrna_auxdata_prepare_f prepare_cb, vrna_auxdata_free_f free_data, unsigned int options)</argsstring>
        <name>vrna_sc_set_auxdata_comparative_seq</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>s</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3" kindref="member">vrna_auxdata_prepare_f</ref></type>
          <declname>prepare_cb</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref></type>
          <declname>free_data</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="840" column="1" declfile="ViennaRNA/constraints/soft.h" declline="840" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_add_f</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_f f)</argsstring>
        <name>vrna_sc_add_f</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type><ref refid="group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32" kindref="member">vrna_sc_f</ref></type>
          <declname>f</declname>
        </param>
        <briefdescription>
<para>Bind a function pointer for generic soft constraint feature (MFE version). </para>
        </briefdescription>
        <detaileddescription>
<para>This function allows one to easily bind a function pointer and corresponding data structure to the soft constraint part <ref refid="group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6" kindref="member">vrna_sc_t</ref> of the <ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref>. The function for evaluating the generic soft constraint feature has to return a pseudo free energy <formula id="57">$ \hat{E} $</formula> in <formula id="58">$ dacal/mol $</formula>, where <formula id="59">$ 1 dacal/mol = 10 cal/mol $</formula>.</para>
<para><simplesect kind="see"><para><ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref>, <ref refid="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" kindref="member">vrna_sc_add_bt()</ref>, <ref refid="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" kindref="member">vrna_sc_add_exp_f()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>fc</parametername>
</parameternamelist>
<parameterdescription>
<para>The fold compound the generic soft constraint function should be bound to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>f</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the function that evaluates the generic soft constraint feature </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Non-zero on successful binding the callback function, 0 otherwise</para>
</simplesect>
<xrefsect id="wrappers_1_wrappers000051"><xreftitle>SWIG Wrapper Notes</xreftitle><xrefdescription><para><parblock><para>This function is attached as method <computeroutput>sc_add_f()</computeroutput> to objects of type <computeroutput>fold_compound</computeroutput>. See, e.g.  <verbatim>embed:rst:inline  :py:meth:`RNA.fold_compound.sc_add_f()` in the :doc:`/api_python` </verbatim>. </para>
</parblock></para>
</xrefdescription></xrefsect></para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="863" column="1" declfile="ViennaRNA/constraints/soft.h" declline="863" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga13351a9893fb73f0567b423aac24aac8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>size_t vrna_sc_multi_cb_add</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_direct_f cb, vrna_sc_exp_direct_f cb_exp, void *data, vrna_auxdata_prepare_f prepare_cb, vrna_auxdata_free_f free_cb, unsigned int decomp_type)</argsstring>
        <name>vrna_sc_multi_cb_add</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>vrna_sc_direct_f</type>
          <declname>cb</declname>
        </param>
        <param>
          <type>vrna_sc_exp_direct_f</type>
          <declname>cb_exp</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3" kindref="member">vrna_auxdata_prepare_f</ref></type>
          <declname>prepare_cb</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref></type>
          <declname>free_cb</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>decomp_type</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="868" column="1" declfile="ViennaRNA/constraints/soft.h" declline="868" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gad771e057367402dd31a54aa8d6e7cd74" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>size_t vrna_sc_multi_cb_add_comparative</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_direct_f *cbs, vrna_sc_exp_direct_f *cbs_exp, void **datas, vrna_auxdata_prepare_f *prepare_cbs, vrna_auxdata_free_f *free_cbs, unsigned int *ds, unsigned int multi_params)</argsstring>
        <name>vrna_sc_multi_cb_add_comparative</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type>vrna_sc_direct_f *</type>
          <declname>cbs</declname>
        </param>
        <param>
          <type>vrna_sc_exp_direct_f *</type>
          <declname>cbs_exp</declname>
        </param>
        <param>
          <type>void **</type>
          <declname>datas</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab78664b2ef71ae6d147d6e74bf2862d3" kindref="member">vrna_auxdata_prepare_f</ref> *</type>
          <declname>prepare_cbs</declname>
        </param>
        <param>
          <type><ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref> *</type>
          <declname>free_cbs</declname>
        </param>
        <param>
          <type>unsigned int *</type>
          <declname>ds</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>multi_params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="878" column="1" declfile="ViennaRNA/constraints/soft.h" declline="878" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga444f20e784e41156dd699182e3b9b517" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_set_f_comparative</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_f *f, unsigned int options)</argsstring>
        <name>vrna_sc_set_f_comparative</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type><ref refid="group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32" kindref="member">vrna_sc_f</ref> *</type>
          <declname>f</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="888" column="1" declfile="ViennaRNA/constraints/soft.h" declline="888" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_add_bt</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_bt_f f)</argsstring>
        <name>vrna_sc_add_bt</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type><ref refid="group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd" kindref="member">vrna_sc_bt_f</ref></type>
          <declname>f</declname>
        </param>
        <briefdescription>
<para>Bind a backtracking function pointer for generic soft constraint feature. </para>
        </briefdescription>
        <detaileddescription>
<para>This function allows one to easily bind a function pointer to the soft constraint part <ref refid="group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6" kindref="member">vrna_sc_t</ref> of the <ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref>. The provided function should be used for backtracking purposes in loop regions that were altered via the generic soft constraint feature. It has to return an array of <ref refid="structvrna__basepair__t" kindref="compound">vrna_basepair_t</ref> data structures, were the last element in the list is indicated by a value of -1 in it&apos;s i position.</para>
<para><simplesect kind="see"><para><ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref>, <ref refid="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" kindref="member">vrna_sc_add_f()</ref>, <ref refid="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" kindref="member">vrna_sc_add_exp_f()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>fc</parametername>
</parameternamelist>
<parameterdescription>
<para>The fold compound the generic soft constraint function should be bound to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>f</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the function that returns additional base pairs </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Non-zero on successful binding the callback function, 0 otherwise</para>
</simplesect>
<xrefsect id="wrappers_1_wrappers000052"><xreftitle>SWIG Wrapper Notes</xreftitle><xrefdescription><para><parblock><para>This function is attached as method <computeroutput>sc_add_bt()</computeroutput> to objects of type <computeroutput>fold_compound</computeroutput>. See, e.g.  <verbatim>embed:rst:inline  :py:meth:`RNA.fold_compound.sc_add_bt()` in the :doc:`/api_python` </verbatim>. </para>
</parblock></para>
</xrefdescription></xrefsect></para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="910" column="1" declfile="ViennaRNA/constraints/soft.h" declline="910" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1ga42ae58b56fb10e75a6ee3e131a6ae30e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_add_exp_f</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_exp_f exp_f)</argsstring>
        <name>vrna_sc_add_exp_f</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type><ref refid="group__soft__constraints__generic_1ga562554815b6717091125bf9782532740" kindref="member">vrna_sc_exp_f</ref></type>
          <declname>exp_f</declname>
        </param>
        <briefdescription>
<para>Bind a function pointer for generic soft constraint feature (PF version). </para>
        </briefdescription>
        <detaileddescription>
<para>This function allows one to easily bind a function pointer and corresponding data structure to the soft constraint part <ref refid="group__soft__constraints_1ga75401ce219ef8dbcceb672db82d434c6" kindref="member">vrna_sc_t</ref> of the <ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref>. The function for evaluating the generic soft constraint feature has to return a pseudo free energy <formula id="57">$ \hat{E} $</formula> as Boltzmann factor, i.e. <formula id="60">$ exp(- \hat{E} / kT) $</formula>. The required unit for <formula id="61">$ E $</formula> is <formula id="62">$ cal/mol $</formula>.</para>
<para><simplesect kind="see"><para><ref refid="group__soft__constraints__generic_1gab0a2cbb121e1589f38144341ba4852bd" kindref="member">vrna_sc_add_bt()</ref>, <ref refid="group__soft__constraints__generic_1ga4fdbb3b492d2343d827715a7a7a0f689" kindref="member">vrna_sc_add_f()</ref>, <ref refid="group__soft__constraints__generic_1ga0bab36ee5f9934b729778ec6f53cec3e" kindref="member">vrna_sc_add_data()</ref></para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>fc</parametername>
</parameternamelist>
<parameterdescription>
<para>The fold compound the generic soft constraint function should be bound to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>exp_f</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the function that evaluates the generic soft constraint feature </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Non-zero on successful binding the callback function, 0 otherwise</para>
</simplesect>
<xrefsect id="wrappers_1_wrappers000053"><xreftitle>SWIG Wrapper Notes</xreftitle><xrefdescription><para><parblock><para>This function is attached as method <computeroutput>sc_add_exp_f()</computeroutput> to objects of type <computeroutput>fold_compound</computeroutput>. See, e.g.  <verbatim>embed:rst:inline  :py:meth:`RNA.fold_compound.sc_add_exp_f()` in the :doc:`/api_python` </verbatim>. </para>
</parblock></para>
</xrefdescription></xrefsect></para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="930" column="1" declfile="ViennaRNA/constraints/soft.h" declline="930" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="group__soft__constraints__generic_1gac47672df7b10cbdbec0e713ec9c89c2c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int vrna_sc_set_exp_f_comparative</definition>
        <argsstring>(vrna_fold_compound_t *fc, vrna_sc_exp_f *exp_f, unsigned int options)</argsstring>
        <name>vrna_sc_set_exp_f_comparative</name>
        <param>
          <type><ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *</type>
          <declname>fc</declname>
        </param>
        <param>
          <type><ref refid="group__soft__constraints__generic_1ga562554815b6717091125bf9782532740" kindref="member">vrna_sc_exp_f</ref> *</type>
          <declname>exp_f</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/constraints/soft.h" line="935" column="1" declfile="ViennaRNA/constraints/soft.h" declline="935" declcolumn="1"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
  </compounddef>
</doxygen>
