Interface FPNum<Name>

Floating-point numeral value

interface FPNum<Name extends string = "main"> {
    ctx: Context<Name>;
    get ast(): Z3_ast;
    get sort(): S;
    abs(): FP<Name>;
    add(rm: FPRM<Name>, other: CoercibleToFP<Name>): FP<Name>;
    arg(i: number): AnyExpr<Name>;
    children(): AnyExpr<Name>[];
    decl(): FuncDecl<Name, Sort<Name>[], Sort<Name>>;
    div(rm: FPRM<Name>, other: CoercibleToFP<Name>): FP<Name>;
    eq(other: CoercibleToExpr<Name>): Bool<Name>;
    eqIdentity(other: Ast<Name, unknown>): boolean;
    fma(
        rm: FPRM<Name>,
        y: CoercibleToFP<Name>,
        z: CoercibleToFP<Name>,
    ): FP<Name>;
    ge(other: CoercibleToFP<Name>): Bool<Name>;
    gt(other: CoercibleToFP<Name>): Bool<Name>;
    hash(): number;
    id(): number;
    isInf(): Bool<Name>;
    isNaN(): Bool<Name>;
    isNegative(): Bool<Name>;
    isNormal(): Bool<Name>;
    isPositive(): Bool<Name>;
    isSubnormal(): Bool<Name>;
    isZero(): Bool<Name>;
    le(other: CoercibleToFP<Name>): Bool<Name>;
    lt(other: CoercibleToFP<Name>): Bool<Name>;
    mul(rm: FPRM<Name>, other: CoercibleToFP<Name>): FP<Name>;
    name(): string | number;
    neg(): FP<Name>;
    neq(other: CoercibleToExpr<Name>): Bool<Name>;
    neqIdentity(other: Ast<Name, unknown>): boolean;
    numArgs(): number;
    params(): (
        | string
        | number
        | Sort<Name>
        | FuncDecl<Name, Sort<Name>[], Sort<Name>>
        | Expr<Name, AnySort<Name>, unknown>
    )[];
    rem(other: CoercibleToFP<Name>): FP<Name>;
    sexpr(): string;
    sqrt(rm: FPRM<Name>): FP<Name>;
    sub(rm: FPRM<Name>, other: CoercibleToFP<Name>): FP<Name>;
    value(): number;
}

Type Parameters

  • Name extends string = "main"

Hierarchy (View Summary)

Arithmetic

Comparison

Other

  • Get the floating-point value as a JavaScript number Note: May lose precision for values outside JavaScript number range

    Returns number

Predicates