1 module tfd.c_api.windows; 2 version (Windows): 3 4 import core.stdc.config; 5 import core.stdc.stdarg: va_list; 6 static import core.simd; 7 static import std.conv; 8 9 struct Int128 { long lower; long upper; } 10 struct UInt128 { ulong lower; ulong upper; } 11 12 struct __locale_data { int dummy; } 13 14 15 16 alias _Bool = bool; 17 struct dpp { 18 static struct Opaque(int N) { 19 void[N] bytes; 20 } 21 22 static bool isEmpty(T)() { 23 return T.tupleof.length == 0; 24 } 25 static struct Move(T) { 26 T* ptr; 27 } 28 29 30 static auto move(T)(ref T value) { 31 return Move!T(&value); 32 } 33 mixin template EnumD(string name, T, string prefix) if(is(T == enum)) { 34 private static string _memberMixinStr(string member) { 35 import std.conv: text; 36 import std.array: replace; 37 return text(` `, member.replace(prefix, ""), ` = `, T.stringof, `.`, member, `,`); 38 } 39 private static string _enumMixinStr() { 40 import std.array: join; 41 string[] ret; 42 ret ~= "enum " ~ name ~ "{"; 43 static foreach(member; __traits(allMembers, T)) { 44 ret ~= _memberMixinStr(member); 45 } 46 ret ~= "}"; 47 return ret.join("\n"); 48 } 49 mixin(_enumMixinStr()); 50 } 51 } 52 53 extern(C) 54 { 55 alias size_t = ulong; 56 bool TF_TensorIsAligned(const(TF_Tensor)*) @nogc nothrow; 57 ulong TF_StringEncodedSize(ulong) @nogc nothrow; 58 ulong TF_StringDecode(const(char)*, ulong, const(char)**, ulong*, TF_Status*) @nogc nothrow; 59 ulong TF_StringEncode(const(char)*, ulong, char*, ulong, TF_Status*) @nogc nothrow; 60 void TF_TensorBitcastFrom(const(TF_Tensor)*, TF_DataType, TF_Tensor*, const(long)*, int, TF_Status*) @nogc nothrow; 61 long TF_TensorElementCount(const(TF_Tensor)*) @nogc nothrow; 62 void* TF_TensorData(const(TF_Tensor)*) @nogc nothrow; 63 ulong TF_TensorByteSize(const(TF_Tensor)*) @nogc nothrow; 64 long TF_Dim(const(TF_Tensor)*, int) @nogc nothrow; 65 int TF_NumDims(const(TF_Tensor)*) @nogc nothrow; 66 TF_DataType TF_TensorType(const(TF_Tensor)*) @nogc nothrow; 67 void TF_DeleteTensor(TF_Tensor*) @nogc nothrow; 68 TF_Tensor* TF_TensorMaybeMove(TF_Tensor*) @nogc nothrow; 69 TF_Tensor* TF_AllocateTensor(TF_DataType, const(long)*, int, ulong) @nogc nothrow; 70 TF_Tensor* TF_NewTensor(TF_DataType, const(long)*, int, void*, ulong, void function(void*, ulong, void*), void*) @nogc nothrow; 71 struct TF_Tensor; 72 const(char)* TF_Message(const(TF_Status)*) @nogc nothrow; 73 TF_Code TF_GetCode(const(TF_Status)*) @nogc nothrow; 74 void TF_SetStatus(TF_Status*, TF_Code, const(char)*) @nogc nothrow; 75 void TF_DeleteStatus(TF_Status*) @nogc nothrow; 76 TF_Status* TF_NewStatus() @nogc nothrow; 77 enum TF_Code 78 { 79 TF_OK = 0, 80 TF_CANCELLED = 1, 81 TF_UNKNOWN = 2, 82 TF_INVALID_ARGUMENT = 3, 83 TF_DEADLINE_EXCEEDED = 4, 84 TF_NOT_FOUND = 5, 85 TF_ALREADY_EXISTS = 6, 86 TF_PERMISSION_DENIED = 7, 87 TF_UNAUTHENTICATED = 16, 88 TF_RESOURCE_EXHAUSTED = 8, 89 TF_FAILED_PRECONDITION = 9, 90 TF_ABORTED = 10, 91 TF_OUT_OF_RANGE = 11, 92 TF_UNIMPLEMENTED = 12, 93 TF_INTERNAL = 13, 94 TF_UNAVAILABLE = 14, 95 TF_DATA_LOSS = 15, 96 } 97 enum TF_OK = TF_Code.TF_OK; 98 enum TF_CANCELLED = TF_Code.TF_CANCELLED; 99 enum TF_UNKNOWN = TF_Code.TF_UNKNOWN; 100 enum TF_INVALID_ARGUMENT = TF_Code.TF_INVALID_ARGUMENT; 101 enum TF_DEADLINE_EXCEEDED = TF_Code.TF_DEADLINE_EXCEEDED; 102 enum TF_NOT_FOUND = TF_Code.TF_NOT_FOUND; 103 enum TF_ALREADY_EXISTS = TF_Code.TF_ALREADY_EXISTS; 104 enum TF_PERMISSION_DENIED = TF_Code.TF_PERMISSION_DENIED; 105 enum TF_UNAUTHENTICATED = TF_Code.TF_UNAUTHENTICATED; 106 enum TF_RESOURCE_EXHAUSTED = TF_Code.TF_RESOURCE_EXHAUSTED; 107 enum TF_FAILED_PRECONDITION = TF_Code.TF_FAILED_PRECONDITION; 108 enum TF_ABORTED = TF_Code.TF_ABORTED; 109 enum TF_OUT_OF_RANGE = TF_Code.TF_OUT_OF_RANGE; 110 enum TF_UNIMPLEMENTED = TF_Code.TF_UNIMPLEMENTED; 111 enum TF_INTERNAL = TF_Code.TF_INTERNAL; 112 enum TF_UNAVAILABLE = TF_Code.TF_UNAVAILABLE; 113 enum TF_DATA_LOSS = TF_Code.TF_DATA_LOSS; 114 struct TF_Status; 115 ulong TF_DataTypeSize(TF_DataType) @nogc nothrow; 116 enum TF_DataType 117 { 118 TF_FLOAT = 1, 119 TF_DOUBLE = 2, 120 TF_INT32 = 3, 121 TF_UINT8 = 4, 122 TF_INT16 = 5, 123 TF_INT8 = 6, 124 TF_STRING = 7, 125 TF_COMPLEX64 = 8, 126 TF_COMPLEX = 8, 127 TF_INT64 = 9, 128 TF_BOOL = 10, 129 TF_QINT8 = 11, 130 TF_QUINT8 = 12, 131 TF_QINT32 = 13, 132 TF_BFLOAT16 = 14, 133 TF_QINT16 = 15, 134 TF_QUINT16 = 16, 135 TF_UINT16 = 17, 136 TF_COMPLEX128 = 18, 137 TF_HALF = 19, 138 TF_RESOURCE = 20, 139 TF_VARIANT = 21, 140 TF_UINT32 = 22, 141 TF_UINT64 = 23, 142 } 143 enum TF_FLOAT = TF_DataType.TF_FLOAT; 144 enum TF_DOUBLE = TF_DataType.TF_DOUBLE; 145 enum TF_INT32 = TF_DataType.TF_INT32; 146 enum TF_UINT8 = TF_DataType.TF_UINT8; 147 enum TF_INT16 = TF_DataType.TF_INT16; 148 enum TF_INT8 = TF_DataType.TF_INT8; 149 enum TF_STRING = TF_DataType.TF_STRING; 150 enum TF_COMPLEX64 = TF_DataType.TF_COMPLEX64; 151 enum TF_COMPLEX = TF_DataType.TF_COMPLEX; 152 enum TF_INT64 = TF_DataType.TF_INT64; 153 enum TF_BOOL = TF_DataType.TF_BOOL; 154 enum TF_QINT8 = TF_DataType.TF_QINT8; 155 enum TF_QUINT8 = TF_DataType.TF_QUINT8; 156 enum TF_QINT32 = TF_DataType.TF_QINT32; 157 enum TF_BFLOAT16 = TF_DataType.TF_BFLOAT16; 158 enum TF_QINT16 = TF_DataType.TF_QINT16; 159 enum TF_QUINT16 = TF_DataType.TF_QUINT16; 160 enum TF_UINT16 = TF_DataType.TF_UINT16; 161 enum TF_COMPLEX128 = TF_DataType.TF_COMPLEX128; 162 enum TF_HALF = TF_DataType.TF_HALF; 163 enum TF_RESOURCE = TF_DataType.TF_RESOURCE; 164 enum TF_VARIANT = TF_DataType.TF_VARIANT; 165 enum TF_UINT32 = TF_DataType.TF_UINT32; 166 enum TF_UINT64 = TF_DataType.TF_UINT64; 167 enum TF_AttrType 168 { 169 TF_ATTR_STRING = 0, 170 TF_ATTR_INT = 1, 171 TF_ATTR_FLOAT = 2, 172 TF_ATTR_BOOL = 3, 173 TF_ATTR_TYPE = 4, 174 TF_ATTR_SHAPE = 5, 175 TF_ATTR_TENSOR = 6, 176 TF_ATTR_PLACEHOLDER = 7, 177 TF_ATTR_FUNC = 8, 178 } 179 enum TF_ATTR_STRING = TF_AttrType.TF_ATTR_STRING; 180 enum TF_ATTR_INT = TF_AttrType.TF_ATTR_INT; 181 enum TF_ATTR_FLOAT = TF_AttrType.TF_ATTR_FLOAT; 182 enum TF_ATTR_BOOL = TF_AttrType.TF_ATTR_BOOL; 183 enum TF_ATTR_TYPE = TF_AttrType.TF_ATTR_TYPE; 184 enum TF_ATTR_SHAPE = TF_AttrType.TF_ATTR_SHAPE; 185 enum TF_ATTR_TENSOR = TF_AttrType.TF_ATTR_TENSOR; 186 enum TF_ATTR_PLACEHOLDER = TF_AttrType.TF_ATTR_PLACEHOLDER; 187 enum TF_ATTR_FUNC = TF_AttrType.TF_ATTR_FUNC; 188 void TF_RegisterLogListener(void function(const(char)*)) @nogc nothrow; 189 void TF_DeleteServer(TF_Server*) @nogc nothrow; 190 const(char)* TF_ServerTarget(TF_Server*) @nogc nothrow; 191 void TF_ServerJoin(TF_Server*, TF_Status*) @nogc nothrow; 192 void TF_ServerStop(TF_Server*, TF_Status*) @nogc nothrow; 193 void TF_ServerStart(TF_Server*, TF_Status*) @nogc nothrow; 194 TF_Server* TF_NewServer(const(void)*, ulong, TF_Status*) @nogc nothrow; 195 struct TF_Server; 196 TF_Buffer* TF_GetRegisteredKernelsForOp(const(char)*, TF_Status*) @nogc nothrow; 197 TF_Buffer* TF_GetAllRegisteredKernels(TF_Status*) @nogc nothrow; 198 TF_Buffer* TF_ApiDefMapGet(TF_ApiDefMap*, const(char)*, ulong, TF_Status*) @nogc nothrow; 199 void TF_ApiDefMapPut(TF_ApiDefMap*, const(char)*, ulong, TF_Status*) @nogc nothrow; 200 void TF_DeleteApiDefMap(TF_ApiDefMap*) @nogc nothrow; 201 TF_ApiDefMap* TF_NewApiDefMap(TF_Buffer*, TF_Status*) @nogc nothrow; 202 struct TF_ApiDefMap; 203 TF_Buffer* TF_GetAllOpList() @nogc nothrow; 204 void TF_DeleteLibraryHandle(TF_Library*) @nogc nothrow; 205 TF_Buffer TF_GetOpList(TF_Library*) @nogc nothrow; 206 TF_Library* TF_LoadLibrary(const(char)*, TF_Status*) @nogc nothrow; 207 struct TF_Library; 208 ulong TF_DeviceListIncarnation(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow; 209 long TF_DeviceListMemoryBytes(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow; 210 const(char)* TF_DeviceListType(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow; 211 const(char)* TF_DeviceListName(const(TF_DeviceList)*, int, TF_Status*) @nogc nothrow; 212 int TF_DeviceListCount(const(TF_DeviceList)*) @nogc nothrow; 213 void TF_DeleteDeviceList(TF_DeviceList*) @nogc nothrow; 214 TF_DeviceList* TF_DeprecatedSessionListDevices(TF_DeprecatedSession*, TF_Status*) @nogc nothrow; 215 TF_DeviceList* TF_SessionListDevices(TF_Session*, TF_Status*) @nogc nothrow; 216 struct TF_DeviceList; 217 void TF_PRun(TF_DeprecatedSession*, const(char)*, const(char)**, TF_Tensor**, int, const(char)**, TF_Tensor**, int, const(char)**, int, TF_Status*) @nogc nothrow; 218 void TF_PRunSetup(TF_DeprecatedSession*, const(char)**, int, const(char)**, int, const(char)**, int, const(char)**, TF_Status*) @nogc nothrow; 219 void TF_Run(TF_DeprecatedSession*, const(TF_Buffer)*, const(char)**, TF_Tensor**, int, const(char)**, TF_Tensor**, int, const(char)**, int, TF_Buffer*, TF_Status*) @nogc nothrow; 220 void TF_ExtendGraph(TF_DeprecatedSession*, const(void)*, ulong, TF_Status*) @nogc nothrow; 221 void TF_Reset(const(TF_SessionOptions)*, const(char)**, int, TF_Status*) @nogc nothrow; 222 void TF_DeleteDeprecatedSession(TF_DeprecatedSession*, TF_Status*) @nogc nothrow; 223 void TF_CloseDeprecatedSession(TF_DeprecatedSession*, TF_Status*) @nogc nothrow; 224 TF_DeprecatedSession* TF_NewDeprecatedSession(const(TF_SessionOptions)*, TF_Status*) @nogc nothrow; 225 struct TF_DeprecatedSession; 226 void TF_DeletePRunHandle(const(char)*) @nogc nothrow; 227 void TF_SessionPRun(TF_Session*, const(char)*, const(TF_Output)*, TF_Tensor**, int, const(TF_Output)*, TF_Tensor**, int, const(const(TF_Operation)*)*, int, TF_Status*) @nogc nothrow; 228 void TF_SessionPRunSetup(TF_Session*, const(TF_Output)*, int, const(TF_Output)*, int, const(const(TF_Operation)*)*, int, const(char)**, TF_Status*) @nogc nothrow; 229 void TF_SessionRun(TF_Session*, const(TF_Buffer)*, const(TF_Output)*, TF_Tensor**, int, const(TF_Output)*, TF_Tensor**, int, const(const(TF_Operation)*)*, int, TF_Buffer*, TF_Status*) @nogc nothrow; 230 void TF_DeleteSession(TF_Session*, TF_Status*) @nogc nothrow; 231 void TF_CloseSession(TF_Session*, TF_Status*) @nogc nothrow; 232 TF_Session* TF_LoadSessionFromSavedModel(const(TF_SessionOptions)*, const(TF_Buffer)*, const(char)*, const(const(char)*)*, int, TF_Graph*, TF_Buffer*, TF_Status*) @nogc nothrow; 233 TF_Session* TF_NewSession(TF_Graph*, const(TF_SessionOptions)*, TF_Status*) @nogc nothrow; 234 struct TF_Session; 235 ubyte TF_TryEvaluateConstant(TF_Graph*, TF_Output, TF_Tensor**, TF_Status*) @nogc nothrow; 236 void TF_DeleteFunction(TF_Function*) @nogc nothrow; 237 void TF_FunctionGetAttrValueProto(TF_Function*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow; 238 void TF_FunctionSetAttrValueProto(TF_Function*, const(char)*, const(void)*, ulong, TF_Status*) @nogc nothrow; 239 TF_Function* TF_FunctionImportFunctionDef(const(void)*, ulong, TF_Status*) @nogc nothrow; 240 void TF_FunctionToFunctionDef(TF_Function*, TF_Buffer*, TF_Status*) @nogc nothrow; 241 const(char)* TF_FunctionName(TF_Function*) @nogc nothrow; 242 TF_Function* TF_GraphToFunctionWithControlOutputs(const(TF_Graph)*, const(char)*, ubyte, int, const(const(TF_Operation)*)*, int, const(TF_Output)*, int, const(TF_Output)*, const(const(char)*)*, int, const(const(TF_Operation)*)*, const(const(char)*)*, const(TF_FunctionOptions)*, const(char)*, TF_Status*) @nogc nothrow; 243 TF_Function* TF_GraphToFunction(const(TF_Graph)*, const(char)*, ubyte, int, const(const(TF_Operation)*)*, int, const(TF_Output)*, int, const(TF_Output)*, const(const(char)*)*, const(TF_FunctionOptions)*, const(char)*, TF_Status*) @nogc nothrow; 244 void TF_AddGradientsWithPrefix(TF_Graph*, const(char)*, TF_Output*, int, TF_Output*, int, TF_Output*, TF_Status*, TF_Output*) @nogc nothrow; 245 void TF_AddGradients(TF_Graph*, TF_Output*, int, TF_Output*, int, TF_Output*, TF_Status*, TF_Output*) @nogc nothrow; 246 void TF_AbortWhile(const(TF_WhileParams)*) @nogc nothrow; 247 void TF_FinishWhile(const(TF_WhileParams)*, TF_Status*, TF_Output*) @nogc nothrow; 248 TF_WhileParams TF_NewWhile(TF_Graph*, TF_Output*, int, TF_Status*) @nogc nothrow; 249 struct TF_WhileParams 250 { 251 const(int) ninputs; 252 TF_Graph* cond_graph; 253 const(const(TF_Output)*) cond_inputs; 254 TF_Output cond_output; 255 TF_Graph* body_graph; 256 const(const(TF_Output)*) body_inputs; 257 TF_Output* body_outputs; 258 const(char)* name; 259 } 260 void TF_OperationToNodeDef(TF_Operation*, TF_Buffer*, TF_Status*) @nogc nothrow; 261 int TF_GraphGetFunctions(TF_Graph*, TF_Function**, int, TF_Status*) @nogc nothrow; 262 int TF_GraphNumFunctions(TF_Graph*) @nogc nothrow; 263 void TF_GraphCopyFunction(TF_Graph*, const(TF_Function)*, const(TF_Function)*, TF_Status*) @nogc nothrow; 264 void TF_GraphImportGraphDef(TF_Graph*, const(TF_Buffer)*, const(TF_ImportGraphDefOptions)*, TF_Status*) @nogc nothrow; 265 void TF_GraphImportGraphDefWithReturnOutputs(TF_Graph*, const(TF_Buffer)*, const(TF_ImportGraphDefOptions)*, TF_Output*, int, TF_Status*) @nogc nothrow; 266 TF_ImportGraphDefResults* TF_GraphImportGraphDefWithResults(TF_Graph*, const(TF_Buffer)*, const(TF_ImportGraphDefOptions)*, TF_Status*) @nogc nothrow; 267 void TF_DeleteImportGraphDefResults(TF_ImportGraphDefResults*) @nogc nothrow; 268 void TF_ImportGraphDefResultsMissingUnusedInputMappings(TF_ImportGraphDefResults*, int*, const(char)***, int**) @nogc nothrow; 269 void TF_ImportGraphDefResultsReturnOperations(TF_ImportGraphDefResults*, int*, TF_Operation***) @nogc nothrow; 270 void TF_ImportGraphDefResultsReturnOutputs(TF_ImportGraphDefResults*, int*, TF_Output**) @nogc nothrow; 271 struct TF_ImportGraphDefResults; 272 int TF_ImportGraphDefOptionsNumReturnOperations(const(TF_ImportGraphDefOptions)*) @nogc nothrow; 273 void TF_ImportGraphDefOptionsAddReturnOperation(TF_ImportGraphDefOptions*, const(char)*) @nogc nothrow; 274 int TF_ImportGraphDefOptionsNumReturnOutputs(const(TF_ImportGraphDefOptions)*) @nogc nothrow; 275 void TF_ImportGraphDefOptionsAddReturnOutput(TF_ImportGraphDefOptions*, const(char)*, int) @nogc nothrow; 276 void TF_ImportGraphDefOptionsAddControlDependency(TF_ImportGraphDefOptions*, TF_Operation*) @nogc nothrow; 277 void TF_ImportGraphDefOptionsRemapControlDependency(TF_ImportGraphDefOptions*, const(char)*, TF_Operation*) @nogc nothrow; 278 void TF_ImportGraphDefOptionsAddInputMapping(TF_ImportGraphDefOptions*, const(char)*, int, TF_Output) @nogc nothrow; 279 void TF_ImportGraphDefOptionsSetUniquifyPrefix(TF_ImportGraphDefOptions*, ubyte) @nogc nothrow; 280 void TF_ImportGraphDefOptionsSetUniquifyNames(TF_ImportGraphDefOptions*, ubyte) @nogc nothrow; 281 void TF_ImportGraphDefOptionsSetDefaultDevice(TF_ImportGraphDefOptions*, const(char)*) @nogc nothrow; 282 void TF_ImportGraphDefOptionsSetPrefix(TF_ImportGraphDefOptions*, const(char)*) @nogc nothrow; 283 void TF_DeleteImportGraphDefOptions(TF_ImportGraphDefOptions*) @nogc nothrow; 284 TF_ImportGraphDefOptions* TF_NewImportGraphDefOptions() @nogc nothrow; 285 struct TF_ImportGraphDefOptions; 286 void TF_GraphVersions(TF_Graph*, TF_Buffer*, TF_Status*) @nogc nothrow; 287 void TF_GraphGetOpDef(TF_Graph*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow; 288 void TF_GraphToGraphDef(TF_Graph*, TF_Buffer*, TF_Status*) @nogc nothrow; 289 TF_Operation* TF_GraphNextOperation(TF_Graph*, ulong*) @nogc nothrow; 290 TF_Operation* TF_GraphOperationByName(TF_Graph*, const(char)*) @nogc nothrow; 291 void TF_OperationGetAttrValueProto(TF_Operation*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow; 292 void TF_OperationGetAttrTensorList(TF_Operation*, const(char)*, TF_Tensor**, int, TF_Status*) @nogc nothrow; 293 void TF_OperationGetAttrTensor(TF_Operation*, const(char)*, TF_Tensor**, TF_Status*) @nogc nothrow; 294 void TF_OperationGetAttrTensorShapeProtoList(TF_Operation*, const(char)*, TF_Buffer**, int, TF_Status*) @nogc nothrow; 295 void TF_OperationGetAttrTensorShapeProto(TF_Operation*, const(char)*, TF_Buffer*, TF_Status*) @nogc nothrow; 296 void TF_OperationGetAttrShapeList(TF_Operation*, const(char)*, long**, int*, int, long*, int, TF_Status*) @nogc nothrow; 297 void TF_OperationGetAttrShape(TF_Operation*, const(char)*, long*, int, TF_Status*) @nogc nothrow; 298 void TF_OperationGetAttrTypeList(TF_Operation*, const(char)*, TF_DataType*, int, TF_Status*) @nogc nothrow; 299 void TF_OperationGetAttrType(TF_Operation*, const(char)*, TF_DataType*, TF_Status*) @nogc nothrow; 300 void TF_OperationGetAttrBoolList(TF_Operation*, const(char)*, ubyte*, int, TF_Status*) @nogc nothrow; 301 void TF_OperationGetAttrBool(TF_Operation*, const(char)*, ubyte*, TF_Status*) @nogc nothrow; 302 void TF_OperationGetAttrFloatList(TF_Operation*, const(char)*, float*, int, TF_Status*) @nogc nothrow; 303 void TF_OperationGetAttrFloat(TF_Operation*, const(char)*, float*, TF_Status*) @nogc nothrow; 304 void TF_OperationGetAttrIntList(TF_Operation*, const(char)*, long*, int, TF_Status*) @nogc nothrow; 305 void TF_OperationGetAttrInt(TF_Operation*, const(char)*, long*, TF_Status*) @nogc nothrow; 306 void TF_OperationGetAttrStringList(TF_Operation*, const(char)*, void**, ulong*, int, void*, ulong, TF_Status*) @nogc nothrow; 307 void TF_OperationGetAttrString(TF_Operation*, const(char)*, void*, ulong, TF_Status*) @nogc nothrow; 308 TF_AttrMetadata TF_OperationGetAttrMetadata(TF_Operation*, const(char)*, TF_Status*) @nogc nothrow; 309 struct TF_AttrMetadata 310 { 311 ubyte is_list; 312 long list_size; 313 TF_AttrType type; 314 long total_size; 315 } 316 int TF_OperationGetControlOutputs(TF_Operation*, TF_Operation**, int) @nogc nothrow; 317 int TF_OperationNumControlOutputs(TF_Operation*) @nogc nothrow; 318 int TF_OperationGetControlInputs(TF_Operation*, TF_Operation**, int) @nogc nothrow; 319 int TF_OperationNumControlInputs(TF_Operation*) @nogc nothrow; 320 int TF_OperationOutputConsumers(TF_Output, TF_Input*, int) @nogc nothrow; 321 int TF_OperationOutputNumConsumers(TF_Output) @nogc nothrow; 322 TF_Output TF_OperationInput(TF_Input) @nogc nothrow; 323 int TF_OperationInputListLength(TF_Operation*, const(char)*, TF_Status*) @nogc nothrow; 324 TF_DataType TF_OperationInputType(TF_Input) @nogc nothrow; 325 int TF_OperationNumInputs(TF_Operation*) @nogc nothrow; 326 int TF_OperationOutputListLength(TF_Operation*, const(char)*, TF_Status*) @nogc nothrow; 327 TF_DataType TF_OperationOutputType(TF_Output) @nogc nothrow; 328 int TF_OperationNumOutputs(TF_Operation*) @nogc nothrow; 329 const(char)* TF_OperationDevice(TF_Operation*) @nogc nothrow; 330 const(char)* TF_OperationOpType(TF_Operation*) @nogc nothrow; 331 const(char)* TF_OperationName(TF_Operation*) @nogc nothrow; 332 TF_Operation* TF_FinishOperation(TF_OperationDescription*, TF_Status*) @nogc nothrow; 333 void TF_SetAttrValueProto(TF_OperationDescription*, const(char)*, const(void)*, ulong, TF_Status*) @nogc nothrow; 334 void TF_SetAttrTensorList(TF_OperationDescription*, const(char)*, TF_Tensor**, int, TF_Status*) @nogc nothrow; 335 void TF_SetAttrTensor(TF_OperationDescription*, const(char)*, TF_Tensor*, TF_Status*) @nogc nothrow; 336 void TF_SetAttrTensorShapeProtoList(TF_OperationDescription*, const(char)*, const(const(void)*)*, const(ulong)*, int, TF_Status*) @nogc nothrow; 337 void TF_SetAttrTensorShapeProto(TF_OperationDescription*, const(char)*, const(void)*, ulong, TF_Status*) @nogc nothrow; 338 void TF_SetAttrShapeList(TF_OperationDescription*, const(char)*, const(const(long)*)*, const(int)*, int) @nogc nothrow; 339 alias max_align_t = double; 340 void TF_SetAttrShape(TF_OperationDescription*, const(char)*, const(long)*, int) @nogc nothrow; 341 void TF_SetAttrFuncName(TF_OperationDescription*, const(char)*, const(char)*, ulong) @nogc nothrow; 342 void TF_SetAttrPlaceholder(TF_OperationDescription*, const(char)*, const(char)*) @nogc nothrow; 343 void TF_SetAttrTypeList(TF_OperationDescription*, const(char)*, const(TF_DataType)*, int) @nogc nothrow; 344 void TF_SetAttrType(TF_OperationDescription*, const(char)*, TF_DataType) @nogc nothrow; 345 void TF_SetAttrBoolList(TF_OperationDescription*, const(char)*, const(ubyte)*, int) @nogc nothrow; 346 void TF_SetAttrBool(TF_OperationDescription*, const(char)*, ubyte) @nogc nothrow; 347 alias ptrdiff_t = long; 348 void TF_SetAttrFloatList(TF_OperationDescription*, const(char)*, const(float)*, int) @nogc nothrow; 349 alias wchar_t = ushort; 350 void TF_SetAttrFloat(TF_OperationDescription*, const(char)*, float) @nogc nothrow; 351 alias int64_t = long; 352 alias uint64_t = ulong; 353 void TF_SetAttrIntList(TF_OperationDescription*, const(char)*, const(long)*, int) @nogc nothrow; 354 void TF_SetAttrInt(TF_OperationDescription*, const(char)*, long) @nogc nothrow; 355 void TF_SetAttrStringList(TF_OperationDescription*, const(char)*, const(const(void)*)*, const(ulong)*, int) @nogc nothrow; 356 void TF_SetAttrString(TF_OperationDescription*, const(char)*, const(void)*, ulong) @nogc nothrow; 357 alias int_least64_t = long; 358 alias uint_least64_t = ulong; 359 alias int_fast64_t = long; 360 alias uint_fast64_t = ulong; 361 alias int32_t = int; 362 void TF_ColocateWith(TF_OperationDescription*, TF_Operation*) @nogc nothrow; 363 alias uint32_t = uint; 364 void TF_AddControlInput(TF_OperationDescription*, TF_Operation*) @nogc nothrow; 365 void TF_AddInputList(TF_OperationDescription*, const(TF_Output)*, int) @nogc nothrow; 366 void TF_AddInput(TF_OperationDescription*, TF_Output) @nogc nothrow; 367 alias int_least32_t = int; 368 alias uint_least32_t = uint; 369 alias int_fast32_t = int; 370 alias uint_fast32_t = uint; 371 alias int16_t = short; 372 alias uint16_t = ushort; 373 void TF_SetDevice(TF_OperationDescription*, const(char)*) @nogc nothrow; 374 TF_OperationDescription* TF_NewOperation(TF_Graph*, const(char)*, const(char)*) @nogc nothrow; 375 alias int_least16_t = short; 376 alias uint_least16_t = ushort; 377 alias int_fast16_t = short; 378 alias uint_fast16_t = ushort; 379 alias int8_t = byte; 380 alias uint8_t = ubyte; 381 void TF_GraphGetTensorShape(TF_Graph*, TF_Output, long*, int, TF_Status*) @nogc nothrow; 382 alias int_least8_t = byte; 383 alias uint_least8_t = ubyte; 384 alias int_fast8_t = byte; 385 alias uint_fast8_t = ubyte; 386 int TF_GraphGetTensorNumDims(TF_Graph*, TF_Output, TF_Status*) @nogc nothrow; 387 alias intptr_t = long; 388 void TF_GraphSetTensorShape(TF_Graph*, TF_Output, const(long)*, const(int), TF_Status*) @nogc nothrow; 389 alias uintptr_t = ulong; 390 struct TF_FunctionOptions; 391 alias intmax_t = long; 392 alias uintmax_t = ulong; 393 struct TF_Function; 394 struct TF_Output 395 { 396 TF_Operation* oper; 397 int index; 398 } 399 struct TF_Input 400 { 401 TF_Operation* oper; 402 int index; 403 } 404 struct TF_Operation; 405 struct TF_OperationDescription; 406 void TF_DeleteGraph(TF_Graph*) @nogc nothrow; 407 TF_Graph* TF_NewGraph() @nogc nothrow; 408 struct TF_Graph; 409 void TF_DeleteSessionOptions(TF_SessionOptions*) @nogc nothrow; 410 void TF_SetConfig(TF_SessionOptions*, const(void)*, ulong, TF_Status*) @nogc nothrow; 411 void TF_SetTarget(TF_SessionOptions*, const(char)*) @nogc nothrow; 412 TF_SessionOptions* TF_NewSessionOptions() @nogc nothrow; 413 struct TF_SessionOptions; 414 TF_Buffer TF_GetBuffer(TF_Buffer*) @nogc nothrow; 415 void TF_DeleteBuffer(TF_Buffer*) @nogc nothrow; 416 TF_Buffer* TF_NewBuffer() @nogc nothrow; 417 TF_Buffer* TF_NewBufferFromString(const(void)*, ulong) @nogc nothrow; 418 struct TF_Buffer 419 { 420 const(void)* data; 421 ulong length; 422 void function(void*, ulong) data_deallocator; 423 } 424 const(char)* TF_Version() @nogc nothrow; 425 426 427 428 static if(!is(typeof(INT_LEAST32_MIN))) { 429 private enum enumMixinStr_INT_LEAST32_MIN = `enum INT_LEAST32_MIN = __INT_LEAST32_MIN;`; 430 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST32_MIN); }))) { 431 mixin(enumMixinStr_INT_LEAST32_MIN); 432 } 433 } 434 435 436 437 438 static if(!is(typeof(INT_LEAST32_MAX))) { 439 private enum enumMixinStr_INT_LEAST32_MAX = `enum INT_LEAST32_MAX = __INT_LEAST32_MAX;`; 440 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST32_MAX); }))) { 441 mixin(enumMixinStr_INT_LEAST32_MAX); 442 } 443 } 444 445 446 447 448 static if(!is(typeof(UINT_LEAST32_MAX))) { 449 private enum enumMixinStr_UINT_LEAST32_MAX = `enum UINT_LEAST32_MAX = __UINT_LEAST32_MAX;`; 450 static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST32_MAX); }))) { 451 mixin(enumMixinStr_UINT_LEAST32_MAX); 452 } 453 } 454 455 456 457 458 static if(!is(typeof(INT_FAST32_MIN))) { 459 private enum enumMixinStr_INT_FAST32_MIN = `enum INT_FAST32_MIN = __INT_LEAST32_MIN;`; 460 static if(is(typeof({ mixin(enumMixinStr_INT_FAST32_MIN); }))) { 461 mixin(enumMixinStr_INT_FAST32_MIN); 462 } 463 } 464 465 466 467 468 static if(!is(typeof(INT_FAST32_MAX))) { 469 private enum enumMixinStr_INT_FAST32_MAX = `enum INT_FAST32_MAX = __INT_LEAST32_MAX;`; 470 static if(is(typeof({ mixin(enumMixinStr_INT_FAST32_MAX); }))) { 471 mixin(enumMixinStr_INT_FAST32_MAX); 472 } 473 } 474 475 476 477 478 static if(!is(typeof(UINT_FAST32_MAX))) { 479 private enum enumMixinStr_UINT_FAST32_MAX = `enum UINT_FAST32_MAX = __UINT_LEAST32_MAX;`; 480 static if(is(typeof({ mixin(enumMixinStr_UINT_FAST32_MAX); }))) { 481 mixin(enumMixinStr_UINT_FAST32_MAX); 482 } 483 } 484 485 486 487 488 static if(!is(typeof(__UINT_LEAST8_MAX))) { 489 private enum enumMixinStr___UINT_LEAST8_MAX = `enum __UINT_LEAST8_MAX = UINT32_MAX;`; 490 static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST8_MAX); }))) { 491 mixin(enumMixinStr___UINT_LEAST8_MAX); 492 } 493 } 494 495 496 497 498 static if(!is(typeof(INT16_MAX))) { 499 private enum enumMixinStr_INT16_MAX = `enum INT16_MAX = INT16_C ( 32767 );`; 500 static if(is(typeof({ mixin(enumMixinStr_INT16_MAX); }))) { 501 mixin(enumMixinStr_INT16_MAX); 502 } 503 } 504 505 506 507 508 static if(!is(typeof(INT16_MIN))) { 509 private enum enumMixinStr_INT16_MIN = `enum INT16_MIN = ( - INT16_C ( 32767 ) - 1 );`; 510 static if(is(typeof({ mixin(enumMixinStr_INT16_MIN); }))) { 511 mixin(enumMixinStr_INT16_MIN); 512 } 513 } 514 515 516 517 518 static if(!is(typeof(UINT16_MAX))) { 519 private enum enumMixinStr_UINT16_MAX = `enum UINT16_MAX = UINT16_C ( 65535 );`; 520 static if(is(typeof({ mixin(enumMixinStr_UINT16_MAX); }))) { 521 mixin(enumMixinStr_UINT16_MAX); 522 } 523 } 524 525 526 527 528 static if(!is(typeof(__INT_LEAST16_MIN))) { 529 private enum enumMixinStr___INT_LEAST16_MIN = `enum __INT_LEAST16_MIN = ( - INT16_C ( 32767 ) - 1 );`; 530 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST16_MIN); }))) { 531 mixin(enumMixinStr___INT_LEAST16_MIN); 532 } 533 } 534 535 536 537 538 static if(!is(typeof(__INT_LEAST16_MAX))) { 539 private enum enumMixinStr___INT_LEAST16_MAX = `enum __INT_LEAST16_MAX = INT16_C ( 32767 );`; 540 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST16_MAX); }))) { 541 mixin(enumMixinStr___INT_LEAST16_MAX); 542 } 543 } 544 545 546 547 548 static if(!is(typeof(__UINT_LEAST16_MAX))) { 549 private enum enumMixinStr___UINT_LEAST16_MAX = `enum __UINT_LEAST16_MAX = UINT16_C ( 65535 );`; 550 static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST16_MAX); }))) { 551 mixin(enumMixinStr___UINT_LEAST16_MAX); 552 } 553 } 554 555 556 557 558 static if(!is(typeof(__INT_LEAST8_MIN))) { 559 private enum enumMixinStr___INT_LEAST8_MIN = `enum __INT_LEAST8_MIN = ( - INT16_C ( 32767 ) - 1 );`; 560 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST8_MIN); }))) { 561 mixin(enumMixinStr___INT_LEAST8_MIN); 562 } 563 } 564 565 566 567 568 static if(!is(typeof(__INT_LEAST8_MAX))) { 569 private enum enumMixinStr___INT_LEAST8_MAX = `enum __INT_LEAST8_MAX = INT16_C ( 32767 );`; 570 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST8_MAX); }))) { 571 mixin(enumMixinStr___INT_LEAST8_MAX); 572 } 573 } 574 575 576 577 578 static if(!is(typeof(INT_LEAST16_MIN))) { 579 private enum enumMixinStr_INT_LEAST16_MIN = `enum INT_LEAST16_MIN = ( - INT16_C ( 32767 ) - 1 );`; 580 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST16_MIN); }))) { 581 mixin(enumMixinStr_INT_LEAST16_MIN); 582 } 583 } 584 585 586 587 588 static if(!is(typeof(INT_LEAST16_MAX))) { 589 private enum enumMixinStr_INT_LEAST16_MAX = `enum INT_LEAST16_MAX = INT16_C ( 32767 );`; 590 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST16_MAX); }))) { 591 mixin(enumMixinStr_INT_LEAST16_MAX); 592 } 593 } 594 595 596 597 598 static if(!is(typeof(UINT_LEAST16_MAX))) { 599 private enum enumMixinStr_UINT_LEAST16_MAX = `enum UINT_LEAST16_MAX = UINT16_C ( 65535 );`; 600 static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST16_MAX); }))) { 601 mixin(enumMixinStr_UINT_LEAST16_MAX); 602 } 603 } 604 605 606 607 608 static if(!is(typeof(INT_FAST16_MIN))) { 609 private enum enumMixinStr_INT_FAST16_MIN = `enum INT_FAST16_MIN = ( - INT16_C ( 32767 ) - 1 );`; 610 static if(is(typeof({ mixin(enumMixinStr_INT_FAST16_MIN); }))) { 611 mixin(enumMixinStr_INT_FAST16_MIN); 612 } 613 } 614 615 616 617 618 static if(!is(typeof(INT_FAST16_MAX))) { 619 private enum enumMixinStr_INT_FAST16_MAX = `enum INT_FAST16_MAX = INT16_C ( 32767 );`; 620 static if(is(typeof({ mixin(enumMixinStr_INT_FAST16_MAX); }))) { 621 mixin(enumMixinStr_INT_FAST16_MAX); 622 } 623 } 624 625 626 627 628 static if(!is(typeof(UINT_FAST16_MAX))) { 629 private enum enumMixinStr_UINT_FAST16_MAX = `enum UINT_FAST16_MAX = UINT16_C ( 65535 );`; 630 static if(is(typeof({ mixin(enumMixinStr_UINT_FAST16_MAX); }))) { 631 mixin(enumMixinStr_UINT_FAST16_MAX); 632 } 633 } 634 635 636 637 638 static if(!is(typeof(INT8_MAX))) { 639 private enum enumMixinStr_INT8_MAX = `enum INT8_MAX = INT8_C ( 127 );`; 640 static if(is(typeof({ mixin(enumMixinStr_INT8_MAX); }))) { 641 mixin(enumMixinStr_INT8_MAX); 642 } 643 } 644 645 646 647 648 static if(!is(typeof(INT8_MIN))) { 649 private enum enumMixinStr_INT8_MIN = `enum INT8_MIN = ( - INT8_C ( 127 ) - 1 );`; 650 static if(is(typeof({ mixin(enumMixinStr_INT8_MIN); }))) { 651 mixin(enumMixinStr_INT8_MIN); 652 } 653 } 654 655 656 657 658 static if(!is(typeof(UINT8_MAX))) { 659 private enum enumMixinStr_UINT8_MAX = `enum UINT8_MAX = UINT8_C ( 255 );`; 660 static if(is(typeof({ mixin(enumMixinStr_UINT8_MAX); }))) { 661 mixin(enumMixinStr_UINT8_MAX); 662 } 663 } 664 665 666 667 668 static if(!is(typeof(INT_LEAST8_MIN))) { 669 private enum enumMixinStr_INT_LEAST8_MIN = `enum INT_LEAST8_MIN = ( - INT16_C ( 32767 ) - 1 );`; 670 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST8_MIN); }))) { 671 mixin(enumMixinStr_INT_LEAST8_MIN); 672 } 673 } 674 675 676 677 678 static if(!is(typeof(INT_LEAST8_MAX))) { 679 private enum enumMixinStr_INT_LEAST8_MAX = `enum INT_LEAST8_MAX = INT16_C ( 32767 );`; 680 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST8_MAX); }))) { 681 mixin(enumMixinStr_INT_LEAST8_MAX); 682 } 683 } 684 685 686 687 688 static if(!is(typeof(UINT_LEAST8_MAX))) { 689 private enum enumMixinStr_UINT_LEAST8_MAX = `enum UINT_LEAST8_MAX = UINT32_MAX;`; 690 static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST8_MAX); }))) { 691 mixin(enumMixinStr_UINT_LEAST8_MAX); 692 } 693 } 694 695 696 697 698 static if(!is(typeof(INT_FAST8_MIN))) { 699 private enum enumMixinStr_INT_FAST8_MIN = `enum INT_FAST8_MIN = ( - INT16_C ( 32767 ) - 1 );`; 700 static if(is(typeof({ mixin(enumMixinStr_INT_FAST8_MIN); }))) { 701 mixin(enumMixinStr_INT_FAST8_MIN); 702 } 703 } 704 705 706 707 708 static if(!is(typeof(INT_FAST8_MAX))) { 709 private enum enumMixinStr_INT_FAST8_MAX = `enum INT_FAST8_MAX = INT16_C ( 32767 );`; 710 static if(is(typeof({ mixin(enumMixinStr_INT_FAST8_MAX); }))) { 711 mixin(enumMixinStr_INT_FAST8_MAX); 712 } 713 } 714 715 716 717 718 static if(!is(typeof(UINT_FAST8_MAX))) { 719 private enum enumMixinStr_UINT_FAST8_MAX = `enum UINT_FAST8_MAX = UINT32_MAX;`; 720 static if(is(typeof({ mixin(enumMixinStr_UINT_FAST8_MAX); }))) { 721 mixin(enumMixinStr_UINT_FAST8_MAX); 722 } 723 } 724 static if(!is(typeof(INTPTR_MIN))) { 725 private enum enumMixinStr_INTPTR_MIN = `enum INTPTR_MIN = ( - 9223372036854775807LL - 1 );`; 726 static if(is(typeof({ mixin(enumMixinStr_INTPTR_MIN); }))) { 727 mixin(enumMixinStr_INTPTR_MIN); 728 } 729 } 730 731 732 733 734 static if(!is(typeof(INTPTR_MAX))) { 735 private enum enumMixinStr_INTPTR_MAX = `enum INTPTR_MAX = 9223372036854775807LL;`; 736 static if(is(typeof({ mixin(enumMixinStr_INTPTR_MAX); }))) { 737 mixin(enumMixinStr_INTPTR_MAX); 738 } 739 } 740 741 742 743 744 static if(!is(typeof(UINTPTR_MAX))) { 745 private enum enumMixinStr_UINTPTR_MAX = `enum UINTPTR_MAX = 18446744073709551615ULL;`; 746 static if(is(typeof({ mixin(enumMixinStr_UINTPTR_MAX); }))) { 747 mixin(enumMixinStr_UINTPTR_MAX); 748 } 749 } 750 751 752 753 754 static if(!is(typeof(PTRDIFF_MIN))) { 755 private enum enumMixinStr_PTRDIFF_MIN = `enum PTRDIFF_MIN = ( - 9223372036854775807LL - 1 );`; 756 static if(is(typeof({ mixin(enumMixinStr_PTRDIFF_MIN); }))) { 757 mixin(enumMixinStr_PTRDIFF_MIN); 758 } 759 } 760 761 762 763 764 static if(!is(typeof(PTRDIFF_MAX))) { 765 private enum enumMixinStr_PTRDIFF_MAX = `enum PTRDIFF_MAX = 9223372036854775807LL;`; 766 static if(is(typeof({ mixin(enumMixinStr_PTRDIFF_MAX); }))) { 767 mixin(enumMixinStr_PTRDIFF_MAX); 768 } 769 } 770 771 772 773 774 static if(!is(typeof(SIZE_MAX))) { 775 private enum enumMixinStr_SIZE_MAX = `enum SIZE_MAX = 18446744073709551615ULL;`; 776 static if(is(typeof({ mixin(enumMixinStr_SIZE_MAX); }))) { 777 mixin(enumMixinStr_SIZE_MAX); 778 } 779 } 780 781 782 783 784 static if(!is(typeof(INTMAX_MIN))) { 785 private enum enumMixinStr_INTMAX_MIN = `enum INTMAX_MIN = ( - 9223372036854775807LL - 1 );`; 786 static if(is(typeof({ mixin(enumMixinStr_INTMAX_MIN); }))) { 787 mixin(enumMixinStr_INTMAX_MIN); 788 } 789 } 790 791 792 793 794 static if(!is(typeof(INTMAX_MAX))) { 795 private enum enumMixinStr_INTMAX_MAX = `enum INTMAX_MAX = 9223372036854775807LL;`; 796 static if(is(typeof({ mixin(enumMixinStr_INTMAX_MAX); }))) { 797 mixin(enumMixinStr_INTMAX_MAX); 798 } 799 } 800 801 802 803 804 static if(!is(typeof(UINTMAX_MAX))) { 805 private enum enumMixinStr_UINTMAX_MAX = `enum UINTMAX_MAX = 18446744073709551615ULL;`; 806 static if(is(typeof({ mixin(enumMixinStr_UINTMAX_MAX); }))) { 807 mixin(enumMixinStr_UINTMAX_MAX); 808 } 809 } 810 811 812 813 814 static if(!is(typeof(SIG_ATOMIC_MIN))) { 815 private enum enumMixinStr_SIG_ATOMIC_MIN = `enum SIG_ATOMIC_MIN = __stdint_join3 ( INT , 32 , _MIN );`; 816 static if(is(typeof({ mixin(enumMixinStr_SIG_ATOMIC_MIN); }))) { 817 mixin(enumMixinStr_SIG_ATOMIC_MIN); 818 } 819 } 820 821 822 823 824 static if(!is(typeof(SIG_ATOMIC_MAX))) { 825 private enum enumMixinStr_SIG_ATOMIC_MAX = `enum SIG_ATOMIC_MAX = __stdint_join3 ( INT , 32 , _MAX );`; 826 static if(is(typeof({ mixin(enumMixinStr_SIG_ATOMIC_MAX); }))) { 827 mixin(enumMixinStr_SIG_ATOMIC_MAX); 828 } 829 } 830 831 832 833 834 static if(!is(typeof(WINT_MIN))) { 835 private enum enumMixinStr_WINT_MIN = `enum WINT_MIN = __stdint_join3 ( INT , 32 , _MIN );`; 836 static if(is(typeof({ mixin(enumMixinStr_WINT_MIN); }))) { 837 mixin(enumMixinStr_WINT_MIN); 838 } 839 } 840 841 842 843 844 static if(!is(typeof(WINT_MAX))) { 845 private enum enumMixinStr_WINT_MAX = `enum WINT_MAX = __stdint_join3 ( INT , 32 , _MAX );`; 846 static if(is(typeof({ mixin(enumMixinStr_WINT_MAX); }))) { 847 mixin(enumMixinStr_WINT_MAX); 848 } 849 } 850 851 852 853 854 static if(!is(typeof(WCHAR_MAX))) { 855 private enum enumMixinStr_WCHAR_MAX = `enum WCHAR_MAX = 65535;`; 856 static if(is(typeof({ mixin(enumMixinStr_WCHAR_MAX); }))) { 857 mixin(enumMixinStr_WCHAR_MAX); 858 } 859 } 860 861 862 863 864 static if(!is(typeof(__UINT_LEAST32_MAX))) { 865 private enum enumMixinStr___UINT_LEAST32_MAX = `enum __UINT_LEAST32_MAX = UINT32_MAX;`; 866 static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST32_MAX); }))) { 867 mixin(enumMixinStr___UINT_LEAST32_MAX); 868 } 869 } 870 871 872 873 874 static if(!is(typeof(WCHAR_MIN))) { 875 private enum enumMixinStr_WCHAR_MIN = `enum WCHAR_MIN = __stdint_join3 ( UINT , 16 , _C ( 0 ) );`; 876 static if(is(typeof({ mixin(enumMixinStr_WCHAR_MIN); }))) { 877 mixin(enumMixinStr_WCHAR_MIN); 878 } 879 } 880 static if(!is(typeof(__INT_LEAST32_MAX))) { 881 private enum enumMixinStr___INT_LEAST32_MAX = `enum __INT_LEAST32_MAX = INT32_MAX;`; 882 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST32_MAX); }))) { 883 mixin(enumMixinStr___INT_LEAST32_MAX); 884 } 885 } 886 887 888 889 890 891 892 static if(!is(typeof(__INT_LEAST32_MIN))) { 893 private enum enumMixinStr___INT_LEAST32_MIN = `enum __INT_LEAST32_MIN = INT32_MIN;`; 894 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST32_MIN); }))) { 895 mixin(enumMixinStr___INT_LEAST32_MIN); 896 } 897 } 898 899 900 901 902 static if(!is(typeof(UINT32_MAX))) { 903 private enum enumMixinStr_UINT32_MAX = `enum UINT32_MAX = UINT32_C ( 4294967295 );`; 904 static if(is(typeof({ mixin(enumMixinStr_UINT32_MAX); }))) { 905 mixin(enumMixinStr_UINT32_MAX); 906 } 907 } 908 909 910 911 912 static if(!is(typeof(INT32_MIN))) { 913 private enum enumMixinStr_INT32_MIN = `enum INT32_MIN = ( - INT32_C ( 2147483647 ) - 1 );`; 914 static if(is(typeof({ mixin(enumMixinStr_INT32_MIN); }))) { 915 mixin(enumMixinStr_INT32_MIN); 916 } 917 } 918 919 920 921 922 static if(!is(typeof(INT32_MAX))) { 923 private enum enumMixinStr_INT32_MAX = `enum INT32_MAX = INT32_C ( 2147483647 );`; 924 static if(is(typeof({ mixin(enumMixinStr_INT32_MAX); }))) { 925 mixin(enumMixinStr_INT32_MAX); 926 } 927 } 928 929 930 931 932 static if(!is(typeof(UINT_FAST64_MAX))) { 933 private enum enumMixinStr_UINT_FAST64_MAX = `enum UINT_FAST64_MAX = __UINT_LEAST64_MAX;`; 934 static if(is(typeof({ mixin(enumMixinStr_UINT_FAST64_MAX); }))) { 935 mixin(enumMixinStr_UINT_FAST64_MAX); 936 } 937 } 938 939 940 941 942 static if(!is(typeof(INT_FAST64_MAX))) { 943 private enum enumMixinStr_INT_FAST64_MAX = `enum INT_FAST64_MAX = __INT_LEAST64_MAX;`; 944 static if(is(typeof({ mixin(enumMixinStr_INT_FAST64_MAX); }))) { 945 mixin(enumMixinStr_INT_FAST64_MAX); 946 } 947 } 948 949 950 951 952 static if(!is(typeof(INT_FAST64_MIN))) { 953 private enum enumMixinStr_INT_FAST64_MIN = `enum INT_FAST64_MIN = __INT_LEAST64_MIN;`; 954 static if(is(typeof({ mixin(enumMixinStr_INT_FAST64_MIN); }))) { 955 mixin(enumMixinStr_INT_FAST64_MIN); 956 } 957 } 958 959 960 961 962 static if(!is(typeof(TF_CAPI_EXPORT))) { 963 private enum enumMixinStr_TF_CAPI_EXPORT = `enum TF_CAPI_EXPORT = __declspec ( dllimport );`; 964 static if(is(typeof({ mixin(enumMixinStr_TF_CAPI_EXPORT); }))) { 965 mixin(enumMixinStr_TF_CAPI_EXPORT); 966 } 967 } 968 969 970 971 972 static if(!is(typeof(UINT_LEAST64_MAX))) { 973 private enum enumMixinStr_UINT_LEAST64_MAX = `enum UINT_LEAST64_MAX = __UINT_LEAST64_MAX;`; 974 static if(is(typeof({ mixin(enumMixinStr_UINT_LEAST64_MAX); }))) { 975 mixin(enumMixinStr_UINT_LEAST64_MAX); 976 } 977 } 978 979 980 981 982 static if(!is(typeof(INT_LEAST64_MAX))) { 983 private enum enumMixinStr_INT_LEAST64_MAX = `enum INT_LEAST64_MAX = __INT_LEAST64_MAX;`; 984 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST64_MAX); }))) { 985 mixin(enumMixinStr_INT_LEAST64_MAX); 986 } 987 } 988 989 990 991 992 static if(!is(typeof(INT_LEAST64_MIN))) { 993 private enum enumMixinStr_INT_LEAST64_MIN = `enum INT_LEAST64_MIN = __INT_LEAST64_MIN;`; 994 static if(is(typeof({ mixin(enumMixinStr_INT_LEAST64_MIN); }))) { 995 mixin(enumMixinStr_INT_LEAST64_MIN); 996 } 997 } 998 999 1000 1001 1002 static if(!is(typeof(__UINT_LEAST64_MAX))) { 1003 private enum enumMixinStr___UINT_LEAST64_MAX = `enum __UINT_LEAST64_MAX = UINT64_MAX;`; 1004 static if(is(typeof({ mixin(enumMixinStr___UINT_LEAST64_MAX); }))) { 1005 mixin(enumMixinStr___UINT_LEAST64_MAX); 1006 } 1007 } 1008 1009 1010 1011 1012 static if(!is(typeof(__INT_LEAST64_MAX))) { 1013 private enum enumMixinStr___INT_LEAST64_MAX = `enum __INT_LEAST64_MAX = INT64_MAX;`; 1014 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST64_MAX); }))) { 1015 mixin(enumMixinStr___INT_LEAST64_MAX); 1016 } 1017 } 1018 1019 1020 1021 1022 static if(!is(typeof(__INT_LEAST64_MIN))) { 1023 private enum enumMixinStr___INT_LEAST64_MIN = `enum __INT_LEAST64_MIN = INT64_MIN;`; 1024 static if(is(typeof({ mixin(enumMixinStr___INT_LEAST64_MIN); }))) { 1025 mixin(enumMixinStr___INT_LEAST64_MIN); 1026 } 1027 } 1028 1029 1030 1031 1032 static if(!is(typeof(UINT64_MAX))) { 1033 private enum enumMixinStr_UINT64_MAX = `enum UINT64_MAX = UINT64_C ( 18446744073709551615 );`; 1034 static if(is(typeof({ mixin(enumMixinStr_UINT64_MAX); }))) { 1035 mixin(enumMixinStr_UINT64_MAX); 1036 } 1037 } 1038 1039 1040 1041 1042 static if(!is(typeof(INT64_MIN))) { 1043 private enum enumMixinStr_INT64_MIN = `enum INT64_MIN = ( - INT64_C ( 9223372036854775807 ) - 1 );`; 1044 static if(is(typeof({ mixin(enumMixinStr_INT64_MIN); }))) { 1045 mixin(enumMixinStr_INT64_MIN); 1046 } 1047 } 1048 1049 1050 1051 1052 static if(!is(typeof(INT64_MAX))) { 1053 private enum enumMixinStr_INT64_MAX = `enum INT64_MAX = INT64_C ( 9223372036854775807 );`; 1054 static if(is(typeof({ mixin(enumMixinStr_INT64_MAX); }))) { 1055 mixin(enumMixinStr_INT64_MAX); 1056 } 1057 } 1058 static if(!is(typeof(__int8_c_suffix))) { 1059 private enum enumMixinStr___int8_c_suffix = `enum __int8_c_suffix = ;`; 1060 static if(is(typeof({ mixin(enumMixinStr___int8_c_suffix); }))) { 1061 mixin(enumMixinStr___int8_c_suffix); 1062 } 1063 } 1064 static if(!is(typeof(__int16_c_suffix))) { 1065 private enum enumMixinStr___int16_c_suffix = `enum __int16_c_suffix = ;`; 1066 static if(is(typeof({ mixin(enumMixinStr___int16_c_suffix); }))) { 1067 mixin(enumMixinStr___int16_c_suffix); 1068 } 1069 } 1070 static if(!is(typeof(__int32_c_suffix))) { 1071 private enum enumMixinStr___int32_c_suffix = `enum __int32_c_suffix = ;`; 1072 static if(is(typeof({ mixin(enumMixinStr___int32_c_suffix); }))) { 1073 mixin(enumMixinStr___int32_c_suffix); 1074 } 1075 } 1076 static if(!is(typeof(__int64_c_suffix))) { 1077 private enum enumMixinStr___int64_c_suffix = `enum __int64_c_suffix = LL;`; 1078 static if(is(typeof({ mixin(enumMixinStr___int64_c_suffix); }))) { 1079 mixin(enumMixinStr___int64_c_suffix); 1080 } 1081 } 1082 static if(!is(typeof(__uint_least8_t))) { 1083 private enum enumMixinStr___uint_least8_t = `enum __uint_least8_t = uint8_t;`; 1084 static if(is(typeof({ mixin(enumMixinStr___uint_least8_t); }))) { 1085 mixin(enumMixinStr___uint_least8_t); 1086 } 1087 } 1088 1089 1090 1091 1092 static if(!is(typeof(__int_least8_t))) { 1093 private enum enumMixinStr___int_least8_t = `enum __int_least8_t = int8_t;`; 1094 static if(is(typeof({ mixin(enumMixinStr___int_least8_t); }))) { 1095 mixin(enumMixinStr___int_least8_t); 1096 } 1097 } 1098 1099 1100 1101 1102 static if(!is(typeof(__uint_least16_t))) { 1103 private enum enumMixinStr___uint_least16_t = `enum __uint_least16_t = uint16_t;`; 1104 static if(is(typeof({ mixin(enumMixinStr___uint_least16_t); }))) { 1105 mixin(enumMixinStr___uint_least16_t); 1106 } 1107 } 1108 1109 1110 1111 1112 static if(!is(typeof(__int_least16_t))) { 1113 private enum enumMixinStr___int_least16_t = `enum __int_least16_t = int16_t;`; 1114 static if(is(typeof({ mixin(enumMixinStr___int_least16_t); }))) { 1115 mixin(enumMixinStr___int_least16_t); 1116 } 1117 } 1118 1119 1120 1121 1122 static if(!is(typeof(__uint_least32_t))) { 1123 private enum enumMixinStr___uint_least32_t = `enum __uint_least32_t = uint32_t;`; 1124 static if(is(typeof({ mixin(enumMixinStr___uint_least32_t); }))) { 1125 mixin(enumMixinStr___uint_least32_t); 1126 } 1127 } 1128 1129 1130 1131 1132 static if(!is(typeof(__int_least32_t))) { 1133 private enum enumMixinStr___int_least32_t = `enum __int_least32_t = int32_t;`; 1134 static if(is(typeof({ mixin(enumMixinStr___int_least32_t); }))) { 1135 mixin(enumMixinStr___int_least32_t); 1136 } 1137 } 1138 1139 1140 1141 1142 1143 1144 static if(!is(typeof(__uint_least64_t))) { 1145 private enum enumMixinStr___uint_least64_t = `enum __uint_least64_t = uint64_t;`; 1146 static if(is(typeof({ mixin(enumMixinStr___uint_least64_t); }))) { 1147 mixin(enumMixinStr___uint_least64_t); 1148 } 1149 } 1150 1151 1152 1153 1154 static if(!is(typeof(__int_least64_t))) { 1155 private enum enumMixinStr___int_least64_t = `enum __int_least64_t = int64_t;`; 1156 static if(is(typeof({ mixin(enumMixinStr___int_least64_t); }))) { 1157 mixin(enumMixinStr___int_least64_t); 1158 } 1159 } 1160 static if(!is(typeof(NULL))) { 1161 private enum enumMixinStr_NULL = `enum NULL = ( cast( void * ) 0 );`; 1162 static if(is(typeof({ mixin(enumMixinStr_NULL); }))) { 1163 mixin(enumMixinStr_NULL); 1164 } 1165 } 1166 static if(!is(typeof(__bool_true_false_are_defined))) { 1167 private enum enumMixinStr___bool_true_false_are_defined = `enum __bool_true_false_are_defined = 1;`; 1168 static if(is(typeof({ mixin(enumMixinStr___bool_true_false_are_defined); }))) { 1169 mixin(enumMixinStr___bool_true_false_are_defined); 1170 } 1171 } 1172 1173 1174 1175 1176 static if(!is(typeof(false_))) { 1177 private enum enumMixinStr_false_ = `enum false_ = 0;`; 1178 static if(is(typeof({ mixin(enumMixinStr_false_); }))) { 1179 mixin(enumMixinStr_false_); 1180 } 1181 } 1182 1183 1184 1185 1186 static if(!is(typeof(true_))) { 1187 private enum enumMixinStr_true_ = `enum true_ = 1;`; 1188 static if(is(typeof({ mixin(enumMixinStr_true_); }))) { 1189 mixin(enumMixinStr_true_); 1190 } 1191 } 1192 1193 1194 1195 1196 static if(!is(typeof(bool_))) { 1197 private enum enumMixinStr_bool_ = `enum bool_ = _Bool;`; 1198 static if(is(typeof({ mixin(enumMixinStr_bool_); }))) { 1199 mixin(enumMixinStr_bool_); 1200 } 1201 } 1202 } 1203 1204 1205 1206 version (Windows):