Files
spack/var/spack/repos/builtin/packages/ensmallen/package.py
Wouter Deconinck 4ae1a73d54 (r-rcpp)ensmallen: new package (#38249)
* ensmallen: new package
  ensmallen is a high-quality C++ library for non-linear numerical optimization.
* r-rcppensmallen: new package

---------

Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
2023-06-08 09:53:02 -07:00

32 lines
1.1 KiB
Python

# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Ensmallen(CMakePackage):
"""ensmallen is a high-quality C++ library for non-linear numerical
optimization.
ensmallen provides many types of optimizers that can be used for
virtually any numerical optimization task. This includes gradient
descent techniques, gradient-free optimizers, and constrained
optimization. ensmallen also allows optional callbacks to customize
the optimization process."""
homepage = "https://ensmallen.org"
url = "https://github.com/mlpack/ensmallen/archive/refs/tags/2.19.1.tar.gz"
version("2.19.1", sha256="f36ad7f08b0688d2a8152e1c73dd437c56ed7a5af5facf65db6ffd977b275b2e")
variant("openmp", default=True, description="Use OpenMP for parallelization")
depends_on("cmake@3.3.2:")
depends_on("armadillo@9.800.0:")
def cmake_args(self):
args = [self.define_from_variant("USE_OPENMP", "openmp")]
return args