[#BN_mod_mul_reciprocal]
= BN&lowbar;mod&lowbar;mul&lowbar;reciprocal
:mrdocs:

Multiply then reduce using a reciprocal context&colon; r &equals; (x &ast; y) mod m (m from `recp)&period;`

== Synopsis

Declared in `&lt;openssl&sol;bn&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
int
BN&lowbar;mod&lowbar;mul&lowbar;reciprocal(
    xref:BIGNUM.adoc[BIGNUM]* r,
    xref:BIGNUM.adoc[BIGNUM] const* x,
    xref:BIGNUM.adoc[BIGNUM] const* y,
    xref:BN_RECP_CTX.adoc[BN&lowbar;RECP&lowbar;CTX]* recp,
    xref:BN_CTX.adoc[BN&lowbar;CTX]* ctx);
----

== Return Value

1 on success, or 0 on failure&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *r*
| Destination for the product modulo the reciprocal modulus&period;
| *x*
| First multiplicand&period;
| *y*
| Second multiplicand&period;
| *recp*
| Reciprocal context previously set with BN&lowbar;RECP&lowbar;CTX&lowbar;set()&period;
| *ctx*
| BN&lowbar;CTX for temporaries&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
