Cargo Features

[dependencies]
mech-core = { version = "0.2.67", default-features = false, features = ["no_std", "base", "statements_default", "subscript_default", "stdlib", "baselib", "compiler", "program", "pretty_print", "serde", "statements", "variables", "variable_define", "variable_assign", "kind_define", "kind_annotation", "formulas", "functions", "symbol_table", "bool", "string", "numbers", "complex", "rational", "signed_ints", "unsigned_ints", "floats", "u128", "i32", "i64", "i128", "f32", "f64", "c64", "r64", "math_exp", "range", "set", "map", "table", "tuple", "enum", "record", "atom", "matrix", "fixed_row_vector", "fixed_vector", "fixed_matrix", "dynamic_matrix", "row_vector2", "vector2", "matrix1", "matrix3x2", "row_vectord", "vectord", "matrixd", "subscript", "subscript_slice", "subscript_range", "subscript_formula", "logical_indexing", "swizzle", "rayon", "wasm-bindgen", "web-sys"] }
default = baselib, c64, compiler, f32, f64, i128, i16, i32, i64, i8, pretty_print, program, r64, serde, statements_default, subscript_default, u128, u16, u32, u64, u8

These default features are set whenever mech-core is added without default-features = false somewhere in the dependency tree.

no_std = embedded-io, fxhash, hashbrown, rlibc
base = baselib, compiler, pretty_print, program, serde, statements_default, subscript_default
statements_default default base? = kind_define, variable_assign, variable_define
subscript_default default base? = dot_indexing, logical_indexing, subscript_formula, subscript_range, subscript_slice, swizzle
stdlib = atom, bool, c64, dot_indexing, f32, f64, formulas, functions, i128, i16, i32, i64, i8, kind_annotation, kind_define, logical_indexing, map, matrix1, matrix2, matrix2x3, matrix3, matrix3x2, matrix4, matrixd, r64, record, row_vector2, row_vector3, row_vector4, row_vectord, set, string, subscript_formula, subscript_range, swizzle, table, tuple, u128, u16, u32, u64, u8, variable_assign, variable_define, variables, vector2, vector3, vector4, vectord

Affects function::math_update, function::stats, function::set

baselib default base? = atom, bool, c64, enum, f64, formulas, functions, kind_annotation, kind_define, logical_indexing, map, matrixd, r64, record, row_vectord, set, string, subscript_formula, subscript_range, table, tuple, variable_assign, variable_define, variables, vectord
compiler default base? = byteorder, crc32fast

Affects functions::MechFunctionCompiler, functions::MechFunction, program::compiler

program default base? = byteorder, crc32fast

Affects program::program, program::compiler

pretty_print default base? = serde_json, tabled
serde default base? = base64, bincode, brotli, serde_derive, serde_json

Enables serde, serde of bincode and indexmap

Affects nodes::compress_and_encode, nodes::decode_and_decompress

statements kind_define? variable_assign? variable_define?
variables baselib stdlib? = symbol_table, variable_define
variable_define baselib statements_default stdlib? variables? = functions, statements
variable_assign baselib statements_default stdlib? = statements
kind_define baselib statements_default stdlib? = kind_annotation, statements
kind_annotation baselib kind_define? stdlib? = functions
formulas baselib stdlib? subscript_formula?
functions baselib kind_annotation? stdlib? variable_define? = indexmap, symbol_table

Affects mech-core::functions, program::ProgramState.functions, program::ProgramState.plan, stdlib::box_mech_fxn

symbol_table functions? variables?

Affects program::symbol_table, program::ProgramState.symbol_table

bool baselib logical_indexing? stdlib?
string baselib stdlib?
numbers complex? floats? rational? signed_ints? unsigned_ints?

Numbers

complex c64 = f64, nalgebra, num-traits, numbers

Affects types::complex_numbers

rational r64 = i64, num-rational, num-traits, numbers

Affects types::rational_numbers

