inline
void
msymlb(
  int const& ist,
  int& lspgrp,
  str_ref namspg,
  str_ref nampg,
  int& nsymp,
  int& nsym,
  arr_ref<float, 3> rot)
{
  msymlb_(
    &ist, &lspgrp, namspg.elems(), nampg.elems(), &nsymp, &nsym, rot.begin(),
    namspg.len(), nampg.len());
}
inline
void
asuset(
  str_cref spgnam,
  int const& numsgp,
  str_ref pgname,
  int const& msym,
  arr_ref<float, 3> rrsym,
  int& msymp,
  int& mlaue,
  bool const& lprint)
{
  ccp4_ftn_logical lprint_ = lprint;
  asuset_(
    spgnam.elems(),
    &numsgp,
    pgname.elems(),
    &msym,
    rrsym.begin(),
    &msymp,
    &mlaue,
    &lprint_,
    spgnam.len(),
    pgname.len());
}
inline
void
msymlb3(
  int const& ist,
  int& lspgrp,
  str_ref namspg_cif,
  str_ref namspg_cifs,
  str_ref nampg,
  int& nsymp,
  int& nsym,
  arr_ref<float, 3> rlsymmmatrx)
{
  msymlb3_(
    &ist, &lspgrp, namspg_cif.elems(), namspg_cifs.elems(), nampg.elems(),
    &nsymp, &nsym, rlsymmmatrx.begin(),
    namspg_cif.len(), namspg_cifs.len(), nampg.len());
}