279 m_set(set), m_hash_type(hash_type), m_n(n), m_h(h), m_d(d), m_a(a), m_k(k), m_w(w), m_bitsec(bitsec) {
322bool Sphincs_Parameters::is_available()
const {
323 [[maybe_unused]]
const bool is_slh_dsa = is_slh_dsa_set(m_set);
324#ifdef BOTAN_HAS_SLH_DSA_WITH_SHA2
325 if(is_slh_dsa && m_hash_type == Sphincs_Hash_Type::Sha256) {
329#ifdef BOTAN_HAS_SLH_DSA_WITH_SHAKE
330 if(is_slh_dsa && m_hash_type == Sphincs_Hash_Type::Shake256) {
334#ifdef BOTAN_HAS_SPHINCS_PLUS_WITH_SHA2
335 if(!is_slh_dsa && m_hash_type == Sphincs_Hash_Type::Sha256) {
339#ifdef BOTAN_HAS_SPHINCS_PLUS_WITH_SHAKE
340 if(!is_slh_dsa && m_hash_type == Sphincs_Hash_Type::Shake256) {
351 case Sphincs_Parameter_Set::Sphincs128Small:
352 case Sphincs_Parameter_Set::SLHDSA128Small:
354 case Sphincs_Parameter_Set::Sphincs128Fast:
355 case Sphincs_Parameter_Set::SLHDSA128Fast:
358 case Sphincs_Parameter_Set::Sphincs192Small:
359 case Sphincs_Parameter_Set::SLHDSA192Small:
361 case Sphincs_Parameter_Set::Sphincs192Fast:
362 case Sphincs_Parameter_Set::SLHDSA192Fast:
365 case Sphincs_Parameter_Set::Sphincs256Small:
366 case Sphincs_Parameter_Set::SLHDSA256Small:
368 case Sphincs_Parameter_Set::Sphincs256Fast:
369 case Sphincs_Parameter_Set::SLHDSA256Fast: