1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586# 1 "src/base/optimise/algodiff/owl_algodiff_core_sig.ml"moduletypeSig=sigincludeOwl_algodiff_types_sig.Sig(* hepler functions of the core AD component *)valcmp_tag:int->int->intvalreset_zero:t->tvalprimal:t->tvalprimal':t->tvalzero:t->tvaltangent:t->tvaladjref:t->trefvaladjval:t->tvalshape:t->intarrayvalrow_num:t->intvalcol_num:t->intvalnumel:t->intvalclip_by_value:amin:A.elt->amax:A.elt->t->tvalclip_by_l2norm:A.elt->t->tvalcopy_primal':t->tvaltile:t->intarray->tvalrepeat:t->intarray->t(* packing and unpacking functions *)valpack_elt:A.elt->tvalunpack_elt:t->A.eltvalpack_flt:float->t(* shorcut for type conversion *)val_f:float->tvalunpack_flt:t->floatvalpack_arr:A.arr->tvalunpack_arr:t->A.arr(* functions to report errors, help in debugging *)valdeep_info:t->stringvaltype_info:t->stringvalerror_binop:string->t->t->'avalerror_uniop:string->t->'a(* single input single output operation *)valop_siso:t->(t->t)->(t->t)->(t->t->t->t)->(t->op)->t(* single input pair outputs operation *)valop_sipo:t->(t->t*t)->(t->t*t)->(t->t->t->t)->(t*(tref*tref)*(tref*tref)->op)->t*t(* single input triple outputs operation *)valop_sito:t->(t->t*t*t)->(t->t*t*t)->(t->t->t->t)->(t*(tref*tref*tref)*(tref*tref*tref)->op)->t*t*t(* single input array outputs operation *)valop_siao:t->(t->tarray)->(t->tarray)->(t->t->t->t)->(t*trefarray*trefarray->op)->tarray(* pair inputs single output operation *)valop_piso:t->t->(t->t->t)->(t->t->t)->(t->t->t->t)->(t->t->t->t)->(t->t->t->t->t->t)->(t->t->op)->(t->t->op)->(t->t->op)->tend