// Generated by jextract

package c.lib.math;

import java.lang.invoke.MethodHandle;
import java.lang.invoke.VarHandle;
import java.nio.ByteOrder;
import java.lang.foreign.*;
import static java.lang.foreign.ValueLayout.*;
/**
 * {@snippet :
 * int (*__setusermatherr$x0)(struct _exception*);
 * }
 */
public interface __setusermatherr$x0 {

    int apply(java.lang.foreign.MemorySegment _x0);
    static MemorySegment allocate(__setusermatherr$x0 fi, Arena scope) {
        return RuntimeHelper.upcallStub(constants$10.const$0, fi, constants$9.const$2, scope);
    }
    static __setusermatherr$x0 ofAddress(MemorySegment addr, Arena arena) {
        MemorySegment symbol = addr.reinterpret(arena, null);
        return (java.lang.foreign.MemorySegment __x0) -> {
            try {
                return (int)constants$9.const$4.invokeExact(symbol, __x0);
            } catch (Throwable ex$) {
                throw new AssertionError("should not reach here", ex$);
            }
        };
    }
}


