content: [package]
  name = "mech-compare"
  version = "0.2.60"
  authors = ["Corey Montella <corey@mech-lang.org>"]
  description = "Comparison library for the Mech language"
  documentation = "http://docs.mech-lang.org"
  homepage = "https://mech-lang.org"
  repository = "https://github.com/mech-machines/compare"
  keywords = ["mech", "language", "programming"]
  license = "Apache-2.0"
  readme = "README.md"
  edition = "2021"
  
  [badges]
  gitlab = { repository = "mech-lang/machines/compare", branch = "main" }
  maintenance = { status = "actively-developed" }
  
  [lib]
  crate-type = ["rlib"]
  
  [features]
  no_std = ["mech-core/no_std"]
  
  default = ["baselib", "pretty_print", "serde", "compiler", "program",
            "u8", "u16", "u32", "u64", "u128", 
            "i8", "i16", "i32", "i64", "i128", 
            "f32", "f64", "c64", "r64", 
              "compare_default",
              "statements_default", "subscript_default",
              "mech-core/default",
            ]
  base = ["baselib", "pretty_print", "serde", "compiler", "program",
        "compare_default",
        "statements_default", "subscript_default",
        "mech-core/base",
        ]   
  
  baselib = ["bool", "string", 
        "f64", "c64", "r64",
        "set", "map", "table", "tuple", "record", "atom", "enum",
        "row_vectord", "vectord", "matrixd",
        "subscript_range", "logical_indexing", 
        "subscript_formula",
        "variable_define", "variable_assign", 
        "kind_define",
        "kind_annotation", "variables",
        "functions", "formulas",
        "mech-core/baselib",
      ]
  
  compare_default = ["eq", "neq", "lt", "gt", "lte", "gte"]
  compare = ["functions", "bool"]
  eq = ["compare"]
  neq = ["compare"]
  lt = ["compare"]
  gt = ["compare"]
  lte = ["compare"]
  gte = ["compare"]
  
  statements_default = ["variable_assign","variable_define","kind_define"]
  subscript_default = ["subscript_slice", "subscript_range", "logical_indexing", "swizzle", "subscript_formula", "dot_indexing"]
  
  stdlib = ["bool", "string",
            "u8", "u16", "u32", "u64", "u128", 
            "i8", "i16", "i32", "i64", "i128", 
            "f32", "f64", "c64", "r64", 
            "set", "map", "table", "tuple", "record", "atom",
            "matrix1", "matrix2", "matrix3", "matrix4", "matrix2x3", "matrix3x2",
            "row_vector2", "row_vector3", "row_vector4",
            "vector2", "vector3", "vector4",
            "row_vectord", "vectord", "matrixd",
            "subscript_range", "logical_indexing", "swizzle",
            "subscript_formula", "dot_indexing",
            "variable_define", "variable_assign", "kind_define",
            "kind_annotation", "variables",
            "functions", "formulas",
          ]
  
  compiler = ["mech-core/compiler"]
  program = ["mech-core/program"]
  pretty_print = ["mech-core/pretty_print"]
  serde = ["mech-core/serde"]
  
  statements = ["mech-core/statements"]
  variables = ["variable_define", "symbol_table", "mech-core/variables"]
  variable_define = ["statements", "functions", "mech-core/variable_define"]
  variable_assign = ["statements", "mech-core/variable_assign"]
  kind_define = ["kind_annotation", "statements", "mech-core/kind_define"]
  kind_annotation = ["functions", "mech-core/kind_annotation"]
  formulas = ["mech-core/formulas"]
  functions = ["symbol_table", "mech-core/functions"]
  symbol_table = ["mech-core/symbol_table"]
  
  bool = ["mech-core/bool"]
  string = ["mech-core/string"]
  
  # Numbers
  numbers = ["mech-core/numbers"]
  complex = ["f64", "numbers", "mech-core/complex"]
  rational = ["i64", "numbers", "mech-core/rational"]
  signed_ints = ["numbers", "mech-core/signed_ints"]
  unsigned_ints = ["numbers", "mech-core/unsigned_ints"]
  floats = ["numbers", "mech-core/floats"]
  u8 = ["unsigned_ints", "mech-core/u8"]
  u16 = ["unsigned_ints", "mech-core/u16"]
  u32 = ["unsigned_ints", "mech-core/u32"]
  u64 = ["unsigned_ints", "mech-core/u64"]
  u128 = ["unsigned_ints", "mech-core/u128"]
  i8 = ["signed_ints", "mech-core/i8"]
  i16 = ["signed_ints", "mech-core/i16"]
  i32 = ["signed_ints", "mech-core/i32"]
  i64 = ["signed_ints", "mech-core/i64"]
  i128 = ["signed_ints", "mech-core/i128"]
  f32 = ["floats", "mech-core/f32"]
  f64 = ["floats", "mech-core/f64"]
  c64 = ["complex", "mech-core/c64"]
  r64 = ["rational", "mech-core/r64"]
  
  # Structs
  set = ["mech-core/set"]
  map = ["mech-core/map"]
  table = ["vectord", "record", "mech-core/table"]
  tuple = ["mech-core/tuple"]
  enum = ["mech-core/enum"]
  record = ["tuple", "mech-core/record"]
  atom = ["mech-core/atom"]
  
  # Matrix
  matrix = ["nalgebra", "mech-core/matrix"]
  fixed_row_vector = ["row_vector4", "row_vector3", "row_vector2", "mech-core/fixed_row_vector"]
  fixed_vector = ["vector4", "vector3", "vector2", "mech-core/fixed_vector"]
  fixed_matrix = ["matrix4", "matrix3", "matrix2", "matrix1", "matrix2x3", "matrix3x2", "mech-core/fixed_matrix"]
  dynamic_matrix = ["matrixd", "vectord", "row_vectord", "mech-core/dynamic_matrix"]
  row_vector4 = ["matrix", "mech-core/row_vector4"]
  row_vector3 = ["matrix", "mech-core/row_vector3"]
  row_vector2 = ["matrix", "mech-core/row_vector2"]
  vector4 = ["matrix", "mech-core/vector4"]
  vector3 = ["matrix", "mech-core/vector3"]
  vector2 = ["matrix", "mech-core/vector2"]
  matrix4 = ["matrix", "mech-core/matrix4"]
  matrix3 = ["matrix", "mech-core/matrix3"]
  matrix2 = ["matrix", "mech-core/matrix2", "mech-core/matrix"]
  matrix1 = ["matrix", "mech-core/matrix1"]
  matrix2x3 = ["matrix", "mech-core/matrix2x3"]
  matrix3x2 = ["matrix", "mech-core/matrix3x2"]
  row_vectord =["matrix",  "mech-core/row_vectord"]
  vectord = ["matrix",  "mech-core/vectord"]
  matrixd = ["matrix",  "mech-core/matrixd"]
  
  # Subscripts
  subscript = ["mech-core/subscript"]
  subscript_slice = ["subscript", "vectord", "mech-core/subscript_slice"]
  subscript_range = ["subscript_slice","vectord", "mech-core/subscript_range"]
  subscript_formula = ["subscript_slice","formulas", "mech-core/subscript_formula"]
  logical_indexing = ["subscript","vectord","bool", "mech-core/logical_indexing"]
  dot_indexing = ["subscript", "mech-core/dot_indexing"]
  swizzle = ["subscript", "mech-core/swizzle"]
  
  [dependencies]
  mech-core = {version = "0.2.60", default-features = false}
  
  paste = "1.0.15"
  inventory = "0.3.21"
  nalgebra = {version="0.34.0", optional = true}