* git mv src/wasm-lib rust Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv wasm-lib to workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv kcl-lib Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv derive docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * resolve file paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * move more shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * make yarn build:wasm work Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix scripts Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * better references Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix cargo ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix reference Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * cargo sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix script Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix a dep Signed-off-by: Jess Frazelle <github@jessfraz.com> * sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove unused deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * Revert "remove unused deps" This reverts commit fbabdb062e275fd5cbc1476f8480a1afee15d972. * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * deps; Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
42 lines
1011 B
Rust
42 lines
1011 B
Rust
//! Conversions between types.
|
|
|
|
use kcl_derive_docs::stdlib;
|
|
|
|
use crate::{
|
|
errors::KclError,
|
|
execution::{ExecState, KclValue},
|
|
std::Args,
|
|
};
|
|
|
|
/// Converts a number to integer.
|
|
pub async fn int(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
|
let num = args.get_number_with_type()?;
|
|
let converted = inner_int(num.n)?;
|
|
|
|
Ok(args.make_user_val_from_f64_with_type(num.map(converted)))
|
|
}
|
|
|
|
/// Convert a number to an integer.
|
|
///
|
|
/// DEPRECATED use floor(), ceil(), or round().
|
|
///
|
|
/// ```no_run
|
|
/// n = int(ceil(5/2))
|
|
/// assertEqual(n, 3, 0.0001, "5/2 = 2.5, rounded up makes 3")
|
|
/// // Draw n cylinders.
|
|
/// startSketchOn('XZ')
|
|
/// |> circle(center = [0, 0], radius = 2 )
|
|
/// |> extrude(length = 5)
|
|
/// |> patternTransform(instances = n, transform = fn(id) {
|
|
/// return { translate = [4 * id, 0, 0] }
|
|
/// })
|
|
/// ```
|
|
#[stdlib {
|
|
name = "int",
|
|
tags = ["convert"],
|
|
deprecated = true,
|
|
}]
|
|
fn inner_int(num: f64) -> Result<f64, KclError> {
|
|
Ok(num)
|
|
}
|