I couldn’t find them.
How will I do ceil
and floor
operations in llvmlite?
Any pointer would be appreciated.
I couldn’t find them.
How will I do ceil
and floor
operations in llvmlite?
Any pointer would be appreciated.
Numba has a function call_fp_intrinsic()
you can look to for inspiration:
def call_fp_intrinsic(builder, name, args):
"""
Call a LLVM intrinsic floating-point operation.
"""
mod = builder.module
intr = mod.declare_intrinsic(name, [a.type for a in args])
return builder.call(intr, args)
For example calling this with call_fp_intrinsic(builder, "llvm.ceil", args)
should result in the operation you’re looking for. (In this example, builder
is the IR builder for your module, and args
should be the arguments as llvmlite values).
Working now, thanks!