signed_ints i128 i16 i32 i64 i8 = numbers
unsigned_ints u128 u16 u32 u64 u8 = numbers
floats f32 f64 = num-traits, numbers
u8 u16 u32 u64 u128 default stdlib? = unsigned_ints
i8 i16 i32 default stdlib? = signed_ints
i64 default rational? stdlib? = signed_ints
i128 default stdlib? = signed_ints
f32 default stdlib? = floats
f64 default baselib complex? stdlib? = floats
c64 default baselib stdlib? = complex
r64 default baselib stdlib? = rational
math_exp = libm, num-traits
range
set baselib stdlib? = indexmap

Structs

Affects structures::set

map baselib stdlib? = indexmap

Affects map::MechMap, structures::map

table baselib stdlib? = indexmap, record, vectord

Affects structures::table, table::MechTable

tuple baselib record? stdlib?

Affects structures::tuple

enum baselib

Affects program::EnumTable, program::ProgramState.enums, structures::enums

record baselib stdlib? table? = indexmap, tuple

Affects structures::record, record::MechRecord

atom baselib stdlib?

Affects atom::MechAtom, types::atom

matrix dynamic_matrix? fixed_matrix? fixed_row_vector? fixed_vector? matrix1? matrix2? matrix2x3? matrix3? matrix3x2? matrix4? matrixd? row_vector2? row_vector3? row_vector4? row_vectord? vector2? vector3? vector4? vectord? = nalgebra

Matrix

Affects structures::matrix

fixed_row_vector = matrix, row_vector2, row_vector3, row_vector4
fixed_vector = matrix, vector2, vector3, vector4
fixed_matrix = matrix, matrix1, matrix2, matrix2x3, matrix3, matrix3x2, matrix4
dynamic_matrix = matrix, matrixd, row_vectord, vectord
row_vector4 row_vector3 row_vector2 fixed_row_vector? stdlib? = matrix
vector4 vector3 vector2 fixed_vector? stdlib? = matrix
matrix4 matrix3 matrix2 matrix1 fixed_matrix? stdlib? = matrix
matrix2x3 matrix3x2 fixed_matrix? stdlib? = matrix
row_vectord baselib dynamic_matrix? stdlib? = matrix

Affects matrix::CopyMat.copy_into_r

vectord baselib dynamic_matrix? logical_indexing? stdlib? subscript_range? subscript_slice? table? = matrix

Affects matrix::CopyMat.copy_into_v

matrixd baselib dynamic_matrix? stdlib? = matrix

Affects matrix::CopyMat.copy_into, matrix::CopyMat.copy_into_row_major

subscript dot_indexing? logical_indexing? subscript_slice? swizzle?

Subscripts

subscript_slice subscript_default subscript_formula? subscript_range? = subscript, vectord
subscript_range baselib stdlib? subscript_default = subscript_slice, vectord
subscript_formula baselib stdlib? subscript_default = formulas, subscript_slice
logical_indexing baselib stdlib? subscript_default = bool, subscript, vectord
dot_indexing swizzle stdlib? subscript_default = subscript

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

byteorder compiler program
fxhash no_std?
embedded-io no_std?

Enables embedded-io ^0.6.1

crc32fast compiler program
base64 serde
bincode serde
brotli serde
hashbrown no_std?

Enables hashbrown ^0.15.5

indexmap functions? map? record? serde set? table?
libm math_exp?
nalgebra complex? matrix?
rayon implicit feature

Enables rayon

rayon:

Simple work-stealing parallelism for Rust

rlibc no_std?
serde_derive serde
serde_json pretty_print serde
tabled pretty_print

Enables tabled ^0.18.0

wasm-bindgen implicit feature

Enables wasm-bindgen

wasm-bindgen:

Easy support for interacting between JS and Rust

num-rational rational?
web-sys implicit feature

Enables web-sys

web-sys:

Bindings for all Web APIs, a procedurally generated crate from WebIDL

num-traits complex? floats? math_exp? rational?