// Generated by jextractpackage llama;import java.lang.invoke.*;import java.lang.foreign.*;import java.nio.ByteOrder;import java.util.*;import java.util.function.*;import java.util.stream.*;import static java.lang.foreign.ValueLayout.*;import static java.lang.foreign.MemoryLayout.PathElement.*;public class llama_h$shared {llama_h$shared() {// Should not be called directly}public static final ValueLayout.OfBoolean C_BOOL = (ValueLayout.OfBoolean) Linker.nativeLinker().canonicalLayouts().get("bool");public static final ValueLayout.OfByte C_CHAR =(ValueLayout.OfByte)Linker.nativeLinker().canonicalLayouts().get("char");public static final ValueLayout.OfShort C_SHORT = (ValueLayout.OfShort) Linker.nativeLinker().canonicalLayouts().get("short");public static final ValueLayout.OfInt C_INT = (ValueLayout.OfInt) Linker.nativeLinker().canonicalLayouts().get("int");public static final ValueLayout.OfLong C_LONG_LONG = (ValueLayout.OfLong) Linker.nativeLinker().canonicalLayouts().get("long long");public static final ValueLayout.OfFloat C_FLOAT = (ValueLayout.OfFloat) Linker.nativeLinker().canonicalLayouts().get("float");public static final ValueLayout.OfDouble C_DOUBLE = (ValueLayout.OfDouble) Linker.nativeLinker().canonicalLayouts().get("double");public static final AddressLayout C_POINTER = ((AddressLayout) Linker.nativeLinker().canonicalLayouts().get("void*")).withTargetLayout(MemoryLayout.sequenceLayout(java.lang.Long.MAX_VALUE, C_CHAR));public static final ValueLayout.OfInt C_LONG = (ValueLayout.OfInt) Linker.nativeLinker().canonicalLayouts().get("long");public static final ValueLayout.OfDouble C_LONG_DOUBLE = (ValueLayout.OfDouble) Linker.nativeLinker().canonicalLayouts().get("double");static final boolean TRACE_DOWNCALLS = Boolean.getBoolean("jextract.trace.downcalls");static void traceDowncall(String name, Object... args) {String traceArgs = Arrays.stream(args).map(Object::toString).collect(Collectors.joining(", "));System.out.printf("%s(%s)\n", name, traceArgs);}static MethodHandle upcallHandle(Class<?> fi, String name, FunctionDescriptor fdesc) {try {return MethodHandles.lookup().findVirtual(fi, name, fdesc.toMethodType());} catch (ReflectiveOperationException ex) {throw new AssertionError(ex);}}static MemoryLayout align(MemoryLayout layout, long align) {return switch (layout) {case PaddingLayout p -> p;case ValueLayout v -> v.withByteAlignment(align);case GroupLayout g -> {MemoryLayout[] alignedMembers = g.memberLayouts().stream().map(m -> align(m, align)).toArray(MemoryLayout[]::new);yield g instanceof StructLayout ?MemoryLayout.structLayout(alignedMembers) : MemoryLayout.unionLayout(alignedMembers);}case SequenceLayout s -> MemoryLayout.sequenceLayout(s.elementCount(), align(s.elementLayout(), align));};}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。