diff --git a/.gitignore b/.gitignore index 332e186..338685b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ # Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudio,c++,cmake +### Custon ### +*.ply ### C++ ### # Prerequisites diff --git a/.gitmessage b/.gitmessage index 0afa6ff..755bb2d 100644 --- a/.gitmessage +++ b/.gitmessage @@ -7,21 +7,16 @@ # Issue Tracker Number or URL -# --- COMMIT END --- -# Type can be +# --- COMMIT TYPE --- # feat : adding, removing, changing features # fix : bug fix # refactor: refactoring production code # style : formatting, missing semi colons, etc; no code change # docs : changes to documentation # file : changes to files -# test : adding or refactoring tests -# no production code change -# chore : updating grunt tasks etc -# no production code change +# chore : updating grunt tasks etc; no code change # ------------------ -# Remember -# 1. Capitalize the subject line +# 1. Capitalize the subject line (except TYPE) # 2. Use the imperative mood in the subject line # 3. Do not end the subject line with a period # 4. Separate subject from body with a blank line diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e69d818 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "ext/DXViewer"] + path = ext/DXViewer + url = https://github.com/jklee95/DXViewer.git diff --git a/CmakeLists.txt b/CmakeLists.txt index 5d75795..e0f732e 100644 --- a/CmakeLists.txt +++ b/CmakeLists.txt @@ -4,9 +4,24 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.19.0) SET( PROJECT_NAME FlipEngine ) PROJECT(${PROJECT_NAME}) +# Set configuration types +Set(CMAKE_CONFIGURATION_TYPES Debug Release) + +# Set the include/lib directory +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/ext/DXViewer/DXViewer-1.0.0/include) +LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/ext/DXViewer/DXViewer-1.0.0/lib) + +# Copy DLLs +FILE(GLOB DLL ${CMAKE_SOURCE_DIR}/ext/DXViewer/DXViewer-1.0.0/bin/*.dll) +FILE(COPY ${DLL} DESTINATION ${CMAKE_BINARY_DIR}) + # Collect source files -FILE( GLOB SRC src/*.cpp ) -FILE( GLOB HDR src/*.h ) +FILE( GLOB SRC ${CMAKE_SOURCE_DIR}/src/engine/*.cpp ${CMAKE_SOURCE_DIR}/src/*.cpp) +FILE( GLOB HDR ${CMAKE_SOURCE_DIR}/src/engine/*.h ${CMAKE_SOURCE_DIR}/src/*.h) + +# Link Source files ('WIN32' keyword is used for win32 project) +ADD_EXECUTABLE( ${PROJECT_NAME} WIN32 ${SRC} ${HDR} ) -# Link Source files -ADD_EXECUTABLE( ${PROJECT_NAME} ${SRC} ${HDR} ) \ No newline at end of file +# Set 'Additional Dependencies' +SET(LIB $<$:DXViewer.lib> $<$:DXViewerRel.lib>) +TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${LIB}) \ No newline at end of file diff --git a/ext/DXViewer b/ext/DXViewer new file mode 160000 index 0000000..dc99578 --- /dev/null +++ b/ext/DXViewer @@ -0,0 +1 @@ +Subproject commit dc995781e89bece9122287bb10655ca398a537f4 diff --git a/ply/fluid_0.ply b/ply/fluid_0.ply new file mode 100644 index 0000000..bd17566 Binary files /dev/null and b/ply/fluid_0.ply differ diff --git a/src/SubFluidSimulation.cpp b/src/SubFluidSimulation.cpp new file mode 100644 index 0000000..8a3f01b --- /dev/null +++ b/src/SubFluidSimulation.cpp @@ -0,0 +1,227 @@ +#include "SubFluidSimulation.h" + +using namespace std; +using namespace vmath; +using namespace DirectX; + +SubFluidSimulation::SubFluidSimulation(int isize, int jsize, int ksize, double dx) + :FluidSimulation(isize, jsize, ksize, dx) +{ +} + +SubFluidSimulation::~SubFluidSimulation() +{ +} + +void SubFluidSimulation::_outputSurfaceMeshThread(std::vector* particles, + MeshLevelSet* solidSDF) +{ + if (!_isSurfaceMeshReconstructionEnabled) { return; } + + _logfile.logString(_logfile.getTime() + " BEGIN Generate Surface Mesh"); + + StopWatch t; + t.start(); + + _applyMeshingVolumeToSDF(solidSDF); + _filterParticlesOutsideMeshingVolume(particles); + + TriangleMesh isomesh, previewmesh; + _polygonizeOutputSurface(isomesh, previewmesh, particles, solidSDF); + delete particles; + delete solidSDF; + + isomesh.removeMinimumTriangleCountPolyhedra(_minimumSurfacePolyhedronTriangleCount); + + _removeMeshNearDomain(isomesh); + _smoothSurfaceMesh(isomesh); + _smoothSurfaceMesh(previewmesh); + _invertContactNormals(isomesh); + + if (_isSurfaceMotionBlurEnabled) { + TriangleMesh blurData; + blurData.vertices.reserve(isomesh.vertices.size()); + double dt = _currentFrameDeltaTime; + for (size_t i = 0; i < isomesh.vertices.size(); i++) { + vmath::vec3 p = isomesh.vertices[i]; + vmath::vec3 t = _MACVelocity.evaluateVelocityAtPositionLinear(p) * _domainScale * dt; + blurData.vertices.push_back(t); + } + + _getTriangleMeshFileData(blurData, _outputData.surfaceBlurData); + _outputData.frameData.surfaceblur.enabled = 1; + _outputData.frameData.surfaceblur.vertices = (int)blurData.vertices.size(); + _outputData.frameData.surfaceblur.triangles = (int)blurData.triangles.size(); + _outputData.frameData.surfaceblur.bytes = (unsigned int)_outputData.surfaceBlurData.size(); + } + + vmath::vec3 scale(_domainScale, _domainScale, _domainScale); + isomesh.scale(scale); + isomesh.translate(_domainOffset); + previewmesh.scale(scale); + previewmesh.translate(_domainOffset); + + _getTriangleMeshFileData(isomesh, _outputData.surfaceData); + + _outputData.frameData.surface.enabled = 1; + _outputData.frameData.surface.vertices = (int)isomesh.vertices.size(); + _outputData.frameData.surface.triangles = (int)isomesh.triangles.size(); + _outputData.frameData.surface.bytes = (unsigned int)_outputData.surfaceData.size(); + + if (_isPreviewSurfaceMeshEnabled) { + _getTriangleMeshFileData(previewmesh, _outputData.surfacePreviewData); + _outputData.frameData.preview.enabled = 1; + _outputData.frameData.preview.vertices = (int)previewmesh.vertices.size(); + _outputData.frameData.preview.triangles = (int)previewmesh.triangles.size(); + _outputData.frameData.preview.bytes = (unsigned int)_outputData.surfacePreviewData.size(); + } + + t.stop(); + _timingData.outputMeshSimulationData += t.getTime(); + + _logfile.logString(_logfile.getTime() + " COMPLETE Generate Surface Mesh"); + + isomesh2 = isomesh; + +} + + +void SubFluidSimulation::writeSurfaceMesh(int frameno) { + std::ostringstream ss; + ss << frameno; + std::string frameString = ss.str(); + //frameString.insert(frameString.begin(), 6 - frameString.size(), '0'); + std::string filepath = "ply/fluid_" + frameString + ".ply"; + + std::vector* data = getSurfaceData(); + std::ofstream ply(filepath.c_str(), std::ios::out | std::ios::binary); + ply.write(data->data(), data->size()); + ply.close(); +} + +TriangleMesh SubFluidSimulation::getTriangleMeshFromAABB(AABB bbox) { + vmath::vec3 p = bbox.position; + std::vector verts{ + vmath::vec3(p.x, p.y, p.z), + vmath::vec3(p.x + bbox.width, p.y, p.z), + vmath::vec3(p.x + bbox.width, p.y, p.z + bbox.depth), + vmath::vec3(p.x, p.y, p.z + bbox.depth), + vmath::vec3(p.x, p.y + bbox.height, p.z), + vmath::vec3(p.x + bbox.width, p.y + bbox.height, p.z), + vmath::vec3(p.x + bbox.width, p.y + bbox.height, p.z + bbox.depth), + vmath::vec3(p.x, p.y + bbox.height, p.z + bbox.depth) + }; + + std::vector tris{ + Triangle(0, 1, 2), Triangle(0, 2, 3), Triangle(4, 7, 6), Triangle(4, 6, 5), + Triangle(0, 3, 7), Triangle(0, 7, 4), Triangle(1, 5, 6), Triangle(1, 6, 2), + Triangle(0, 4, 5), Triangle(0, 5, 1), Triangle(3, 2, 6), Triangle(3, 6, 7) + }; + + TriangleMesh m; + m.vertices = verts; + m.triangles = tris; + + return m; +} + + +void SubFluidSimulation::initialize() +{ + setSurfaceSubdivisionLevel(2); + + double x, y, z; + getSimulationDimensions(&x, &y, &z); + + double boxWidth = (1.0 / 3.0) * x; + double boxHeight = (1.0 / 3.0) * y; + double boxDepth = (1.0 / 3.0) * z; + vmath::vec3 boxPosition(0.5 * (x - boxWidth), 0.5 * (y - boxHeight), 0.5 * (z - boxDepth)); + AABB box(boxPosition, boxWidth, boxHeight, boxDepth); + TriangleMesh boxMesh = getTriangleMeshFromAABB(box); + MeshObject boxFluidObject(_isize, _jsize, _ksize, _dx); + boxFluidObject.updateMeshStatic(boxMesh); + addMeshFluid(boxFluidObject); + + addBodyForce(0.0, -25.0, 0.0); + FluidSimulation::initialize(); + +} + + + + +void SubFluidSimulation::IUpdate(double timestep) +{ + int frameno = getCurrentFrame(); + FluidSimulation::update(timestep); + writeSurfaceMesh(frameno); +} + +vector SubFluidSimulation::IGetVertice() +{ + vector vertice; + vector normal; + + for (int i = 0; i < isomesh2.vertices.size(); i++) + { + Vertex v; + v.pos.x = isomesh2.vertices[i].x; + v.pos.y = isomesh2.vertices[i].y; + v.pos.z = isomesh2.vertices[i].z; + + normal.push_back(vec3(0.0f, 0.0f, 0.0f)); + + vertice.push_back(v); + } + + + for (int i = 0; i < isomesh2.triangles.size(); i++) + { + int i0 = isomesh2.triangles[i].tri[0]; + int i1 = isomesh2.triangles[i].tri[1]; + int i2 = isomesh2.triangles[i].tri[2]; + + + vec3 v0 = isomesh2.vertices[i0]; + vec3 v1 = isomesh2.vertices[i1]; + vec3 v2 = isomesh2.vertices[i2]; + + vec3 e0 = v1 - v0; + vec3 e1 = v2 - v0; + vec3 faceN = cross(e0, e1); + + normal[i0] += faceN; + normal[i1] += faceN; + normal[i2] += faceN; + } + + + for (int i = 0; i < isomesh2.vertices.size(); i++) + { + vec3 nor = normalize(normal[i]); + vertice[i].nor.x = nor.x; + vertice[i].nor.y = nor.y; + vertice[i].nor.z = nor.z; + } + + return vertice; +} + +vector SubFluidSimulation::IGetIndice() +{ + vector indice; + indice.clear(); + + for (int i = 0; i < isomesh2.triangles.size(); i++) + { + for (int j = 0; j < 3; j++) + { + unsigned int a = static_cast(isomesh2.triangles[i].tri[j]); + indice.push_back(a); + } + //std::cout << "\n"; + } + + return indice; +} diff --git a/src/SubFluidSimulation.h b/src/SubFluidSimulation.h new file mode 100644 index 0000000..f439efb --- /dev/null +++ b/src/SubFluidSimulation.h @@ -0,0 +1,29 @@ +#pragma once +#include +#include "engine/fluidsimulation.h" +#include "engine/stopwatch.h" +#include "Win32App.h" // This includes ISimulation.h + +class SubFluidSimulation : public FluidSimulation, public ISimulation +{ +private: + TriangleMesh isomesh2; + void _outputSurfaceMeshThread(std::vector* particles, MeshLevelSet* solidSDF) override; + + // The ones originally in main.cpp + void writeSurfaceMesh(int frameno); + TriangleMesh getTriangleMeshFromAABB(AABB bbox); + + +public: + SubFluidSimulation(int isize, int jsize, int ksize, double dx); + ~SubFluidSimulation(); + + void initialize() override; + + // Functions for virtual class + void IUpdate(double timestep) override; + std::vector IGetVertice() override; + std::vector IGetIndice() override; +}; + diff --git a/src/c_bindings/aabb_c.h b/src/c_bindings/aabb_c.h deleted file mode 100644 index 1896c78..0000000 --- a/src/c_bindings/aabb_c.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef AABB_T_H -#define AABB_T_H - -#include "vector3_c.h" - -typedef struct AABB_t { - Vector3_t position; - float width; - float height; - float depth; -} AABB_t; - -#endif \ No newline at end of file diff --git a/src/c_bindings/cbindings.cpp b/src/c_bindings/cbindings.cpp deleted file mode 100644 index 5bb457a..0000000 --- a/src/c_bindings/cbindings.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -namespace CBindings { - -int SUCCESS = 1; -int FAIL = 0; -char CBINDINGS_ERROR_MESSAGE[4096]; - -void set_error_message(std::exception &ex) { - std::string msg = ex.what(); - msg.copy(CBINDINGS_ERROR_MESSAGE, msg.length(), 0); - CBINDINGS_ERROR_MESSAGE[msg.length()] = '\0'; -} - -char* get_error_message() { - return CBINDINGS_ERROR_MESSAGE; -} - -Vector3_t to_struct(vmath::vec3 v) { - return Vector3_t{ v.x, v.y, v.z}; -} - -vmath::vec3 to_class(Vector3_t v) { - return vmath::vec3(v.x, v.y, v.z); -} - -AABB_t to_struct(AABB b) { - Vector3_t cpos = to_struct(b.position); - return AABB_t{ cpos, - (float)b.width, - (float)b.height, - (float)b.depth }; -} - -AABB to_class(AABB_t b) { - return AABB(b.position.x, b.position.y, b.position.z, - b.width, b.height, b.depth); -} - -MarkerParticle_t to_struct(MarkerParticle p) { - Vector3_t pos = to_struct(p.position); - Vector3_t vel = to_struct(p.velocity); - return MarkerParticle_t{ pos, vel }; -} - -MarkerParticle to_class(MarkerParticle_t p) { - vmath::vec3 pos = to_class(p.position); - vmath::vec3 vel = to_class(p.velocity); - return MarkerParticle(pos, vel); -} - -DiffuseParticle_t to_struct(DiffuseParticle p) { - Vector3_t pos = to_struct(p.position); - Vector3_t vel = to_struct(p.velocity); - return DiffuseParticle_t{ pos, vel, p.lifetime, (char)p.type, p.id }; -} - -DiffuseParticle to_class(DiffuseParticle_t p) { - vmath::vec3 pos = to_class(p.position); - vmath::vec3 vel = to_class(p.velocity); - - DiffuseParticle dp(pos, vel, p.lifetime, p.id); - dp.type = (DiffuseParticleType)p.type; - return dp; -} - - -} - -extern "C" { - EXPORTDLL char* CBindings_get_error_message() { - return CBindings::get_error_message(); - } -} \ No newline at end of file diff --git a/src/c_bindings/cbindings.h b/src/c_bindings/cbindings.h deleted file mode 100644 index 3514d82..0000000 --- a/src/c_bindings/cbindings.h +++ /dev/null @@ -1,168 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef CBINDINGS_H -#define CBINDINGS_H - -#include -#include - -#include "../vmath.h" -#include "../aabb.h" -#include "vector3_c.h" -#include "aabb_c.h" -#include "../markerparticle.h" -#include "../diffuseparticle.h" -#include "markerparticle_c.h" -#include "diffuseparticle_c.h" - -namespace CBindings { - -extern int SUCCESS; -extern int FAIL; -extern char CBINDINGS_ERROR_MESSAGE[4096]; - -extern void set_error_message(std::exception &ex); -extern char* get_error_message(); - -template -void safe_execute_method_void_0param(CLASS *obj, void (CLASS::*funcptr)(void), int *err) { - *err = SUCCESS; - try { - (obj->*funcptr)(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } -} - -template -T safe_execute_method_ret_0param(CLASS *obj, T (CLASS::*funcptr)(void), int *err) { - *err = SUCCESS; - T result = T(); - try { - result = (obj->*funcptr)(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } - - return result; -} - -template -void safe_execute_method_void_1param(CLASS *obj, void (CLASS::*funcptr)(T), T param, int *err) { - *err = SUCCESS; - try { - (obj->*funcptr)(param); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } -} - -template -RT safe_execute_method_ret_1param(CLASS *obj, RT (CLASS::*funcptr)(T), T param, int *err) { - *err = SUCCESS; - RT result = RT(); - try { - result = (obj->*funcptr)(param); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } - - return result; -} - -template -void safe_execute_method_void_2param(CLASS *obj, - void (CLASS::*funcptr)(T, T), - T param1, T param2, int *err) { - *err = SUCCESS; - try { - (obj->*funcptr)(param1, param2); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } -} - -template -RT safe_execute_method_ret_2param(CLASS *obj, - RT (CLASS::*funcptr)(T, T), - T param1, T param2, int *err) { - RT result = RT(); - *err = SUCCESS; - try { - result = (obj->*funcptr)(param1, param2); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } - - return result; -} - -template -void safe_execute_method_void_3param(CLASS *obj, - void (CLASS::*funcptr)(T, T, T), - T param1, T param2, T param3, int *err) { - *err = SUCCESS; - try { - (obj->*funcptr)(param1, param2, param3); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } -} - -template -RT safe_execute_method_ret_3param(CLASS *obj, - RT (CLASS::*funcptr)(T, T, T), - T param1, T param2, T param3, int *err) { - RT result = RT(); - *err = SUCCESS; - try { - result = (obj->*funcptr)(param1, param2, param3); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = FAIL; - } - - return result; -} - -Vector3_t to_struct(vmath::vec3 v); -vmath::vec3 to_class(Vector3_t v); -AABB_t to_struct(AABB b); -AABB to_class(AABB_t v); -MarkerParticle_t to_struct(MarkerParticle p); -MarkerParticle to_class(MarkerParticle_t p); -DiffuseParticle_t to_struct(DiffuseParticle p); -DiffuseParticle to_class(DiffuseParticle_t p); - -} - -#endif \ No newline at end of file diff --git a/src/c_bindings/diffuseparticle_c.h b/src/c_bindings/diffuseparticle_c.h deleted file mode 100644 index 699b312..0000000 --- a/src/c_bindings/diffuseparticle_c.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef FLUIDENGINE_DIFFUSEPARTICLE_T_H -#define FLUIDENGINE_DIFFUSEPARTICLE_T_H - -#include "vector3_c.h" - -typedef struct DiffuseParticle_t { - Vector3_t position; - Vector3_t velocity; - float lifetime; - char type; - unsigned char id; -} DiffuseParticle_t; - -#endif \ No newline at end of file diff --git a/src/c_bindings/fluidsimulation_c.cpp b/src/c_bindings/fluidsimulation_c.cpp deleted file mode 100644 index cc6cf33..0000000 --- a/src/c_bindings/fluidsimulation_c.cpp +++ /dev/null @@ -1,2831 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../fluidsimulation.h" - -#include - -#include "cbindings.h" -#include "aabb_c.h" -#include "gridindex_c.h" -#include "vector3_c.h" -#include "markerparticle_c.h" -#include "diffuseparticle_c.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - EXPORTDLL FluidSimulation* FluidSimulation_new_from_empty(int *err) { - FluidSimulation *fluidsim = nullptr; - *err = CBindings::SUCCESS; - try { - fluidsim = new FluidSimulation(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return fluidsim; - } - - EXPORTDLL FluidSimulation* FluidSimulation_new_from_dimensions( - int isize, int jsize, int ksize, double dx, int *err) { - - FluidSimulation *fluidsim = nullptr; - *err = CBindings::SUCCESS; - try { - fluidsim = new FluidSimulation(isize, jsize, ksize, dx); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return fluidsim; - } - - EXPORTDLL void FluidSimulation_destroy(FluidSimulation* obj) { - delete obj; - } - - EXPORTDLL void FluidSimulation_get_version( - FluidSimulation* obj, int *major, int *minor, int *revision, int *err) { - CBindings::safe_execute_method_void_3param( - obj, &FluidSimulation::getVersion, major, minor, revision, err - ); - } - - EXPORTDLL void FluidSimulation_upscale_on_initialization(FluidSimulation* obj, - int previous_isize, - int previous_jsize, - int previous_ksize, - double previous_dx, - int *err) { - *err = CBindings::SUCCESS; - try { - obj->upscaleOnInitialization(previous_isize, previous_jsize, previous_ksize, previous_dx); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_initialize(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param(obj, &FluidSimulation::initialize, err); - } - - EXPORTDLL int FluidSimulation_is_initialized(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isInitialized, err - ); - } - - EXPORTDLL void FluidSimulation_update(FluidSimulation* obj, double dt, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::update, dt, err - ); - } - - EXPORTDLL int FluidSimulation_get_current_frame(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getCurrentFrame, err - ); - } - - EXPORTDLL void FluidSimulation_set_current_frame(FluidSimulation* obj, - int frameno, int *err) { - return CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setCurrentFrame, frameno, err - ); - } - - EXPORTDLL int FluidSimulation_is_current_frame_finished(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isCurrentFrameFinished, err - ); - } - - EXPORTDLL double FluidSimulation_get_cell_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getCellSize, err - ); - } - - EXPORTDLL void FluidSimulation_get_grid_dimensions( - FluidSimulation* obj, int *i, int *j, int *k, int *err) { - CBindings::safe_execute_method_void_3param( - obj, &FluidSimulation::getGridDimensions, i, j, k, err - ); - } - - EXPORTDLL int FluidSimulation_get_grid_width(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getGridWidth, err - ); - } - - EXPORTDLL int FluidSimulation_get_grid_height(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getGridHeight, err - ); - } - - EXPORTDLL int FluidSimulation_get_grid_depth(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getGridDepth, err - ); - } - - EXPORTDLL void FluidSimulation_get_simulation_dimensions( - FluidSimulation* obj, - double *width, double *height, double *depth, int *err) { - CBindings::safe_execute_method_void_3param( - obj, &FluidSimulation::getSimulationDimensions, width, height, depth, err - ); - } - - EXPORTDLL double FluidSimulation_get_simulation_width(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSimulationWidth, err - ); - } - - EXPORTDLL double FluidSimulation_get_simulation_height(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSimulationHeight, err - ); - } - - EXPORTDLL double FluidSimulation_get_simulation_depth(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSimulationDepth, err - ); - } - - EXPORTDLL double FluidSimulation_get_density(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDensity, err - ); - } - - EXPORTDLL void FluidSimulation_set_density(FluidSimulation* obj, - double density, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDensity, density, err - ); - } - - EXPORTDLL double FluidSimulation_get_marker_particle_scale(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMarkerParticleScale, err - ); - } - - EXPORTDLL void FluidSimulation_set_marker_particle_scale(FluidSimulation* obj, - double scale, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMarkerParticleScale, scale, err - ); - } - - EXPORTDLL double FluidSimulation_get_marker_particle_jitter_factor(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMarkerParticleJitterFactor, err - ); - } - - EXPORTDLL void FluidSimulation_set_marker_particle_jitter_factor(FluidSimulation* obj, - double jit, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMarkerParticleJitterFactor, jit, err - ); - } - - EXPORTDLL void FluidSimulation_enable_jitter_surface_marker_particles(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableJitterSurfaceMarkerParticles, err - ); - } - - EXPORTDLL void FluidSimulation_disable_jitter_surface_marker_particles(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableJitterSurfaceMarkerParticles, err - ); - } - - EXPORTDLL int FluidSimulation_is_jitter_surface_marker_particles_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isJitterSurfaceMarkerParticlesEnabled, err - ); - } - - EXPORTDLL int FluidSimulation_get_surface_subdivision_level(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSurfaceSubdivisionLevel, err - ); - } - - EXPORTDLL void FluidSimulation_set_surface_subdivision_level(FluidSimulation* obj, - int level, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSurfaceSubdivisionLevel, level, err - ); - } - - EXPORTDLL int FluidSimulation_get_num_polygonizer_slices(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getNumPolygonizerSlices, err - ); - } - - EXPORTDLL void FluidSimulation_set_num_polygonizer_slices(FluidSimulation* obj, - int numslices, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setNumPolygonizerSlices, numslices, err - ); - } - - EXPORTDLL double FluidSimulation_get_surface_smoothing_value(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSurfaceSmoothingValue, err - ); - } - - EXPORTDLL void FluidSimulation_set_surface_smoothing_value(FluidSimulation* obj, - double s, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSurfaceSmoothingValue, s, err - ); - } - - EXPORTDLL int FluidSimulation_get_surface_smoothing_iterations(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSurfaceSmoothingIterations, err - ); - } - - EXPORTDLL void FluidSimulation_set_surface_smoothing_iterations(FluidSimulation* obj, - int n, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSurfaceSmoothingIterations, n, err - ); - } - - EXPORTDLL void FluidSimulation_set_meshing_volume(FluidSimulation* obj, - MeshObject *volume, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMeshingVolume, volume, err - ); - } - - EXPORTDLL int FluidSimulation_get_min_polyhedron_triangle_count(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinPolyhedronTriangleCount, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_polyhedron_triangle_count(FluidSimulation* obj, - int count, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinPolyhedronTriangleCount, count, err - ); - } - - EXPORTDLL Vector3_t FluidSimulation_get_domain_offset(FluidSimulation* obj, - int *err) { - vmath::vec3 offset = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDomainOffset, err - ); - return CBindings::to_struct(offset); - } - - EXPORTDLL void FluidSimulation_set_domain_offset(FluidSimulation* obj, - double x, double y, double z, - int *err) { - CBindings::safe_execute_method_void_3param( - obj, &FluidSimulation::setDomainOffset, x, y, z, err - ); - } - - EXPORTDLL double FluidSimulation_get_domain_scale(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDomainScale, err - ); - } - - EXPORTDLL void FluidSimulation_set_domain_scale(FluidSimulation* obj, - double scale, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDomainScale, scale, err - ); - } - - EXPORTDLL void FluidSimulation_set_mesh_output_format_as_ply(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::setMeshOutputFormatAsPLY, err - ); - } - - EXPORTDLL void FluidSimulation_set_mesh_output_format_as_bobj(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::setMeshOutputFormatAsBOBJ, err - ); - } - - EXPORTDLL void FluidSimulation_enable_console_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableConsoleOutput, err - ); - } - - EXPORTDLL void FluidSimulation_disable_console_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableConsoleOutput, err - ); - } - - EXPORTDLL int FluidSimulation_is_console_output_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isConsoleOutputEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_surface_reconstruction(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableSurfaceReconstruction, err - ); - } - - EXPORTDLL void FluidSimulation_disable_surface_reconstruction(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableSurfaceReconstruction, err - ); - } - - EXPORTDLL int FluidSimulation_is_surface_reconstruction_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isSurfaceReconstructionEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_asynchronous_meshing(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableAsynchronousMeshing, err - ); - } - - EXPORTDLL void FluidSimulation_disable_asynchronous_meshing(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableAsynchronousMeshing, err - ); - } - - EXPORTDLL int FluidSimulation_is_asynchronous_meshing_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isAsynchronousMeshingEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_preview_mesh_output(FluidSimulation* obj, - double dx, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::enablePreviewMeshOutput, dx, err - ); - } - - EXPORTDLL void FluidSimulation_disable_preview_mesh_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disablePreviewMeshOutput, err - ); - } - - EXPORTDLL int FluidSimulation_is_preview_mesh_output_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isPreviewMeshOutputEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_obstacle_meshing_offset(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableObstacleMeshingOffset, err - ); - } - - EXPORTDLL void FluidSimulation_disable_obstacle_meshing_offset(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableObstacleMeshingOffset, err - ); - } - - EXPORTDLL int FluidSimulation_is_obstacle_meshing_offset_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isObstacleMeshingOffsetEnabled, err - ); - } - - EXPORTDLL double FluidSimulation_get_obstacle_meshing_offset(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getObstacleMeshingOffset, err - ); - } - - EXPORTDLL void FluidSimulation_set_obstacle_meshing_offset(FluidSimulation* obj, - double scale, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setObstacleMeshingOffset, scale, err - ); - } - - EXPORTDLL void FluidSimulation_enable_inverted_contact_normals(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableInvertedContactNormals, err - ); - } - - EXPORTDLL void FluidSimulation_disable_inverted_contact_normals(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableInvertedContactNormals, err - ); - } - - EXPORTDLL int FluidSimulation_is_inverted_contact_normals_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isInvertedContactNormalsEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_surface_motion_blur(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableSurfaceMotionBlur, err - ); - } - - EXPORTDLL void FluidSimulation_disable_surface_motion_blur(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableSurfaceMotionBlur, err - ); - } - - EXPORTDLL int FluidSimulation_is_surface_motion_blur_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isSurfaceMotionBlurEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_whitewater_motion_blur(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableWhitewaterMotionBlur, err - ); - } - - EXPORTDLL void FluidSimulation_disable_whitewater_motion_blur(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableWhitewaterMotionBlur, err - ); - } - - EXPORTDLL int FluidSimulation_is_whitewater_motion_blur_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isWhitewaterMotionBlurEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_remove_surface_near_domain(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableRemoveSurfaceNearDomain, err - ); - } - - EXPORTDLL void FluidSimulation_disable_remove_surface_near_domain(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableRemoveSurfaceNearDomain, err - ); - } - - EXPORTDLL int FluidSimulation_is_remove_surface_near_domain_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isRemoveSurfaceNearDomainEnabled, err - ); - } - - EXPORTDLL int FluidSimulation_get_remove_surface_near_domain_distance(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getRemoveSurfaceNearDomainDistance, err - ); - } - - EXPORTDLL void FluidSimulation_set_remove_surface_near_domain_distance(FluidSimulation* obj, - int n, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setRemoveSurfaceNearDomainDistance, n, err - ); - } - - EXPORTDLL void FluidSimulation_enable_fluid_particle_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableFluidParticleOutput, err - ); - } - - EXPORTDLL void FluidSimulation_disable_fluid_particle_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableFluidParticleOutput, err - ); - } - - EXPORTDLL int FluidSimulation_is_fluid_particle_output_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isFluidParticleOutputEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_internal_obstacle_mesh_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableInternalObstacleMeshOutput, err - ); - } - - EXPORTDLL void FluidSimulation_disable_internal_obstacle_mesh_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableInternalObstacleMeshOutput, err - ); - } - - EXPORTDLL int FluidSimulation_is_internal_obstacle_mesh_output_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isInternalObstacleMeshOutputEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_force_field_debug_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableForceFieldDebugOutput, err - ); - } - - EXPORTDLL void FluidSimulation_disable_force_field_debug_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableForceFieldDebugOutput, err - ); - } - - EXPORTDLL int FluidSimulation_is_force_field_debug_output_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isForceFieldDebugOutputEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_material_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffuseMaterialOutput, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_material_output(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffuseMaterialOutput, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_material_output_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseMaterialOutputEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_particle_emission(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffuseParticleEmission, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_particle_emission(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffuseParticleEmission, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_particle_emission_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseParticleEmissionEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_foam(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffuseFoam, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_foam(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffuseFoam, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_foam_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseFoamEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_bubbles(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffuseBubbles, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_bubbles(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffuseBubbles, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_bubbles_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseBubblesEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_spray(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffuseSpray, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_spray(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffuseSpray, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_spray_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseSprayEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_dust(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffuseDust, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_dust(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffuseDust, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_dust_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseDustEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_boundary_diffuse_dust_emission(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableBoundaryDiffuseDustEmission, err - ); - } - - EXPORTDLL void FluidSimulation_disable_boundary_diffuse_dust_emission(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableBoundaryDiffuseDustEmission, err - ); - } - - EXPORTDLL int FluidSimulation_is_boundary_diffuse_dust_emission_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isBoundaryDustDiffuseEmissionEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_bubble_diffuse_material(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableBubbleDiffuseMaterial, err - ); - } - - EXPORTDLL void FluidSimulation_disable_bubble_diffuse_material(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableBubbleDiffuseMaterial, err - ); - } - - EXPORTDLL int FluidSimulation_is_bubble_diffuse_material_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isBubbleDiffuseMaterialEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_spray_diffuse_material(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableSprayDiffuseMaterial, err - ); - } - - EXPORTDLL void FluidSimulation_disable_spray_diffuse_material(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableSprayDiffuseMaterial, err - ); - } - - EXPORTDLL int FluidSimulation_is_spray_diffuse_material_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isSprayDiffuseMaterialEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_foam_diffuse_material(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableFoamDiffuseMaterial, err - ); - } - - EXPORTDLL void FluidSimulation_disable_foam_diffuse_material(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableFoamDiffuseMaterial, err - ); - } - - EXPORTDLL int FluidSimulation_is_foam_diffuse_material_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isFoamDiffuseMaterialEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_output_diffuse_material_as_single_file(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::outputDiffuseMaterialAsSingleFile, err - ); - } - - EXPORTDLL void FluidSimulation_output_diffuse_material_as_separate_files(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::outputDiffuseMaterialAsSeparateFiles, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_material_output_as_separate_files(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffuseMaterialOutputAsSeparateFiles, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_emitter_generation_rate(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseEmitterGenerationRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_emitter_generation_rate(FluidSimulation* obj, - double rate, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseEmitterGenerationRate, rate, err - ); - } - - EXPORTDLL double FluidSimulation_get_min_diffuse_emitter_energy(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinDiffuseEmitterEnergy, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_diffuse_emitter_energy(FluidSimulation* obj, - double e, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinDiffuseEmitterEnergy, e, err - ); - } - - EXPORTDLL double FluidSimulation_get_max_diffuse_emitter_energy(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxDiffuseEmitterEnergy, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_diffuse_emitter_energy(FluidSimulation* obj, - double e, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxDiffuseEmitterEnergy, e, err - ); - } - - EXPORTDLL double FluidSimulation_get_min_diffuse_wavecrest_curvature(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinDiffuseWavecrestCurvature, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_diffuse_wavecrest_curvature(FluidSimulation* obj, - double k, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinDiffuseWavecrestCurvature, k, err - ); - } - - EXPORTDLL double FluidSimulation_get_max_diffuse_wavecrest_curvature(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxDiffuseWavecrestCurvature, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_diffuse_wavecrest_curvature(FluidSimulation* obj, - double k, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxDiffuseWavecrestCurvature, k, err - ); - } - - EXPORTDLL double FluidSimulation_get_min_diffuse_turbulence(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinDiffuseTurbulence, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_diffuse_turbulence(FluidSimulation* obj, - double t, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinDiffuseTurbulence, t, err - ); - } - - EXPORTDLL double FluidSimulation_get_max_diffuse_turbulence(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxDiffuseTurbulence, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_diffuse_turbulence(FluidSimulation* obj, - double t, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxDiffuseTurbulence, t, err - ); - } - - EXPORTDLL int FluidSimulation_get_max_num_diffuse_particles(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxNumDiffuseParticles, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_num_diffuse_particles(FluidSimulation* obj, - int n, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxNumDiffuseParticles, n, err - ); - } - - EXPORTDLL AABB_t FluidSimulation_get_diffuse_emitter_generation_bounds(FluidSimulation* obj, - int *err) { - AABB bounds = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseEmitterGenerationBounds, err - ); - - return CBindings::to_struct(bounds); - } - - EXPORTDLL void FluidSimulation_set_diffuse_emitter_generation_bounds(FluidSimulation* obj, - AABB_t bounds, int *err) { - AABB bounds_cpp = CBindings::to_class(bounds); - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseEmitterGenerationBounds, bounds_cpp, err - ); - } - - EXPORTDLL double FluidSimulation_get_min_diffuse_particle_lifetime(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinDiffuseParticleLifetime, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_diffuse_particle_lifetime(FluidSimulation* obj, - double lifetime, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinDiffuseParticleLifetime, lifetime, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_particle_lifetime_variance(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleLifetimeVariance, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_particle_lifetime_variance(FluidSimulation* obj, - double variance, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseParticleLifetimeVariance, variance, err - ); - } - - EXPORTDLL double FluidSimulation_get_foam_particle_lifetime_modifier(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getFoamParticleLifetimeModifier, err - ); - } - - EXPORTDLL void FluidSimulation_set_foam_particle_lifetime_modifier(FluidSimulation* obj, - double modifier, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setFoamParticleLifetimeModifier, modifier, err - ); - } - - EXPORTDLL double FluidSimulation_get_bubble_particle_lifetime_modifier(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getBubbleParticleLifetimeModifier, err - ); - } - - EXPORTDLL void FluidSimulation_set_bubble_particle_lifetime_modifier(FluidSimulation* obj, - double modifier, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setBubbleParticleLifetimeModifier, modifier, err - ); - } - - EXPORTDLL double FluidSimulation_get_spray_particle_lifetime_modifier(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSprayParticleLifetimeModifier, err - ); - } - - EXPORTDLL void FluidSimulation_set_spray_particle_lifetime_modifier(FluidSimulation* obj, - double modifier, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSprayParticleLifetimeModifier, modifier, err - ); - } - - EXPORTDLL double FluidSimulation_get_dust_particle_lifetime_modifier(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDustParticleLifetimeModifier, err - ); - } - - EXPORTDLL void FluidSimulation_set_dust_particle_lifetime_modifier(FluidSimulation* obj, - double modifier, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDustParticleLifetimeModifier, modifier, err - ); - } - - EXPORTDLL double FluidSimulation_get_max_diffuse_particle_lifetime(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxDiffuseParticleLifetime, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_diffuse_particle_lifetime(FluidSimulation* obj, - double lifetime, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxDiffuseParticleLifetime, lifetime, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_particle_wavecrest_emission_rate( - FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleWavecrestEmissionRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_particle_wavecrest_emission_rate( - FluidSimulation* obj, double rate, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseParticleWavecrestEmissionRate, rate, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_particle_turbulence_emission_rate( - FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleTurbulenceEmissionRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_particle_turbulence_emission_rate( - FluidSimulation* obj, double rate, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseParticleTurbulenceEmissionRate, rate, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_particle_dust_emission_rate( - FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleDustEmissionRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_particle_dust_emission_rate( - FluidSimulation* obj, double rate, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseParticleDustEmissionRate, rate, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_foam_advection_strength(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseFoamAdvectionStrength, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_foam_advection_strength(FluidSimulation* obj, - double s, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseFoamAdvectionStrength, s, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_foam_layer_depth(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseFoamLayerDepth, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_foam_layer_depth(FluidSimulation* obj, - double depth, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseFoamLayerDepth, depth, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_foam_layer_offset(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseFoamLayerOffset, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_foam_layer_offset(FluidSimulation* obj, - double offset, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseFoamLayerOffset, offset, err - ); - } - - EXPORTDLL void FluidSimulation_enable_diffuse_preserve_foam(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableDiffusePreserveFoam, err - ); - } - - EXPORTDLL void FluidSimulation_disable_diffuse_preserve_foam(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableDiffusePreserveFoam, err - ); - } - - EXPORTDLL int FluidSimulation_is_diffuse_preserve_foam_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isDiffusePreserveFoamEnabled, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_foam_preservation_rate(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseFoamPreservationRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_foam_preservation_rate(FluidSimulation* obj, - double rate, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseFoamPreservationRate, rate, err - ); - } - - EXPORTDLL double FluidSimulation_get_min_diffuse_foam_density(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinDiffuseFoamDensity, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_diffuse_foam_density(FluidSimulation* obj, - double d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinDiffuseFoamDensity, d, err - ); - } - - EXPORTDLL double FluidSimulation_get_max_diffuse_foam_density(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxDiffuseFoamDensity, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_diffuse_foam_density(FluidSimulation* obj, - double d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxDiffuseFoamDensity, d, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_bubble_drag_coefficient(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseBubbleDragCoefficient, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_bubble_drag_coefficient(FluidSimulation* obj, - double d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseBubbleDragCoefficient, d, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_bubble_bouyancy_coefficient(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseBubbleBouyancyCoefficient, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_bubble_bouyancy_coefficient(FluidSimulation* obj, - double b, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseBubbleBouyancyCoefficient, b, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_dust_drag_coefficient(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseDustDragCoefficient, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_dust_drag_coefficient(FluidSimulation* obj, - double d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseDustDragCoefficient, d, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_dust_bouyancy_coefficient(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseDustBouyancyCoefficient, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_dust_bouyancy_coefficient(FluidSimulation* obj, - double b, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseDustBouyancyCoefficient, b, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_spray_drag_coefficient(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseSprayDragCoefficient, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_spray_drag_coefficient(FluidSimulation* obj, - double d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseSprayDragCoefficient, d, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_spray_emission_speed(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseSprayEmissionSpeed, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_spray_emission_speed(FluidSimulation* obj, - double d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseSprayEmissionSpeed, d, err - ); - } - - EXPORTDLL int FluidSimulation_get_diffuse_foam_limit_behaviour(FluidSimulation* obj, - int *err) { - LimitBehaviour b = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseFoamLimitBehaviour, err - ); - - int enum_value = 0; - if (b == LimitBehaviour::kill) { - enum_value = 0; - } else if (b == LimitBehaviour::ballistic) { - enum_value = 1; - } else if (b == LimitBehaviour::collide) { - enum_value = 2; - } - - return enum_value; - } - - EXPORTDLL void FluidSimulation_set_diffuse_foam_limit_behaviour(FluidSimulation* obj, - int enum_value, - int *err) { - LimitBehaviour b = LimitBehaviour::kill; - if (enum_value == 0) { - b = LimitBehaviour::kill; - } else if (enum_value == 1) { - b = LimitBehaviour::ballistic; - } else if (enum_value == 2) { - b = LimitBehaviour::collide; - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseFoamLimitBehaviour, b, err - ); - } - - EXPORTDLL int FluidSimulation_get_diffuse_bubble_limit_behaviour(FluidSimulation* obj, - int *err) { - LimitBehaviour b = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseBubbleLimitBehaviour, err - ); - - int enum_value = 0; - if (b == LimitBehaviour::kill) { - enum_value = 0; - } else if (b == LimitBehaviour::ballistic) { - enum_value = 1; - } else if (b == LimitBehaviour::collide) { - enum_value = 2; - } - - return enum_value; - } - - EXPORTDLL void FluidSimulation_set_diffuse_bubble_limit_behaviour(FluidSimulation* obj, - int enum_value, - int *err) { - LimitBehaviour b = LimitBehaviour::kill; - if (enum_value == 0) { - b = LimitBehaviour::kill; - } else if (enum_value == 1) { - b = LimitBehaviour::ballistic; - } else if (enum_value == 2) { - b = LimitBehaviour::collide; - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseBubbleLimitBehaviour, b, err - ); - } - - EXPORTDLL int FluidSimulation_get_diffuse_spray_limit_behaviour(FluidSimulation* obj, - int *err) { - LimitBehaviour b = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseSprayLimitBehaviour, err - ); - - int enum_value = 0; - if (b == LimitBehaviour::kill) { - enum_value = 0; - } else if (b == LimitBehaviour::ballistic) { - enum_value = 1; - } else if (b == LimitBehaviour::collide) { - enum_value = 2; - } - - return enum_value; - } - - EXPORTDLL void FluidSimulation_set_diffuse_spray_limit_behaviour(FluidSimulation* obj, - int enum_value, - int *err) { - LimitBehaviour b = LimitBehaviour::kill; - if (enum_value == 0) { - b = LimitBehaviour::kill; - } else if (enum_value == 1) { - b = LimitBehaviour::ballistic; - } else if (enum_value == 2) { - b = LimitBehaviour::collide; - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseSprayLimitBehaviour, b, err - ); - } - - EXPORTDLL int FluidSimulation_get_diffuse_dust_limit_behaviour(FluidSimulation* obj, - int *err) { - LimitBehaviour b = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseDustLimitBehaviour, err - ); - - int enum_value = 0; - if (b == LimitBehaviour::kill) { - enum_value = 0; - } else if (b == LimitBehaviour::ballistic) { - enum_value = 1; - } else if (b == LimitBehaviour::collide) { - enum_value = 2; - } - - return enum_value; - } - - EXPORTDLL void FluidSimulation_set_diffuse_dust_limit_behaviour(FluidSimulation* obj, - int enum_value, - int *err) { - LimitBehaviour b = LimitBehaviour::kill; - if (enum_value == 0) { - b = LimitBehaviour::kill; - } else if (enum_value == 1) { - b = LimitBehaviour::ballistic; - } else if (enum_value == 2) { - b = LimitBehaviour::collide; - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseDustLimitBehaviour, b, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_foam_active_boundary_sides(FluidSimulation* obj, - int *result, - int *err) { - std::vector boolvect = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseFoamActiveBoundarySides, err - ); - - for (int i = 0; i < 6; i++) { - result[i] = boolvect[i]; - } - } - - EXPORTDLL void FluidSimulation_set_diffuse_foam_active_boundary_sides(FluidSimulation* obj, - int *active, int *err) { - std::vector boolvect; - for (int i = 0; i < 6; i++) { - boolvect.push_back(active[i] != 0); - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseFoamActiveBoundarySides, boolvect, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_bubble_active_boundary_sides(FluidSimulation* obj, - int *result, - int *err) { - std::vector boolvect = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseBubbleActiveBoundarySides, err - ); - - for (int i = 0; i < 6; i++) { - result[i] = boolvect[i]; - } - } - - EXPORTDLL void FluidSimulation_set_diffuse_bubble_active_boundary_sides(FluidSimulation* obj, - int *active, int *err) { - std::vector boolvect; - for (int i = 0; i < 6; i++) { - boolvect.push_back(active[i] != 0); - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseBubbleActiveBoundarySides, boolvect, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_spray_active_boundary_sides(FluidSimulation* obj, - int *result, - int *err) { - std::vector boolvect = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseSprayActiveBoundarySides, err - ); - - for (int i = 0; i < 6; i++) { - result[i] = (bool)boolvect[i]; - } - } - - EXPORTDLL void FluidSimulation_set_diffuse_spray_active_boundary_sides(FluidSimulation* obj, - int *active, int *err) { - std::vector boolvect; - for (int i = 0; i < 6; i++) { - boolvect.push_back(active[i] != 0); - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseSprayActiveBoundarySides, boolvect, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_dust_active_boundary_sides(FluidSimulation* obj, - int *result, - int *err) { - std::vector boolvect = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseDustActiveBoundarySides, err - ); - - for (int i = 0; i < 6; i++) { - result[i] = (bool)boolvect[i]; - } - } - - EXPORTDLL void FluidSimulation_set_diffuse_dust_active_boundary_sides(FluidSimulation* obj, - int *active, int *err) { - std::vector boolvect; - for (int i = 0; i < 6; i++) { - boolvect.push_back(active[i] != 0); - } - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseDustActiveBoundarySides, boolvect, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_obstacle_influence_base_level(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseObstacleInfluenceBaseLevel, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_obstacle_influence_base_level(FluidSimulation* obj, - double level, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseObstacleInfluenceBaseLevel, level, err - ); - } - - EXPORTDLL double FluidSimulation_get_diffuse_obstacle_influence_decay_rate(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseObstacleInfluenceDecayRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_diffuse_obstacle_influence_decay_rate(FluidSimulation* obj, - double decay, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setDiffuseObstacleInfluenceDecayRate, decay, err - ); - } - - EXPORTDLL void FluidSimulation_enable_opencl_particle_advection(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableOpenCLParticleAdvection, err - ); - } - - EXPORTDLL void FluidSimulation_disable_opencl_particle_advection(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableOpenCLParticleAdvection, err - ); - } - - EXPORTDLL int FluidSimulation_is_opencl_particle_advection_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isOpenCLParticleAdvectionEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_opencl_scalar_field(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableOpenCLScalarField, err - ); - } - - EXPORTDLL int FluidSimulation_get_particle_advection_kernel_workload_size( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getParticleAdvectionKernelWorkLoadSize, err - ); - } - - EXPORTDLL void FluidSimulation_set_particle_advection_kernel_workload_size( - FluidSimulation* obj, int size, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setParticleAdvectionKernelWorkLoadSize, size, err - ); - } - - EXPORTDLL int FluidSimulation_get_scalar_field_kernel_workload_size( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getScalarFieldKernelWorkLoadSize, err - ); - } - - EXPORTDLL void FluidSimulation_set_scalar_field_kernel_workload_size( - FluidSimulation* obj, int size, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setScalarFieldKernelWorkLoadSize, size, err - ); - } - - EXPORTDLL void FluidSimulation_disable_opencl_scalar_field(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableOpenCLScalarField, err - ); - } - - EXPORTDLL int FluidSimulation_is_opencl_scalar_field_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isOpenCLScalarFieldEnabled, err - ); - } - - EXPORTDLL int FluidSimulation_get_max_thread_count( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxThreadCount, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_thread_count(FluidSimulation* obj, - int n, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxThreadCount, n, err - ); - } - - EXPORTDLL void FluidSimulation_add_body_force(FluidSimulation* obj, - double fx, double fy, double fz, - int *err) { - CBindings::safe_execute_method_void_3param( - obj, &FluidSimulation::addBodyForce, fx, fy, fz, err - ); - } - - EXPORTDLL Vector3_t FluidSimulation_get_constant_body_force(FluidSimulation* obj, - int *err) { - vmath::vec3 f = CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getConstantBodyForce, err - ); - return CBindings::to_struct(f); - } - - EXPORTDLL void FluidSimulation_reset_body_force(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::resetBodyForce, err - ); - } - - EXPORTDLL void FluidSimulation_enable_force_fields(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableForceFields, err - ); - } - - EXPORTDLL void FluidSimulation_disable_force_fields(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableForceFields, err - ); - } - - EXPORTDLL int FluidSimulation_is_force_fields_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isForceFieldsEnabled, err - ); - } - - EXPORTDLL int FluidSimulation_get_force_field_reduction_level(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getForceFieldReductionLevel, err - ); - } - - EXPORTDLL void FluidSimulation_set_force_field_reduction_level(FluidSimulation* obj, - int level, int *err) { - return CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setForceFieldReductionLevel, level, err - ); - } - - EXPORTDLL ForceFieldGrid* FluidSimulation_get_force_field_grid(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getForceFieldGrid, err - ); - } - - EXPORTDLL double FluidSimulation_get_viscosity(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getViscosity, err - ); - } - - EXPORTDLL void FluidSimulation_set_viscosity(FluidSimulation* obj, - double v, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setViscosity, v, err - ); - } - - EXPORTDLL double FluidSimulation_get_surface_tension(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSurfaceTension, err - ); - } - - EXPORTDLL void FluidSimulation_set_surface_tension(FluidSimulation* obj, - double k, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSurfaceTension, k, err - ); - } - - EXPORTDLL void FluidSimulation_enable_sheet_seeding(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableSheetSeeding, err - ); - } - - EXPORTDLL void FluidSimulation_disable_sheet_seeding(FluidSimulation* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableSheetSeeding, err - ); - } - - EXPORTDLL int FluidSimulation_is_sheet_seeding_enabled(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isSheetSeedingEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_set_sheet_fill_threshold(FluidSimulation* obj, double f, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSheetFillThreshold, f, err - ); - } - - EXPORTDLL double FluidSimulation_get_sheet_fill_threshold(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSheetFillThreshold, err - ); - } - - EXPORTDLL void FluidSimulation_set_sheet_fill_rate(FluidSimulation* obj, double r, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSheetFillRate, r, err - ); - } - - EXPORTDLL double FluidSimulation_get_sheet_fill_rate(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSheetFillRate, err - ); - } - - EXPORTDLL void FluidSimulation_set_boundary_friction(FluidSimulation* obj, double f, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setBoundaryFriction, f, err - ); - } - - EXPORTDLL double FluidSimulation_get_boundary_friction(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getBoundaryFriction, err - ); - } - - EXPORTDLL int FluidSimulation_get_CFL_condition_number( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getCFLConditionNumber, err - ); - } - - EXPORTDLL void FluidSimulation_set_CFL_condition_number( - FluidSimulation* obj, int n, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setCFLConditionNumber, n, err - ); - } - - EXPORTDLL double FluidSimulation_get_surface_tension_condition_number( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getSurfaceTensionConditionNumber, err - ); - } - - EXPORTDLL void FluidSimulation_set_surface_tension_condition_number( - FluidSimulation* obj, double n, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setSurfaceTensionConditionNumber, n, err - ); - } - - EXPORTDLL int FluidSimulation_get_min_time_steps_per_frame( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMinTimeStepsPerFrame, err - ); - } - - EXPORTDLL void FluidSimulation_set_min_time_steps_per_frame( - FluidSimulation* obj, int n, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMinTimeStepsPerFrame, n, err - ); - } - - EXPORTDLL int FluidSimulation_get_max_time_steps_per_frame( - FluidSimulation* obj, int *err) { - - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMaxTimeStepsPerFrame, err - ); - } - - EXPORTDLL void FluidSimulation_set_max_time_steps_per_frame( - FluidSimulation* obj, int n, int *err) { - - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setMaxTimeStepsPerFrame, n, err - ); - } - - EXPORTDLL void FluidSimulation_enable_adaptive_obstacle_time_stepping(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableAdaptiveObstacleTimeStepping, err - ); - } - - EXPORTDLL void FluidSimulation_disable_adaptive_obstacle_time_stepping(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableAdaptiveObstacleTimeStepping, err - ); - } - - EXPORTDLL int FluidSimulation_is_adaptive_obstacle_time_stepping_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isAdaptiveObstacleTimeSteppingEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_adaptive_force_field_time_stepping(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableAdaptiveForceFieldTimeStepping, err - ); - } - - EXPORTDLL void FluidSimulation_disable_adaptive_force_field_time_stepping(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableAdaptiveForceFieldTimeStepping, err - ); - } - - EXPORTDLL int FluidSimulation_is_adaptive_force_field_time_stepping_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isAdaptiveForceFieldTimeSteppingEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_extreme_velocity_removal(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableExtremeVelocityRemoval, err - ); - } - - EXPORTDLL void FluidSimulation_disable_extreme_velocity_removal(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableExtremeVelocityRemoval, err - ); - } - - EXPORTDLL int FluidSimulation_is_extreme_velocity_removal_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isExtremeVelocityRemovalEnabled, err - ); - } - - EXPORTDLL double FluidSimulation_get_PICFLIP_ratio(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getPICFLIPRatio, err - ); - } - - EXPORTDLL void FluidSimulation_set_PICFLIP_ratio(FluidSimulation* obj, - double ratio, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setPICFLIPRatio, ratio, err - ); - } - - EXPORTDLL void FluidSimulation_get_preferred_gpu_device(FluidSimulation* obj, - char *device_name, int *err) { - *err = CBindings::SUCCESS; - try { - std::string name = obj->getPreferredGPUDevice(); - name.copy(device_name, 4096); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_set_preferred_gpu_device(FluidSimulation* obj, - char *device_name, int *err) { - std::string str_device_name = device_name; - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::setPreferredGPUDevice, str_device_name, err - ); - } - - EXPORTDLL void FluidSimulation_enable_static_solid_levelset_precomputation(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableStaticSolidLevelSetPrecomputation, err - ); - } - - EXPORTDLL void FluidSimulation_disable_static_solid_levelset_precomputation(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableStaticSolidLevelSetPrecomputation, err - ); - } - - EXPORTDLL int FluidSimulation_is_static_solid_levelset_precomputation_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isStaticSolidLevelSetPrecomputationEnabled, err - ); - } - - EXPORTDLL void FluidSimulation_enable_temporary_mesh_levelset(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::enableTemporaryMeshLevelSet, err - ); - } - - EXPORTDLL void FluidSimulation_disable_temporary_mesh_levelset(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::disableTemporaryMeshLevelSet, err - ); - } - - EXPORTDLL int FluidSimulation_is_temporary_mesh_levelset_enabled(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::isTemporaryMeshLevelSetEnabled, err - ); - } - - - EXPORTDLL void FluidSimulation_add_mesh_fluid_source(FluidSimulation* obj, - MeshFluidSource *source, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::addMeshFluidSource, source, err - ); - } - - EXPORTDLL void FluidSimulation_remove_mesh_fluid_source(FluidSimulation* obj, - MeshFluidSource *source, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::removeMeshFluidSource, source, err - ); - } - - EXPORTDLL void FluidSimulation_remove_mesh_fluid_sources(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::removeMeshFluidSources, err - ); - } - - EXPORTDLL void FluidSimulation_add_mesh_obstacle(FluidSimulation* obj, - MeshObject *obstacle, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::addMeshObstacle, obstacle, err - ); - } - - EXPORTDLL void FluidSimulation_remove_mesh_obstacle(FluidSimulation* obj, - MeshObject *obstacle, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::removeMeshObstacle, obstacle, err - ); - } - - EXPORTDLL void FluidSimulation_remove_mesh_obstacles(FluidSimulation* obj, - int *err) { - CBindings::safe_execute_method_void_0param( - obj, &FluidSimulation::removeMeshObstacles, err - ); - } - - EXPORTDLL void FluidSimulation_add_mesh_fluid(FluidSimulation* obj, - MeshObject *fluid, - Vector3_t velocity, - int *err) { - vmath::vec3 v(velocity.x, velocity.y, velocity.z); - - *err = CBindings::SUCCESS; - try { - obj->addMeshFluid(*fluid, v); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL int FluidSimulation_get_num_marker_particles(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getNumMarkerParticles, err - ); - } - - EXPORTDLL void FluidSimulation_get_marker_particles( - FluidSimulation* obj, - int startidx, int endidx, - MarkerParticle_t *out, int *err) { - - std::vector mps = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getMarkerParticles, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < mps.size(); i++) { - out[i] = CBindings::to_struct(mps[i]); - } - } - - EXPORTDLL void FluidSimulation_get_marker_particle_positions( - FluidSimulation* obj, - int startidx, int endidx, - Vector3_t *out, int *err) { - - std::vector mps = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getMarkerParticlePositions, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < mps.size(); i++) { - out[i] = CBindings::to_struct(mps[i]); - } - } - - EXPORTDLL void FluidSimulation_get_marker_particle_velocities( - FluidSimulation* obj, - int startidx, int endidx, - Vector3_t *out, int *err) { - - std::vector mvs = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getMarkerParticleVelocities, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < mvs.size(); i++) { - out[i] = CBindings::to_struct(mvs[i]); - } - } - - EXPORTDLL int FluidSimulation_get_num_diffuse_particles(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getNumDiffuseParticles, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_particles( - FluidSimulation* obj, - int startidx, int endidx, - DiffuseParticle_t *out, int *err) { - - std::vector dps = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getDiffuseParticles, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < dps.size(); i++) { - out[i] = CBindings::to_struct(dps[i]); - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_positions( - FluidSimulation* obj, - int startidx, int endidx, - Vector3_t *out, int *err) { - - std::vector dps = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getDiffuseParticlePositions, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < dps.size(); i++) { - out[i] = CBindings::to_struct(dps[i]); - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_velocities( - FluidSimulation* obj, - int startidx, int endidx, - Vector3_t *out, int *err) { - - std::vector dvs = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getDiffuseParticleVelocities, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < dvs.size(); i++) { - out[i] = CBindings::to_struct(dvs[i]); - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_lifetimes( - FluidSimulation* obj, - int startidx, int endidx, - float *out, int *err) { - - std::vector lfs = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getDiffuseParticleLifetimes, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < lfs.size(); i++) { - out[i] = lfs[i]; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_types( - FluidSimulation* obj, - int startidx, int endidx, - char *out, int *err) { - - std::vector types = CBindings::safe_execute_method_ret_2param( - obj, &FluidSimulation::getDiffuseParticleTypes, - startidx, endidx, err - ); - - for (unsigned int i = 0; i < types.size(); i++) { - out[i] = types[i]; - } - } - - EXPORTDLL char* FluidSimulation_get_error_message() { - return CBindings::get_error_message(); - } - - EXPORTDLL int FluidSimulation_get_surface_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getSurfaceData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_surface_preview_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getSurfacePreviewData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_surface_blur_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getSurfaceBlurData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_foam_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseFoamData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_bubble_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseBubbleData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_spray_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseSprayData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_dust_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseDustData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_foam_blur_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseFoamBlurData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_bubble_blur_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseBubbleBlurData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_spray_blur_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseSprayBlurData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_diffuse_dust_blur_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseDustBlurData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_fluid_particle_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getFluidParticleData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_internal_obstacle_mesh_data_size(FluidSimulation* obj, - int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getInternalObstacleMeshData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_force_field_debug_data_size(FluidSimulation* obj, - int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getForceFieldDebugData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL int FluidSimulation_get_logfile_data_size(FluidSimulation* obj, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getLogFileData(); - return (int)data->size(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return 0; - } - - EXPORTDLL unsigned int FluidSimulation_get_marker_particle_position_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMarkerParticlePositionDataSize, err - ); - } - - EXPORTDLL unsigned int FluidSimulation_get_marker_particle_velocity_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getMarkerParticleVelocityDataSize, err - ); - } - - EXPORTDLL unsigned int FluidSimulation_get_diffuse_particle_position_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticlePositionDataSize, err - ); - } - - EXPORTDLL unsigned int FluidSimulation_get_diffuse_particle_velocity_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleVelocityDataSize, err - ); - } - - EXPORTDLL unsigned int FluidSimulation_get_diffuse_particle_lifetime_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleLifetimeDataSize, err - ); - } - - EXPORTDLL unsigned int FluidSimulation_get_diffuse_particle_type_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleTypeDataSize, err - ); - } - - EXPORTDLL unsigned int FluidSimulation_get_diffuse_particle_id_data_size(FluidSimulation* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getDiffuseParticleIdDataSize, err - ); - } - - EXPORTDLL void FluidSimulation_get_surface_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getSurfaceData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_surface_preview_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getSurfacePreviewData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_surface_blur_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getSurfaceBlurData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_foam_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseFoamData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_bubble_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseBubbleData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_spray_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseSprayData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_dust_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseDustData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_foam_blur_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseFoamBlurData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_bubble_blur_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseBubbleBlurData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_spray_blur_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseSprayBlurData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_dust_blur_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getDiffuseDustBlurData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_fluid_particle_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getFluidParticleData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_internal_obstacle_mesh_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getInternalObstacleMeshData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_force_field_debug_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getForceFieldDebugData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_logfile_data(FluidSimulation* obj, - char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - std::vector *data = obj->getLogFileData(); - std::memcpy(c_data, data->data(), data->size()); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL FluidSimulationFrameStats FluidSimulation_get_frame_stats_data(FluidSimulation* obj, - int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &FluidSimulation::getFrameStatsData, err - ); - } - - EXPORTDLL void FluidSimulation_get_marker_particle_position_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getMarkerParticlePositionDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_marker_particle_velocity_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getMarkerParticleVelocityDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_position_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getDiffuseParticlePositionDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_velocity_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getDiffuseParticleVelocityDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_lifetime_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getDiffuseParticleLifetimeDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_type_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getDiffuseParticleTypeDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_id_data_range(FluidSimulation* obj, - int start_idx, int end_idx, char *c_data, int *err) { - *err = CBindings::SUCCESS; - try { - obj->getDiffuseParticleIdDataRange(start_idx, end_idx, c_data); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void FluidSimulation_get_marker_particle_position_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getMarkerParticlePositionData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_get_marker_particle_velocity_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getMarkerParticleVelocityData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_position_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getDiffuseParticlePositionData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_velocity_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getDiffuseParticleVelocityData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_lifetime_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getDiffuseParticleLifetimeData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_type_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getDiffuseParticleTypeData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_get_diffuse_particle_id_data(FluidSimulation* obj, - char *c_data, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::getDiffuseParticleIdData, c_data, err - ); - } - - EXPORTDLL void FluidSimulation_load_marker_particle_data(FluidSimulation* obj, - FluidSimulationMarkerParticleData data, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::loadMarkerParticleData, data, err - ); - } - - EXPORTDLL void FluidSimulation_load_diffuse_particle_data(FluidSimulation* obj, - FluidSimulationDiffuseParticleData data, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &FluidSimulation::loadDiffuseParticleData, data, err - ); - } -} diff --git a/src/c_bindings/forcefield_c.cpp b/src/c_bindings/forcefield_c.cpp deleted file mode 100644 index 367a0b4..0000000 --- a/src/c_bindings/forcefield_c.cpp +++ /dev/null @@ -1,209 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../forcefield.h" -#include "../meshutils.h" -#include "../trianglemesh.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL void ForceField_update_mesh_static( - ForceField* obj, - MeshUtils::TriangleMesh_t mesh_data, int *err) { - - *err = CBindings::SUCCESS; - try { - TriangleMesh mesh; - MeshUtils::structToTriangleMesh(mesh_data, mesh); - obj->updateMeshStatic(mesh); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void ForceField_update_mesh_animated( - ForceField* obj, - MeshUtils::TriangleMesh_t mesh_data_previous, - MeshUtils::TriangleMesh_t mesh_data_current, - MeshUtils::TriangleMesh_t mesh_data_next, int *err) { - - *err = CBindings::SUCCESS; - try { - TriangleMesh meshPrevious, meshCurrent, meshNext; - MeshUtils::structToTriangleMesh(mesh_data_previous, meshPrevious); - MeshUtils::structToTriangleMesh(mesh_data_current, meshCurrent); - MeshUtils::structToTriangleMesh(mesh_data_next, meshNext); - obj->updateMeshAnimated(meshPrevious, meshCurrent, meshNext); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void ForceField_enable(ForceField* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceField::enable, err - ); - } - - EXPORTDLL void ForceField_disable(ForceField* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceField::disable, err - ); - } - - EXPORTDLL int ForceField_is_enabled(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::isEnabled, err - ); - } - - EXPORTDLL float ForceField_get_strength(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getStrength, err - ); - } - - EXPORTDLL void ForceField_set_strength(ForceField* obj, float s, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setStrength, s, err - ); - } - - EXPORTDLL float ForceField_get_falloff_power(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getFalloffPower, err - ); - } - - EXPORTDLL void ForceField_set_falloff_power(ForceField* obj, float p, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setFalloffPower, p, err - ); - } - - EXPORTDLL float ForceField_get_max_force_limit_factor(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getMaxForceLimitFactor, err - ); - } - - EXPORTDLL void ForceField_set_max_force_limit_factor(ForceField* obj, float factor, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setMaxForceLimitFactor, factor, err - ); - } - - EXPORTDLL void ForceField_enable_min_distance(ForceField* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceField::enableMinDistance, err - ); - } - - EXPORTDLL void ForceField_disable_min_distance(ForceField* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceField::disableMinDistance, err - ); - } - - EXPORTDLL int ForceField_is_min_distance_enabled(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::isMinDistanceEnabled, err - ); - } - - EXPORTDLL float ForceField_get_min_distance(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getMinDistance, err - ); - } - - EXPORTDLL void ForceField_set_min_distance(ForceField* obj, float d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setMinDistance, d, err - ); - } - - EXPORTDLL void ForceField_enable_max_distance(ForceField* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceField::enableMaxDistance, err - ); - } - - EXPORTDLL void ForceField_disable_max_distance(ForceField* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceField::disableMaxDistance, err - ); - } - - EXPORTDLL int ForceField_is_max_distance_enabled(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::isMaxDistanceEnabled, err - ); - } - - EXPORTDLL float ForceField_get_max_distance(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getMaxDistance, err - ); - } - - EXPORTDLL void ForceField_set_max_distance(ForceField* obj, float d, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setMaxDistance, d, err - ); - } - - EXPORTDLL float ForceField_get_gravity_scale(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getGravityScale, err - ); - } - - EXPORTDLL void ForceField_set_gravity_scale(ForceField* obj, float s, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setGravityScale, s, err - ); - } - - EXPORTDLL float ForceField_get_gravity_scale_width(ForceField* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceField::getGravityScaleWidth, err - ); - } - - EXPORTDLL void ForceField_set_gravity_scale_width(ForceField* obj, float w, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceField::setGravityScaleWidth, w, err - ); - } -} \ No newline at end of file diff --git a/src/c_bindings/forcefieldcurve_c.cpp b/src/c_bindings/forcefieldcurve_c.cpp deleted file mode 100644 index 241677f..0000000 --- a/src/c_bindings/forcefieldcurve_c.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../forcefieldcurve.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL ForceFieldCurve* ForceFieldCurve_new(int *err) { - - *err = CBindings::SUCCESS; - ForceFieldCurve *ffs = nullptr; - try { - ffs = new ForceFieldCurve(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return ffs; - } - - EXPORTDLL void ForceFieldCurve_destroy(ForceFieldCurve *obj) { - delete obj; - } - - EXPORTDLL float ForceFieldCurve_get_flow_strength(ForceFieldCurve* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceFieldCurve::getFlowStrength, err - ); - } - - EXPORTDLL void ForceFieldCurve_set_flow_strength(ForceFieldCurve* obj, float s, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceFieldCurve::setFlowStrength, s, err - ); - } - - EXPORTDLL float ForceFieldCurve_get_spin_strength(ForceFieldCurve* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceFieldCurve::getSpinStrength, err - ); - } - - EXPORTDLL void ForceFieldCurve_set_spin_strength(ForceFieldCurve* obj, float s, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceFieldCurve::setSpinStrength, s, err - ); - } - - EXPORTDLL void ForceFieldCurve_enable_endcaps(ForceFieldCurve* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceFieldCurve::enableEndCaps, err - ); - } - - EXPORTDLL void ForceFieldCurve_disable_endcaps(ForceFieldCurve* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &ForceFieldCurve::disableEndCaps, err - ); - } - - EXPORTDLL int ForceFieldCurve_is_endcaps_enabled(ForceFieldCurve* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &ForceFieldCurve::isEndCapsEnabled, err - ); - } - -} \ No newline at end of file diff --git a/src/c_bindings/forcefieldgrid_c.cpp b/src/c_bindings/forcefieldgrid_c.cpp deleted file mode 100644 index 2f25acb..0000000 --- a/src/c_bindings/forcefieldgrid_c.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../forcefieldgrid.h" -#include "../forcefield.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL ForceFieldGrid* ForceFieldGrid_new(int *err) { - - *err = CBindings::SUCCESS; - ForceFieldGrid *fgrid = nullptr; - try { - fgrid = new ForceFieldGrid(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return fgrid; - } - - EXPORTDLL void ForceFieldGrid_destroy(ForceFieldGrid *obj) { - delete obj; - } - - EXPORTDLL void ForceFieldGrid_add_force_field(ForceFieldGrid* obj, ForceField *field, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &ForceFieldGrid::addForceField, field, err - ); - } - -} \ No newline at end of file diff --git a/src/c_bindings/forcefieldpoint_c.cpp b/src/c_bindings/forcefieldpoint_c.cpp deleted file mode 100644 index 263d6a9..0000000 --- a/src/c_bindings/forcefieldpoint_c.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../forcefieldpoint.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL ForceFieldPoint* ForceFieldPoint_new(int *err) { - - *err = CBindings::SUCCESS; - ForceFieldPoint *ffp = nullptr; - try { - ffp = new ForceFieldPoint(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return ffp; - } - - EXPORTDLL void ForceFieldPoint_destroy(ForceFieldPoint *obj) { - delete obj; - } - -} \ No newline at end of file diff --git a/src/c_bindings/forcefieldsurface_c.cpp b/src/c_bindings/forcefieldsurface_c.cpp deleted file mode 100644 index 4e32b43..0000000 --- a/src/c_bindings/forcefieldsurface_c.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../forcefieldsurface.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL ForceFieldSurface* ForceFieldSurface_new(int *err) { - - *err = CBindings::SUCCESS; - ForceFieldSurface *ffs = nullptr; - try { - ffs = new ForceFieldSurface(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return ffs; - } - - EXPORTDLL void ForceFieldSurface_destroy(ForceFieldSurface *obj) { - delete obj; - } - -} \ No newline at end of file diff --git a/src/c_bindings/forcefieldvolume_c.cpp b/src/c_bindings/forcefieldvolume_c.cpp deleted file mode 100644 index 0a29051..0000000 --- a/src/c_bindings/forcefieldvolume_c.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../forcefieldvolume.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL ForceFieldVolume* ForceFieldVolume_new(int *err) { - - *err = CBindings::SUCCESS; - ForceFieldVolume *ffv = nullptr; - try { - ffv = new ForceFieldVolume(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return ffv; - } - - EXPORTDLL void ForceFieldVolume_destroy(ForceFieldVolume *obj) { - delete obj; - } - -} \ No newline at end of file diff --git a/src/c_bindings/gridindex_c.h b/src/c_bindings/gridindex_c.h deleted file mode 100644 index acfffb8..0000000 --- a/src/c_bindings/gridindex_c.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef FLUIDENGINE_GRIDINDEX_T_H -#define FLUIDENGINE_GRIDINDEX_T_H - -typedef struct GridIndex_t { - int i; - int j; - int k; -} GridIndex_t; - -#endif \ No newline at end of file diff --git a/src/c_bindings/markerparticle_c.h b/src/c_bindings/markerparticle_c.h deleted file mode 100644 index c369165..0000000 --- a/src/c_bindings/markerparticle_c.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef FLUIDENGINE_MARKERPARTICLE_T_H -#define FLUIDENGINE_MARKERPARTICLE_T_H - -#include "vector3_c.h" - -typedef struct MarkerParticle_t { - Vector3_t position; - Vector3_t velocity; -} MarkerParticle_t; - -#endif \ No newline at end of file diff --git a/src/c_bindings/meshfluidsource_c.cpp b/src/c_bindings/meshfluidsource_c.cpp deleted file mode 100644 index e3d935d..0000000 --- a/src/c_bindings/meshfluidsource_c.cpp +++ /dev/null @@ -1,258 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../meshfluidsource.h" -#include "../meshutils.h" -#include "../trianglemesh.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL MeshFluidSource* MeshFluidSource_new(int i, int j, int k, double dx, int *err) { - - *err = CBindings::SUCCESS; - MeshFluidSource *source = nullptr; - try { - source = new MeshFluidSource(i, j, k, dx); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return source; - } - - EXPORTDLL void MeshFluidSource_destroy(MeshFluidSource *obj) { - delete obj; - } - - EXPORTDLL void MeshFluidSource_update_mesh_static( - MeshFluidSource* obj, - MeshUtils::TriangleMesh_t mesh_data, int *err) { - - *err = CBindings::SUCCESS; - try { - TriangleMesh mesh; - MeshUtils::structToTriangleMesh(mesh_data, mesh); - obj->updateMeshStatic(mesh); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void MeshFluidSource_update_mesh_animated( - MeshFluidSource* obj, - MeshUtils::TriangleMesh_t mesh_data_previous, - MeshUtils::TriangleMesh_t mesh_data_current, - MeshUtils::TriangleMesh_t mesh_data_next, int *err) { - - *err = CBindings::SUCCESS; - try { - TriangleMesh meshPrevious, meshCurrent, meshNext; - MeshUtils::structToTriangleMesh(mesh_data_previous, meshPrevious); - MeshUtils::structToTriangleMesh(mesh_data_current, meshCurrent); - MeshUtils::structToTriangleMesh(mesh_data_next, meshNext); - obj->updateMeshAnimated(meshPrevious, meshCurrent, meshNext); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void MeshFluidSource_enable(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::enable, err - ); - } - - EXPORTDLL void MeshFluidSource_disable(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::disable, err - ); - } - - EXPORTDLL int MeshFluidSource_is_enabled(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isEnabled, err - ); - } - - EXPORTDLL int MeshFluidSource_get_substep_emissions(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::getSubstepEmissions, err - ); - } - - EXPORTDLL void MeshFluidSource_set_substep_emissions(MeshFluidSource* obj, int n, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshFluidSource::setSubstepEmissions, n, err - ); - } - - EXPORTDLL void MeshFluidSource_set_inflow(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::setInflow, err - ); - } - - EXPORTDLL void MeshFluidSource_set_outflow(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::setOutflow, err - ); - } - - EXPORTDLL int MeshFluidSource_is_inflow(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isInflow, err - ); - } - - EXPORTDLL int MeshFluidSource_is_outflow(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isOutflow, err - ); - } - - EXPORTDLL void MeshFluidSource_enable_fluid_outflow(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::enableFluidOutflow, err - ); - } - - EXPORTDLL void MeshFluidSource_disable_fluid_outflow(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::disableFluidOutflow, err - ); - } - - EXPORTDLL int MeshFluidSource_is_fluid_outflow_enabled(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isFluidOutflowEnabled, err - ); - } - - EXPORTDLL void MeshFluidSource_enable_diffuse_outflow(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::enableDiffuseOutflow, err - ); - } - - EXPORTDLL void MeshFluidSource_disable_diffuse_outflow(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::disableDiffuseOutflow, err - ); - } - - EXPORTDLL int MeshFluidSource_is_diffuse_outflow_enabled(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isDiffuseOutflowEnabled, err - ); - } - - EXPORTDLL Vector3_t MeshFluidSource_get_velocity(MeshFluidSource* obj, int *err) { - vmath::vec3 velocity = CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::getVelocity, err - ); - return CBindings::to_struct(velocity); - } - - EXPORTDLL void MeshFluidSource_set_velocity(MeshFluidSource* obj, - double vx, double vy, double vz, - int *err) { - vmath::vec3 velocity(vx, vy, vz); - CBindings::safe_execute_method_void_1param( - obj, &MeshFluidSource::setVelocity, velocity, err - ); - } - - EXPORTDLL void MeshFluidSource_enable_append_object_velocity(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::enableAppendObjectVelocity, err - ); - } - - EXPORTDLL void MeshFluidSource_disable_append_object_velocity(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::disableAppendObjectVelocity, err - ); - } - - EXPORTDLL int MeshFluidSource_is_append_object_velocity_enabled(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isAppendObjectVelocityEnabled, err - ); - } - - EXPORTDLL float MeshFluidSource_get_object_velocity_influence(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::getObjectVelocityInfluence, err - ); - } - - EXPORTDLL void MeshFluidSource_set_object_velocity_influence(MeshFluidSource* obj, - float value, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshFluidSource::setObjectVelocityInfluence, value, err - ); - } - - EXPORTDLL void MeshFluidSource_enable_constrained_fluid_velocity(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::enableConstrainedFluidVelocity, err - ); - } - - EXPORTDLL void MeshFluidSource_disable_constrained_fluid_velocity(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::disableConstrainedFluidVelocity, err - ); - } - - EXPORTDLL int MeshFluidSource_is_constrained_fluid_velocity_enabled(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isConstrainedFluidVelocityEnabled, err - ); - } - - EXPORTDLL void MeshFluidSource_outflow_inverse(MeshFluidSource* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshFluidSource::outflowInverse, err - ); - } - - EXPORTDLL int MeshFluidSource_is_outflow_inversed(MeshFluidSource* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshFluidSource::isOutflowInversed, err - ); - } - -} diff --git a/src/c_bindings/meshobject_c.cpp b/src/c_bindings/meshobject_c.cpp deleted file mode 100644 index e59d53d..0000000 --- a/src/c_bindings/meshobject_c.cpp +++ /dev/null @@ -1,213 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../meshobject.h" -#include "../meshutils.h" -#include "../trianglemesh.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -extern "C" { - - EXPORTDLL MeshObject* MeshObject_new(int i, int j, int k, double dx, int *err) { - - *err = CBindings::SUCCESS; - MeshObject *obstacle = nullptr; - try { - obstacle = new MeshObject(i, j, k, dx); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return obstacle; - } - - EXPORTDLL void MeshObject_destroy(MeshObject *obj) { - delete obj; - } - - EXPORTDLL void MeshObject_update_mesh_static( - MeshObject* obj, - MeshUtils::TriangleMesh_t mesh_data, int *err) { - - *err = CBindings::SUCCESS; - try { - TriangleMesh mesh; - MeshUtils::structToTriangleMesh(mesh_data, mesh); - obj->updateMeshStatic(mesh); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void MeshObject_update_mesh_animated( - MeshObject* obj, - MeshUtils::TriangleMesh_t mesh_data_previous, - MeshUtils::TriangleMesh_t mesh_data_current, - MeshUtils::TriangleMesh_t mesh_data_next, int *err) { - - *err = CBindings::SUCCESS; - try { - TriangleMesh meshPrevious, meshCurrent, meshNext; - MeshUtils::structToTriangleMesh(mesh_data_previous, meshPrevious); - MeshUtils::structToTriangleMesh(mesh_data_current, meshCurrent); - MeshUtils::structToTriangleMesh(mesh_data_next, meshNext); - obj->updateMeshAnimated(meshPrevious, meshCurrent, meshNext); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } - - EXPORTDLL void MeshObject_enable(MeshObject* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshObject::enable, err - ); - } - - EXPORTDLL void MeshObject_disable(MeshObject* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshObject::disable, err - ); - } - - EXPORTDLL int MeshObject_is_enabled(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::isEnabled, err - ); - } - - EXPORTDLL void MeshObject_inverse(MeshObject* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshObject::inverse, err - ); - } - - EXPORTDLL int MeshObject_is_inversed(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::isInversed, err - ); - } - - EXPORTDLL float MeshObject_get_friction(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::getFriction, err - ); - } - - EXPORTDLL void MeshObject_set_friction(MeshObject* obj, float f, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshObject::setFriction, f, err - ); - } - - EXPORTDLL float MeshObject_get_whitewater_influence(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::getWhitewaterInfluence, err - ); - } - - EXPORTDLL void MeshObject_set_whitewater_influence(MeshObject* obj, float value, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshObject::setWhitewaterInfluence, value, err - ); - } - - EXPORTDLL float MeshObject_get_dust_emission_strength(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::getDustEmissionStrength, err - ); - } - - EXPORTDLL void MeshObject_set_dust_emission_strength(MeshObject* obj, float value, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshObject::setDustEmissionStrength, value, err - ); - } - - EXPORTDLL float MeshObject_get_sheeting_strength(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::getSheetingStrength, err - ); - } - - EXPORTDLL void MeshObject_set_sheeting_strength(MeshObject* obj, float value, int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshObject::setSheetingStrength, value, err - ); - } - - EXPORTDLL float MeshObject_get_mesh_expansion(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::getMeshExpansion, err - ); - } - - EXPORTDLL void MeshObject_set_mesh_expansion(MeshObject* obj, - float ex, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshObject::setMeshExpansion, ex, err - ); - } - - EXPORTDLL void MeshObject_enable_append_object_velocity(MeshObject* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshObject::enableAppendObjectVelocity, err - ); - } - - EXPORTDLL void MeshObject_disable_append_object_velocity(MeshObject* obj, int *err) { - CBindings::safe_execute_method_void_0param( - obj, &MeshObject::disableAppendObjectVelocity, err - ); - } - - EXPORTDLL int MeshObject_is_append_object_velocity_enabled(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::isAppendObjectVelocityEnabled, err - ); - } - - EXPORTDLL float MeshObject_get_object_velocity_influence(MeshObject* obj, int *err) { - return CBindings::safe_execute_method_ret_0param( - obj, &MeshObject::getObjectVelocityInfluence, err - ); - } - - EXPORTDLL void MeshObject_set_object_velocity_influence(MeshObject* obj, - float value, - int *err) { - CBindings::safe_execute_method_void_1param( - obj, &MeshObject::setObjectVelocityInfluence, value, err - ); - } -} \ No newline at end of file diff --git a/src/c_bindings/openclutils_c.cpp b/src/c_bindings/openclutils_c.cpp deleted file mode 100644 index fd774ff..0000000 --- a/src/c_bindings/openclutils_c.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include "../openclutils.h" -#include "cbindings.h" - -#ifdef _WIN32 - #define EXPORTDLL __declspec(dllexport) -#else - #define EXPORTDLL -#endif - -#define DEVICE_STRING_LEN 4096 - -extern "C" { - - typedef struct GPUDevice_t { - char name[DEVICE_STRING_LEN]; - char description[DEVICE_STRING_LEN]; - float score; - } GPUDevice_t; - - EXPORTDLL int OpenCLUtils_get_num_gpu_devices(int *err) { - *err = CBindings::SUCCESS; - int numDevices = 0; - try { - numDevices = OpenCLUtils::getNumGPUDevices(); - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - - return numDevices; - } - - EXPORTDLL void OpenCLUtils_get_gpu_devices(GPUDevice_t *devices, int num_devices, int *err) { - *err = CBindings::SUCCESS; - try { - -#if WITH_OPENCL - - std::vector info = OpenCLUtils::getGPUDevices(); - num_devices = std::min((int)info.size(), num_devices); - for (int i = 0; i < num_devices; i++) { - std::string name = info[i].cl_device_name; - std::string description = info[i].cl_device_vendor + ", " + info[i].cl_device_version; - float score = (float)(info[i].cl_device_max_clock_frequency) * (float)(info[i].cl_device_max_compute_units); - - name.copy(devices[i].name, DEVICE_STRING_LEN); - description.copy(devices[i].description, DEVICE_STRING_LEN); - devices[i].score = score; - } - -#endif -// ENDIF WITH_OPENCL - - } catch (std::exception &ex) { - CBindings::set_error_message(ex); - *err = CBindings::FAIL; - } - } -} diff --git a/src/c_bindings/vector3_c.h b/src/c_bindings/vector3_c.h deleted file mode 100644 index 96d3fca..0000000 --- a/src/c_bindings/vector3_c.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -MIT License - -Copyright (C) 2020 Ryan L. Guy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef FLUIDENGINE_VECTOR3_T_H -#define FLUIDENGINE_VECTOR3_T_H - -typedef struct Vector3_t { - float x; - float y; - float z; -} Vector3_t; - -#endif \ No newline at end of file diff --git a/src/aabb.cpp b/src/engine/aabb.cpp similarity index 100% rename from src/aabb.cpp rename to src/engine/aabb.cpp diff --git a/src/aabb.h b/src/engine/aabb.h similarity index 100% rename from src/aabb.h rename to src/engine/aabb.h diff --git a/src/array3d.h b/src/engine/array3d.h similarity index 100% rename from src/array3d.h rename to src/engine/array3d.h diff --git a/src/arrayview3d.h b/src/engine/arrayview3d.h similarity index 100% rename from src/arrayview3d.h rename to src/engine/arrayview3d.h diff --git a/src/blockarray3d.h b/src/engine/blockarray3d.h similarity index 100% rename from src/blockarray3d.h rename to src/engine/blockarray3d.h diff --git a/src/boundedbuffer.h b/src/engine/boundedbuffer.h similarity index 100% rename from src/boundedbuffer.h rename to src/engine/boundedbuffer.h diff --git a/src/clscalarfield.cpp b/src/engine/clscalarfield.cpp similarity index 100% rename from src/clscalarfield.cpp rename to src/engine/clscalarfield.cpp diff --git a/src/clscalarfield.h b/src/engine/clscalarfield.h similarity index 100% rename from src/clscalarfield.h rename to src/engine/clscalarfield.h diff --git a/src/collision.cpp b/src/engine/collision.cpp similarity index 100% rename from src/collision.cpp rename to src/engine/collision.cpp diff --git a/src/collision.h b/src/engine/collision.h similarity index 100% rename from src/collision.h rename to src/engine/collision.h diff --git a/src/diffuseparticle.h b/src/engine/diffuseparticle.h similarity index 100% rename from src/diffuseparticle.h rename to src/engine/diffuseparticle.h diff --git a/src/diffuseparticlesimulation.cpp b/src/engine/diffuseparticlesimulation.cpp similarity index 100% rename from src/diffuseparticlesimulation.cpp rename to src/engine/diffuseparticlesimulation.cpp diff --git a/src/diffuseparticlesimulation.h b/src/engine/diffuseparticlesimulation.h similarity index 100% rename from src/diffuseparticlesimulation.h rename to src/engine/diffuseparticlesimulation.h diff --git a/src/fluidmaterialgrid.cpp b/src/engine/fluidmaterialgrid.cpp similarity index 100% rename from src/fluidmaterialgrid.cpp rename to src/engine/fluidmaterialgrid.cpp diff --git a/src/fluidmaterialgrid.h b/src/engine/fluidmaterialgrid.h similarity index 100% rename from src/fluidmaterialgrid.h rename to src/engine/fluidmaterialgrid.h diff --git a/src/fluidsimassert.h b/src/engine/fluidsimassert.h similarity index 100% rename from src/fluidsimassert.h rename to src/engine/fluidsimassert.h diff --git a/src/fluidsimulation.cpp b/src/engine/fluidsimulation.cpp similarity index 100% rename from src/fluidsimulation.cpp rename to src/engine/fluidsimulation.cpp diff --git a/src/fluidsimulation.h b/src/engine/fluidsimulation.h similarity index 99% rename from src/fluidsimulation.h rename to src/engine/fluidsimulation.h index f535ad8..13e458d 100644 --- a/src/fluidsimulation.h +++ b/src/engine/fluidsimulation.h @@ -126,7 +126,7 @@ class FluidSimulation */ FluidSimulation(int isize, int jsize, int ksize, double dx); - ~FluidSimulation(); + virtual ~FluidSimulation(); /* Retrieve the simulator version @@ -144,7 +144,7 @@ class FluidSimulation Must be called before running update() method. */ - void initialize(); + virtual void initialize(); bool isInitialized(); /* @@ -1126,7 +1126,7 @@ class FluidSimulation void loadMarkerParticleData(FluidSimulationMarkerParticleData data); void loadDiffuseParticleData(FluidSimulationDiffuseParticleData data); -private: +protected: struct FluidMeshObject { MeshObject object; @@ -1423,7 +1423,7 @@ class FluidSimulation Output Simulation Data */ void _outputSimulationData(); - void _outputSurfaceMeshThread(std::vector *particles, + virtual void _outputSurfaceMeshThread(std::vector *particles, MeshLevelSet *solidSDF); void _updateMeshingVolumeSDF(); void _applyMeshingVolumeToSDF(MeshLevelSet *sdf); diff --git a/src/forcefield.cpp b/src/engine/forcefield.cpp similarity index 100% rename from src/forcefield.cpp rename to src/engine/forcefield.cpp diff --git a/src/forcefield.h b/src/engine/forcefield.h similarity index 100% rename from src/forcefield.h rename to src/engine/forcefield.h diff --git a/src/forcefieldcurve.cpp b/src/engine/forcefieldcurve.cpp similarity index 100% rename from src/forcefieldcurve.cpp rename to src/engine/forcefieldcurve.cpp diff --git a/src/forcefieldcurve.h b/src/engine/forcefieldcurve.h similarity index 100% rename from src/forcefieldcurve.h rename to src/engine/forcefieldcurve.h diff --git a/src/forcefieldgravityscalegrid.h b/src/engine/forcefieldgravityscalegrid.h similarity index 100% rename from src/forcefieldgravityscalegrid.h rename to src/engine/forcefieldgravityscalegrid.h diff --git a/src/forcefieldgrid.cpp b/src/engine/forcefieldgrid.cpp similarity index 100% rename from src/forcefieldgrid.cpp rename to src/engine/forcefieldgrid.cpp diff --git a/src/forcefieldgrid.h b/src/engine/forcefieldgrid.h similarity index 100% rename from src/forcefieldgrid.h rename to src/engine/forcefieldgrid.h diff --git a/src/forcefieldpoint.cpp b/src/engine/forcefieldpoint.cpp similarity index 100% rename from src/forcefieldpoint.cpp rename to src/engine/forcefieldpoint.cpp diff --git a/src/forcefieldpoint.h b/src/engine/forcefieldpoint.h similarity index 100% rename from src/forcefieldpoint.h rename to src/engine/forcefieldpoint.h diff --git a/src/forcefieldsurface.cpp b/src/engine/forcefieldsurface.cpp similarity index 100% rename from src/forcefieldsurface.cpp rename to src/engine/forcefieldsurface.cpp diff --git a/src/forcefieldsurface.h b/src/engine/forcefieldsurface.h similarity index 100% rename from src/forcefieldsurface.h rename to src/engine/forcefieldsurface.h diff --git a/src/forcefieldutils.cpp b/src/engine/forcefieldutils.cpp similarity index 100% rename from src/forcefieldutils.cpp rename to src/engine/forcefieldutils.cpp diff --git a/src/forcefieldutils.h b/src/engine/forcefieldutils.h similarity index 100% rename from src/forcefieldutils.h rename to src/engine/forcefieldutils.h diff --git a/src/forcefieldvolume.cpp b/src/engine/forcefieldvolume.cpp similarity index 100% rename from src/forcefieldvolume.cpp rename to src/engine/forcefieldvolume.cpp diff --git a/src/forcefieldvolume.h b/src/engine/forcefieldvolume.h similarity index 100% rename from src/forcefieldvolume.h rename to src/engine/forcefieldvolume.h diff --git a/src/fragmentedvector.h b/src/engine/fragmentedvector.h similarity index 100% rename from src/fragmentedvector.h rename to src/engine/fragmentedvector.h diff --git a/src/grid3d.h b/src/engine/grid3d.h similarity index 100% rename from src/grid3d.h rename to src/engine/grid3d.h diff --git a/src/gridindexkeymap.cpp b/src/engine/gridindexkeymap.cpp similarity index 100% rename from src/gridindexkeymap.cpp rename to src/engine/gridindexkeymap.cpp diff --git a/src/gridindexkeymap.h b/src/engine/gridindexkeymap.h similarity index 100% rename from src/gridindexkeymap.h rename to src/engine/gridindexkeymap.h diff --git a/src/gridindexvector.cpp b/src/engine/gridindexvector.cpp similarity index 100% rename from src/gridindexvector.cpp rename to src/engine/gridindexvector.cpp diff --git a/src/gridindexvector.h b/src/engine/gridindexvector.h similarity index 100% rename from src/gridindexvector.h rename to src/engine/gridindexvector.h diff --git a/src/gridutils.cpp b/src/engine/gridutils.cpp similarity index 100% rename from src/gridutils.cpp rename to src/engine/gridutils.cpp diff --git a/src/gridutils.h b/src/engine/gridutils.h similarity index 100% rename from src/gridutils.h rename to src/engine/gridutils.h diff --git a/src/influencegrid.cpp b/src/engine/influencegrid.cpp similarity index 100% rename from src/influencegrid.cpp rename to src/engine/influencegrid.cpp diff --git a/src/influencegrid.h b/src/engine/influencegrid.h similarity index 100% rename from src/influencegrid.h rename to src/engine/influencegrid.h diff --git a/src/interpolation.cpp b/src/engine/interpolation.cpp similarity index 100% rename from src/interpolation.cpp rename to src/engine/interpolation.cpp diff --git a/src/interpolation.h b/src/engine/interpolation.h similarity index 100% rename from src/interpolation.h rename to src/engine/interpolation.h diff --git a/src/kernels/kernels.cpp.in b/src/engine/kernels/kernels.cpp.in similarity index 100% rename from src/kernels/kernels.cpp.in rename to src/engine/kernels/kernels.cpp.in diff --git a/src/kernels/kernels.h b/src/engine/kernels/kernels.h similarity index 100% rename from src/kernels/kernels.h rename to src/engine/kernels/kernels.h diff --git a/src/kernels/scalarfield.cl b/src/engine/kernels/scalarfield.cl similarity index 100% rename from src/kernels/scalarfield.cl rename to src/engine/kernels/scalarfield.cl diff --git a/src/kernels/trilinearinterpolate.cl b/src/engine/kernels/trilinearinterpolate.cl similarity index 100% rename from src/kernels/trilinearinterpolate.cl rename to src/engine/kernels/trilinearinterpolate.cl diff --git a/src/levelsetsolver.cpp b/src/engine/levelsetsolver.cpp similarity index 100% rename from src/levelsetsolver.cpp rename to src/engine/levelsetsolver.cpp diff --git a/src/levelsetsolver.h b/src/engine/levelsetsolver.h similarity index 100% rename from src/levelsetsolver.h rename to src/engine/levelsetsolver.h diff --git a/src/levelsetutils.cpp b/src/engine/levelsetutils.cpp similarity index 100% rename from src/levelsetutils.cpp rename to src/engine/levelsetutils.cpp diff --git a/src/levelsetutils.h b/src/engine/levelsetutils.h similarity index 100% rename from src/levelsetutils.h rename to src/engine/levelsetutils.h diff --git a/src/logfile.cpp b/src/engine/logfile.cpp similarity index 100% rename from src/logfile.cpp rename to src/engine/logfile.cpp diff --git a/src/logfile.h b/src/engine/logfile.h similarity index 100% rename from src/logfile.h rename to src/engine/logfile.h diff --git a/src/macvelocityfield.cpp b/src/engine/macvelocityfield.cpp similarity index 100% rename from src/macvelocityfield.cpp rename to src/engine/macvelocityfield.cpp diff --git a/src/macvelocityfield.h b/src/engine/macvelocityfield.h similarity index 100% rename from src/macvelocityfield.h rename to src/engine/macvelocityfield.h diff --git a/src/markerparticle.h b/src/engine/markerparticle.h similarity index 100% rename from src/markerparticle.h rename to src/engine/markerparticle.h diff --git a/src/meshfluidsource.cpp b/src/engine/meshfluidsource.cpp similarity index 100% rename from src/meshfluidsource.cpp rename to src/engine/meshfluidsource.cpp diff --git a/src/meshfluidsource.h b/src/engine/meshfluidsource.h similarity index 100% rename from src/meshfluidsource.h rename to src/engine/meshfluidsource.h diff --git a/src/meshlevelset.cpp b/src/engine/meshlevelset.cpp similarity index 100% rename from src/meshlevelset.cpp rename to src/engine/meshlevelset.cpp diff --git a/src/meshlevelset.h b/src/engine/meshlevelset.h similarity index 100% rename from src/meshlevelset.h rename to src/engine/meshlevelset.h diff --git a/src/meshobject.cpp b/src/engine/meshobject.cpp similarity index 100% rename from src/meshobject.cpp rename to src/engine/meshobject.cpp diff --git a/src/meshobject.h b/src/engine/meshobject.h similarity index 100% rename from src/meshobject.h rename to src/engine/meshobject.h diff --git a/src/meshutils.cpp b/src/engine/meshutils.cpp similarity index 100% rename from src/meshutils.cpp rename to src/engine/meshutils.cpp diff --git a/src/meshutils.h b/src/engine/meshutils.h similarity index 100% rename from src/meshutils.h rename to src/engine/meshutils.h diff --git a/src/mingw32_threads/LICENSE b/src/engine/mingw32_threads/LICENSE similarity index 100% rename from src/mingw32_threads/LICENSE rename to src/engine/mingw32_threads/LICENSE diff --git a/src/mingw32_threads/mingw.condition_variable.h b/src/engine/mingw32_threads/mingw.condition_variable.h similarity index 100% rename from src/mingw32_threads/mingw.condition_variable.h rename to src/engine/mingw32_threads/mingw.condition_variable.h diff --git a/src/mingw32_threads/mingw.mutex.h b/src/engine/mingw32_threads/mingw.mutex.h similarity index 100% rename from src/mingw32_threads/mingw.mutex.h rename to src/engine/mingw32_threads/mingw.mutex.h diff --git a/src/mingw32_threads/mingw.thread.h b/src/engine/mingw32_threads/mingw.thread.h similarity index 100% rename from src/mingw32_threads/mingw.thread.h rename to src/engine/mingw32_threads/mingw.thread.h diff --git a/src/opencl_bindings/clcpp.cpp b/src/engine/opencl_bindings/clcpp.cpp similarity index 100% rename from src/opencl_bindings/clcpp.cpp rename to src/engine/opencl_bindings/clcpp.cpp diff --git a/src/opencl_bindings/clcpp.h b/src/engine/opencl_bindings/clcpp.h similarity index 100% rename from src/opencl_bindings/clcpp.h rename to src/engine/opencl_bindings/clcpp.h diff --git a/src/openclutils.cpp b/src/engine/openclutils.cpp similarity index 100% rename from src/openclutils.cpp rename to src/engine/openclutils.cpp diff --git a/src/openclutils.h b/src/engine/openclutils.h similarity index 100% rename from src/openclutils.h rename to src/engine/openclutils.h diff --git a/src/particleadvector.cpp b/src/engine/particleadvector.cpp similarity index 100% rename from src/particleadvector.cpp rename to src/engine/particleadvector.cpp diff --git a/src/particleadvector.h b/src/engine/particleadvector.h similarity index 100% rename from src/particleadvector.h rename to src/engine/particleadvector.h diff --git a/src/particlelevelset.cpp b/src/engine/particlelevelset.cpp similarity index 100% rename from src/particlelevelset.cpp rename to src/engine/particlelevelset.cpp diff --git a/src/particlelevelset.h b/src/engine/particlelevelset.h similarity index 100% rename from src/particlelevelset.h rename to src/engine/particlelevelset.h diff --git a/src/particlemaskgrid.cpp b/src/engine/particlemaskgrid.cpp similarity index 100% rename from src/particlemaskgrid.cpp rename to src/engine/particlemaskgrid.cpp diff --git a/src/particlemaskgrid.h b/src/engine/particlemaskgrid.h similarity index 100% rename from src/particlemaskgrid.h rename to src/engine/particlemaskgrid.h diff --git a/src/particlemesher.cpp b/src/engine/particlemesher.cpp similarity index 100% rename from src/particlemesher.cpp rename to src/engine/particlemesher.cpp diff --git a/src/particlemesher.h b/src/engine/particlemesher.h similarity index 100% rename from src/particlemesher.h rename to src/engine/particlemesher.h diff --git a/src/particlesheeter.cpp b/src/engine/particlesheeter.cpp similarity index 100% rename from src/particlesheeter.cpp rename to src/engine/particlesheeter.cpp diff --git a/src/particlesheeter.h b/src/engine/particlesheeter.h similarity index 100% rename from src/particlesheeter.h rename to src/engine/particlesheeter.h diff --git a/src/pcgsolver/blaswrapper.h b/src/engine/pcgsolver/blaswrapper.h similarity index 100% rename from src/pcgsolver/blaswrapper.h rename to src/engine/pcgsolver/blaswrapper.h diff --git a/src/pcgsolver/pcgsolver.h b/src/engine/pcgsolver/pcgsolver.h similarity index 100% rename from src/pcgsolver/pcgsolver.h rename to src/engine/pcgsolver/pcgsolver.h diff --git a/src/pcgsolver/sparsematrix.h b/src/engine/pcgsolver/sparsematrix.h similarity index 100% rename from src/pcgsolver/sparsematrix.h rename to src/engine/pcgsolver/sparsematrix.h diff --git a/src/polygonizer3d.cpp b/src/engine/polygonizer3d.cpp similarity index 100% rename from src/polygonizer3d.cpp rename to src/engine/polygonizer3d.cpp diff --git a/src/polygonizer3d.h b/src/engine/polygonizer3d.h similarity index 100% rename from src/polygonizer3d.h rename to src/engine/polygonizer3d.h diff --git a/src/pressuresolver.cpp b/src/engine/pressuresolver.cpp similarity index 100% rename from src/pressuresolver.cpp rename to src/engine/pressuresolver.cpp diff --git a/src/pressuresolver.h b/src/engine/pressuresolver.h similarity index 100% rename from src/pressuresolver.h rename to src/engine/pressuresolver.h diff --git a/src/scalarfield.cpp b/src/engine/scalarfield.cpp similarity index 100% rename from src/scalarfield.cpp rename to src/engine/scalarfield.cpp diff --git a/src/scalarfield.h b/src/engine/scalarfield.h similarity index 100% rename from src/scalarfield.h rename to src/engine/scalarfield.h diff --git a/src/spatialpointgrid.cpp b/src/engine/spatialpointgrid.cpp similarity index 100% rename from src/spatialpointgrid.cpp rename to src/engine/spatialpointgrid.cpp diff --git a/src/spatialpointgrid.h b/src/engine/spatialpointgrid.h similarity index 100% rename from src/spatialpointgrid.h rename to src/engine/spatialpointgrid.h diff --git a/src/stopwatch.cpp b/src/engine/stopwatch.cpp similarity index 100% rename from src/stopwatch.cpp rename to src/engine/stopwatch.cpp diff --git a/src/stopwatch.h b/src/engine/stopwatch.h similarity index 100% rename from src/stopwatch.h rename to src/engine/stopwatch.h diff --git a/src/subdividedarray3d.h b/src/engine/subdividedarray3d.h similarity index 100% rename from src/subdividedarray3d.h rename to src/engine/subdividedarray3d.h diff --git a/src/threadutils.cpp b/src/engine/threadutils.cpp similarity index 100% rename from src/threadutils.cpp rename to src/engine/threadutils.cpp diff --git a/src/threadutils.h b/src/engine/threadutils.h similarity index 100% rename from src/threadutils.h rename to src/engine/threadutils.h diff --git a/src/triangle.h b/src/engine/triangle.h similarity index 100% rename from src/triangle.h rename to src/engine/triangle.h diff --git a/src/trianglemesh.cpp b/src/engine/trianglemesh.cpp similarity index 100% rename from src/trianglemesh.cpp rename to src/engine/trianglemesh.cpp diff --git a/src/trianglemesh.h b/src/engine/trianglemesh.h similarity index 100% rename from src/trianglemesh.h rename to src/engine/trianglemesh.h diff --git a/src/turbulencefield.cpp b/src/engine/turbulencefield.cpp similarity index 100% rename from src/turbulencefield.cpp rename to src/engine/turbulencefield.cpp diff --git a/src/turbulencefield.h b/src/engine/turbulencefield.h similarity index 100% rename from src/turbulencefield.h rename to src/engine/turbulencefield.h diff --git a/src/velocityadvector.cpp b/src/engine/velocityadvector.cpp similarity index 100% rename from src/velocityadvector.cpp rename to src/engine/velocityadvector.cpp diff --git a/src/velocityadvector.h b/src/engine/velocityadvector.h similarity index 100% rename from src/velocityadvector.h rename to src/engine/velocityadvector.h diff --git a/src/versionutils.cpp b/src/engine/versionutils.cpp similarity index 100% rename from src/versionutils.cpp rename to src/engine/versionutils.cpp diff --git a/src/versionutils.cpp.in b/src/engine/versionutils.cpp.in similarity index 100% rename from src/versionutils.cpp.in rename to src/engine/versionutils.cpp.in diff --git a/src/versionutils.h b/src/engine/versionutils.h similarity index 100% rename from src/versionutils.h rename to src/engine/versionutils.h diff --git a/src/viscositysolver.cpp b/src/engine/viscositysolver.cpp similarity index 100% rename from src/viscositysolver.cpp rename to src/engine/viscositysolver.cpp diff --git a/src/viscositysolver.h b/src/engine/viscositysolver.h similarity index 100% rename from src/viscositysolver.h rename to src/engine/viscositysolver.h diff --git a/src/vmath.cpp b/src/engine/vmath.cpp similarity index 100% rename from src/vmath.cpp rename to src/engine/vmath.cpp diff --git a/src/vmath.h b/src/engine/vmath.h similarity index 100% rename from src/vmath.h rename to src/engine/vmath.h diff --git a/src/glibc_version_header/LICENSE.md b/src/glibc_version_header/LICENSE.md deleted file mode 100644 index c34da95..0000000 --- a/src/glibc_version_header/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Tom Mason - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/src/glibc_version_header/force_link_glibc_2.5.h b/src/glibc_version_header/force_link_glibc_2.5.h deleted file mode 100644 index 0c39f4d..0000000 --- a/src/glibc_version_header/force_link_glibc_2.5.h +++ /dev/null @@ -1,3727 +0,0 @@ -#if !defined(SET_GLIBC_LINK_VERSIONS_HEADER) && !defined(__ASSEMBLER__) -#define SET_GLIBC_LINK_VERSIONS_HEADER -__asm__(".symver _Exit,_Exit@GLIBC_2.2.5"); -__asm__(".symver _IO_2_1_stderr_,_IO_2_1_stderr_@GLIBC_2.2.5"); -__asm__(".symver _IO_2_1_stdin_,_IO_2_1_stdin_@GLIBC_2.2.5"); -__asm__(".symver _IO_2_1_stdout_,_IO_2_1_stdout_@GLIBC_2.2.5"); -__asm__(".symver _IO_adjust_column,_IO_adjust_column@GLIBC_2.2.5"); -__asm__(".symver _IO_adjust_wcolumn,_IO_adjust_wcolumn@GLIBC_2.2.5"); -__asm__(".symver _IO_default_doallocate,_IO_default_doallocate@GLIBC_2.2.5"); -__asm__(".symver _IO_default_finish,_IO_default_finish@GLIBC_2.2.5"); -__asm__(".symver _IO_default_pbackfail,_IO_default_pbackfail@GLIBC_2.2.5"); -__asm__(".symver _IO_default_uflow,_IO_default_uflow@GLIBC_2.2.5"); -__asm__(".symver _IO_default_xsgetn,_IO_default_xsgetn@GLIBC_2.2.5"); -__asm__(".symver _IO_default_xsputn,_IO_default_xsputn@GLIBC_2.2.5"); -__asm__(".symver _IO_do_write,_IO_do_write@GLIBC_2.2.5"); -__asm__(".symver _IO_doallocbuf,_IO_doallocbuf@GLIBC_2.2.5"); -__asm__(".symver _IO_fclose,_IO_fclose@GLIBC_2.2.5"); -__asm__(".symver _IO_fdopen,_IO_fdopen@GLIBC_2.2.5"); -__asm__(".symver _IO_feof,_IO_feof@GLIBC_2.2.5"); -__asm__(".symver _IO_ferror,_IO_ferror@GLIBC_2.2.5"); -__asm__(".symver _IO_fflush,_IO_fflush@GLIBC_2.2.5"); -__asm__(".symver _IO_fgetpos,_IO_fgetpos@GLIBC_2.2.5"); -__asm__(".symver _IO_fgetpos64,_IO_fgetpos64@GLIBC_2.2.5"); -__asm__(".symver _IO_fgets,_IO_fgets@GLIBC_2.2.5"); -__asm__(".symver _IO_file_attach,_IO_file_attach@GLIBC_2.2.5"); -__asm__(".symver _IO_file_close,_IO_file_close@GLIBC_2.2.5"); -__asm__(".symver _IO_file_close_it,_IO_file_close_it@GLIBC_2.2.5"); -__asm__(".symver _IO_file_doallocate,_IO_file_doallocate@GLIBC_2.2.5"); -__asm__(".symver _IO_file_finish,_IO_file_finish@GLIBC_2.2.5"); -__asm__(".symver _IO_file_fopen,_IO_file_fopen@GLIBC_2.2.5"); -__asm__(".symver _IO_file_init,_IO_file_init@GLIBC_2.2.5"); -__asm__(".symver _IO_file_jumps,_IO_file_jumps@GLIBC_2.2.5"); -__asm__(".symver _IO_file_open,_IO_file_open@GLIBC_2.2.5"); -__asm__(".symver _IO_file_overflow,_IO_file_overflow@GLIBC_2.2.5"); -__asm__(".symver _IO_file_read,_IO_file_read@GLIBC_2.2.5"); -__asm__(".symver _IO_file_seek,_IO_file_seek@GLIBC_2.2.5"); -__asm__(".symver _IO_file_seekoff,_IO_file_seekoff@GLIBC_2.2.5"); -__asm__(".symver _IO_file_setbuf,_IO_file_setbuf@GLIBC_2.2.5"); -__asm__(".symver _IO_file_stat,_IO_file_stat@GLIBC_2.2.5"); -__asm__(".symver _IO_file_sync,_IO_file_sync@GLIBC_2.2.5"); -__asm__(".symver _IO_file_underflow,_IO_file_underflow@GLIBC_2.2.5"); -__asm__(".symver _IO_file_write,_IO_file_write@GLIBC_2.2.5"); -__asm__(".symver _IO_file_xsputn,_IO_file_xsputn@GLIBC_2.2.5"); -__asm__(".symver _IO_flockfile,_IO_flockfile@GLIBC_2.2.5"); -__asm__(".symver _IO_flush_all,_IO_flush_all@GLIBC_2.2.5"); -__asm__(".symver _IO_flush_all_linebuffered,_IO_flush_all_linebuffered@GLIBC_2.2.5"); -__asm__(".symver _IO_fopen,_IO_fopen@GLIBC_2.2.5"); -__asm__(".symver _IO_fprintf,_IO_fprintf@GLIBC_2.2.5"); -__asm__(".symver _IO_fputs,_IO_fputs@GLIBC_2.2.5"); -__asm__(".symver _IO_fread,_IO_fread@GLIBC_2.2.5"); -__asm__(".symver _IO_free_backup_area,_IO_free_backup_area@GLIBC_2.2.5"); -__asm__(".symver _IO_free_wbackup_area,_IO_free_wbackup_area@GLIBC_2.2.5"); -__asm__(".symver _IO_fsetpos,_IO_fsetpos@GLIBC_2.2.5"); -__asm__(".symver _IO_fsetpos64,_IO_fsetpos64@GLIBC_2.2.5"); -__asm__(".symver _IO_ftell,_IO_ftell@GLIBC_2.2.5"); -__asm__(".symver _IO_ftrylockfile,_IO_ftrylockfile@GLIBC_2.2.5"); -__asm__(".symver _IO_funlockfile,_IO_funlockfile@GLIBC_2.2.5"); -__asm__(".symver _IO_fwrite,_IO_fwrite@GLIBC_2.2.5"); -__asm__(".symver _IO_getc,_IO_getc@GLIBC_2.2.5"); -__asm__(".symver _IO_getline,_IO_getline@GLIBC_2.2.5"); -__asm__(".symver _IO_getline_info,_IO_getline_info@GLIBC_2.2.5"); -__asm__(".symver _IO_gets,_IO_gets@GLIBC_2.2.5"); -__asm__(".symver _IO_init,_IO_init@GLIBC_2.2.5"); -__asm__(".symver _IO_init_marker,_IO_init_marker@GLIBC_2.2.5"); -__asm__(".symver _IO_init_wmarker,_IO_init_wmarker@GLIBC_2.2.5"); -__asm__(".symver _IO_iter_begin,_IO_iter_begin@GLIBC_2.2.5"); -__asm__(".symver _IO_iter_end,_IO_iter_end@GLIBC_2.2.5"); -__asm__(".symver _IO_iter_file,_IO_iter_file@GLIBC_2.2.5"); -__asm__(".symver _IO_iter_next,_IO_iter_next@GLIBC_2.2.5"); -__asm__(".symver _IO_least_wmarker,_IO_least_wmarker@GLIBC_2.2.5"); -__asm__(".symver _IO_link_in,_IO_link_in@GLIBC_2.2.5"); -__asm__(".symver _IO_list_all,_IO_list_all@GLIBC_2.2.5"); -__asm__(".symver _IO_list_lock,_IO_list_lock@GLIBC_2.2.5"); -__asm__(".symver _IO_list_resetlock,_IO_list_resetlock@GLIBC_2.2.5"); -__asm__(".symver _IO_list_unlock,_IO_list_unlock@GLIBC_2.2.5"); -__asm__(".symver _IO_marker_delta,_IO_marker_delta@GLIBC_2.2.5"); -__asm__(".symver _IO_marker_difference,_IO_marker_difference@GLIBC_2.2.5"); -__asm__(".symver _IO_padn,_IO_padn@GLIBC_2.2.5"); -__asm__(".symver _IO_peekc_locked,_IO_peekc_locked@GLIBC_2.2.5"); -__asm__(".symver _IO_popen,_IO_popen@GLIBC_2.2.5"); -__asm__(".symver _IO_printf,_IO_printf@GLIBC_2.2.5"); -__asm__(".symver _IO_proc_close,_IO_proc_close@GLIBC_2.2.5"); -__asm__(".symver _IO_proc_open,_IO_proc_open@GLIBC_2.2.5"); -__asm__(".symver _IO_putc,_IO_putc@GLIBC_2.2.5"); -__asm__(".symver _IO_puts,_IO_puts@GLIBC_2.2.5"); -__asm__(".symver _IO_remove_marker,_IO_remove_marker@GLIBC_2.2.5"); -__asm__(".symver _IO_seekmark,_IO_seekmark@GLIBC_2.2.5"); -__asm__(".symver _IO_seekoff,_IO_seekoff@GLIBC_2.2.5"); -__asm__(".symver _IO_seekpos,_IO_seekpos@GLIBC_2.2.5"); -__asm__(".symver _IO_seekwmark,_IO_seekwmark@GLIBC_2.2.5"); -__asm__(".symver _IO_setb,_IO_setb@GLIBC_2.2.5"); -__asm__(".symver _IO_setbuffer,_IO_setbuffer@GLIBC_2.2.5"); -__asm__(".symver _IO_setvbuf,_IO_setvbuf@GLIBC_2.2.5"); -__asm__(".symver _IO_sgetn,_IO_sgetn@GLIBC_2.2.5"); -__asm__(".symver _IO_sprintf,_IO_sprintf@GLIBC_2.2.5"); -__asm__(".symver _IO_sputbackc,_IO_sputbackc@GLIBC_2.2.5"); -__asm__(".symver _IO_sputbackwc,_IO_sputbackwc@GLIBC_2.2.5"); -__asm__(".symver _IO_sscanf,_IO_sscanf@GLIBC_2.2.5"); -__asm__(".symver _IO_str_init_readonly,_IO_str_init_readonly@GLIBC_2.2.5"); -__asm__(".symver _IO_str_init_static,_IO_str_init_static@GLIBC_2.2.5"); -__asm__(".symver _IO_str_overflow,_IO_str_overflow@GLIBC_2.2.5"); -__asm__(".symver _IO_str_pbackfail,_IO_str_pbackfail@GLIBC_2.2.5"); -__asm__(".symver _IO_str_seekoff,_IO_str_seekoff@GLIBC_2.2.5"); -__asm__(".symver _IO_str_underflow,_IO_str_underflow@GLIBC_2.2.5"); -__asm__(".symver _IO_sungetc,_IO_sungetc@GLIBC_2.2.5"); -__asm__(".symver _IO_sungetwc,_IO_sungetwc@GLIBC_2.2.5"); -__asm__(".symver _IO_switch_to_get_mode,_IO_switch_to_get_mode@GLIBC_2.2.5"); -__asm__(".symver _IO_switch_to_main_wget_area,_IO_switch_to_main_wget_area@GLIBC_2.2.5"); -__asm__(".symver _IO_switch_to_wbackup_area,_IO_switch_to_wbackup_area@GLIBC_2.2.5"); -__asm__(".symver _IO_switch_to_wget_mode,_IO_switch_to_wget_mode@GLIBC_2.2.5"); -__asm__(".symver _IO_un_link,_IO_un_link@GLIBC_2.2.5"); -__asm__(".symver _IO_ungetc,_IO_ungetc@GLIBC_2.2.5"); -__asm__(".symver _IO_unsave_markers,_IO_unsave_markers@GLIBC_2.2.5"); -__asm__(".symver _IO_unsave_wmarkers,_IO_unsave_wmarkers@GLIBC_2.2.5"); -__asm__(".symver _IO_vfprintf,_IO_vfprintf@GLIBC_2.2.5"); -__asm__(".symver _IO_vfscanf,_IO_vfscanf@GLIBC_2.2.5"); -__asm__(".symver _IO_vsprintf,_IO_vsprintf@GLIBC_2.2.5"); -__asm__(".symver _IO_wdefault_doallocate,_IO_wdefault_doallocate@GLIBC_2.2.5"); -__asm__(".symver _IO_wdefault_finish,_IO_wdefault_finish@GLIBC_2.2.5"); -__asm__(".symver _IO_wdefault_pbackfail,_IO_wdefault_pbackfail@GLIBC_2.2.5"); -__asm__(".symver _IO_wdefault_uflow,_IO_wdefault_uflow@GLIBC_2.2.5"); -__asm__(".symver _IO_wdefault_xsgetn,_IO_wdefault_xsgetn@GLIBC_2.2.5"); -__asm__(".symver _IO_wdefault_xsputn,_IO_wdefault_xsputn@GLIBC_2.2.5"); -__asm__(".symver _IO_wdo_write,_IO_wdo_write@GLIBC_2.2.5"); -__asm__(".symver _IO_wdoallocbuf,_IO_wdoallocbuf@GLIBC_2.2.5"); -__asm__(".symver _IO_wfile_jumps,_IO_wfile_jumps@GLIBC_2.2.5"); -__asm__(".symver _IO_wfile_overflow,_IO_wfile_overflow@GLIBC_2.2.5"); -__asm__(".symver _IO_wfile_seekoff,_IO_wfile_seekoff@GLIBC_2.2.5"); -__asm__(".symver _IO_wfile_sync,_IO_wfile_sync@GLIBC_2.2.5"); -__asm__(".symver _IO_wfile_underflow,_IO_wfile_underflow@GLIBC_2.2.5"); -__asm__(".symver _IO_wfile_xsputn,_IO_wfile_xsputn@GLIBC_2.2.5"); -__asm__(".symver _IO_wmarker_delta,_IO_wmarker_delta@GLIBC_2.2.5"); -__asm__(".symver _IO_wsetb,_IO_wsetb@GLIBC_2.2.5"); -__asm__(".symver _LIB_VERSION,_LIB_VERSION@GLIBC_2.2.5"); -__asm__(".symver __adjtimex,__adjtimex@GLIBC_2.2.5"); -__asm__(".symver __after_morecore_hook,__after_morecore_hook@GLIBC_2.2.5"); -__asm__(".symver __arch_prctl,__arch_prctl@GLIBC_2.2.5"); -__asm__(".symver __argz_count,__argz_count@GLIBC_2.2.5"); -__asm__(".symver __argz_next,__argz_next@GLIBC_2.2.5"); -__asm__(".symver __argz_stringify,__argz_stringify@GLIBC_2.2.5"); -__asm__(".symver __asprintf,__asprintf@GLIBC_2.2.5"); -__asm__(".symver __assert,__assert@GLIBC_2.2.5"); -__asm__(".symver __assert_fail,__assert_fail@GLIBC_2.2.5"); -__asm__(".symver __assert_perror_fail,__assert_perror_fail@GLIBC_2.2.5"); -__asm__(".symver __b64_ntop,__b64_ntop@GLIBC_2.2.5"); -__asm__(".symver __b64_pton,__b64_pton@GLIBC_2.2.5"); -__asm__(".symver __backtrace,__backtrace@GLIBC_2.2.5"); -__asm__(".symver __backtrace_symbols,__backtrace_symbols@GLIBC_2.2.5"); -__asm__(".symver __backtrace_symbols_fd,__backtrace_symbols_fd@GLIBC_2.2.5"); -__asm__(".symver __bsd_getpgrp,__bsd_getpgrp@GLIBC_2.2.5"); -__asm__(".symver __bzero,__bzero@GLIBC_2.2.5"); -__asm__(".symver __check_rhosts_file,__check_rhosts_file@GLIBC_2.2.5"); -__asm__(".symver __chk_fail,__chk_fail@GLIBC_2.3.4"); -__asm__(".symver __clog10,__clog10@GLIBC_2.2.5"); -__asm__(".symver __clog10f,__clog10f@GLIBC_2.2.5"); -__asm__(".symver __clog10l,__clog10l@GLIBC_2.2.5"); -__asm__(".symver __clone,__clone@GLIBC_2.2.5"); -__asm__(".symver __close,__close@GLIBC_2.2.5"); -__asm__(".symver __cmsg_nxthdr,__cmsg_nxthdr@GLIBC_2.2.5"); -__asm__(".symver __confstr_chk,__confstr_chk@GLIBC_2.4"); -__asm__(".symver __connect,__connect@GLIBC_2.2.5"); -__asm__(".symver __ctype_b_loc,__ctype_b_loc@GLIBC_2.3"); -__asm__(".symver __ctype_get_mb_cur_max,__ctype_get_mb_cur_max@GLIBC_2.2.5"); -__asm__(".symver __ctype_tolower_loc,__ctype_tolower_loc@GLIBC_2.3"); -__asm__(".symver __ctype_toupper_loc,__ctype_toupper_loc@GLIBC_2.3"); -__asm__(".symver __curbrk,__curbrk@GLIBC_2.2.5"); -__asm__(".symver __cxa_atexit,__cxa_atexit@GLIBC_2.2.5"); -__asm__(".symver __cxa_finalize,__cxa_finalize@GLIBC_2.2.5"); -__asm__(".symver __cyg_profile_func_enter,__cyg_profile_func_enter@GLIBC_2.2.5"); -__asm__(".symver __cyg_profile_func_exit,__cyg_profile_func_exit@GLIBC_2.2.5"); -__asm__(".symver __daylight,__daylight@GLIBC_2.2.5"); -__asm__(".symver __dcgettext,__dcgettext@GLIBC_2.2.5"); -__asm__(".symver __default_morecore,__default_morecore@GLIBC_2.2.5"); -__asm__(".symver __dgettext,__dgettext@GLIBC_2.2.5"); -__asm__(".symver __dn_comp,__dn_comp@GLIBC_2.2.5"); -__asm__(".symver __dn_count_labels,__dn_count_labels@GLIBC_2.2.5"); -__asm__(".symver __dn_expand,__dn_expand@GLIBC_2.2.5"); -__asm__(".symver __dn_skipname,__dn_skipname@GLIBC_2.2.5"); -__asm__(".symver __dup2,__dup2@GLIBC_2.2.5"); -__asm__(".symver __duplocale,__duplocale@GLIBC_2.2.5"); -__asm__(".symver __endmntent,__endmntent@GLIBC_2.2.5"); -__asm__(".symver __environ,__environ@GLIBC_2.2.5"); -__asm__(".symver __errno_location,__errno_location@GLIBC_2.2.5"); -__asm__(".symver __fbufsize,__fbufsize@GLIBC_2.2.5"); -__asm__(".symver __fcntl,__fcntl@GLIBC_2.2.5"); -__asm__(".symver __ffs,__ffs@GLIBC_2.2.5"); -__asm__(".symver __fgets_chk,__fgets_chk@GLIBC_2.4"); -__asm__(".symver __fgets_unlocked_chk,__fgets_unlocked_chk@GLIBC_2.4"); -__asm__(".symver __fgetws_chk,__fgetws_chk@GLIBC_2.4"); -__asm__(".symver __fgetws_unlocked_chk,__fgetws_unlocked_chk@GLIBC_2.4"); -__asm__(".symver __finite,__finite@GLIBC_2.2.5"); -__asm__(".symver __finitef,__finitef@GLIBC_2.2.5"); -__asm__(".symver __finitel,__finitel@GLIBC_2.2.5"); -__asm__(".symver __flbf,__flbf@GLIBC_2.2.5"); -__asm__(".symver __fork,__fork@GLIBC_2.2.5"); -__asm__(".symver __fp_nquery,__fp_nquery@GLIBC_2.2.5"); -__asm__(".symver __fp_query,__fp_query@GLIBC_2.2.5"); -__asm__(".symver __fp_resstat,__fp_resstat@GLIBC_2.2.5"); -__asm__(".symver __fpclassify,__fpclassify@GLIBC_2.2.5"); -__asm__(".symver __fpclassifyf,__fpclassifyf@GLIBC_2.2.5"); -__asm__(".symver __fpclassifyl,__fpclassifyl@GLIBC_2.2.5"); -__asm__(".symver __fpending,__fpending@GLIBC_2.2.5"); -__asm__(".symver __fprintf_chk,__fprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __fpu_control,__fpu_control@GLIBC_2.2.5"); -__asm__(".symver __fpurge,__fpurge@GLIBC_2.2.5"); -__asm__(".symver __freadable,__freadable@GLIBC_2.2.5"); -__asm__(".symver __freading,__freading@GLIBC_2.2.5"); -__asm__(".symver __free_fdresult,__free_fdresult@GLIBC_2.2.5"); -__asm__(".symver __free_hook,__free_hook@GLIBC_2.2.5"); -__asm__(".symver __freelocale,__freelocale@GLIBC_2.2.5"); -__asm__(".symver __fsetlocking,__fsetlocking@GLIBC_2.2.5"); -__asm__(".symver __fwprintf_chk,__fwprintf_chk@GLIBC_2.4"); -__asm__(".symver __fwritable,__fwritable@GLIBC_2.2.5"); -__asm__(".symver __fwriting,__fwriting@GLIBC_2.2.5"); -__asm__(".symver __fxstat,__fxstat@GLIBC_2.2.5"); -__asm__(".symver __fxstat64,__fxstat64@GLIBC_2.2.5"); -__asm__(".symver __fxstatat,__fxstatat@GLIBC_2.4"); -__asm__(".symver __fxstatat64,__fxstatat64@GLIBC_2.4"); -__asm__(".symver __getcwd_chk,__getcwd_chk@GLIBC_2.4"); -__asm__(".symver __getdelim,__getdelim@GLIBC_2.2.5"); -__asm__(".symver __getdomainname_chk,__getdomainname_chk@GLIBC_2.4"); -__asm__(".symver __getgroups_chk,__getgroups_chk@GLIBC_2.4"); -__asm__(".symver __gethostname_chk,__gethostname_chk@GLIBC_2.4"); -__asm__(".symver __getlogin_r_chk,__getlogin_r_chk@GLIBC_2.4"); -__asm__(".symver __getmntent_r,__getmntent_r@GLIBC_2.2.5"); -__asm__(".symver __getpagesize,__getpagesize@GLIBC_2.2.5"); -__asm__(".symver __getpgid,__getpgid@GLIBC_2.2.5"); -__asm__(".symver __getpid,__getpid@GLIBC_2.2.5"); -__asm__(".symver __gets_chk,__gets_chk@GLIBC_2.3.4"); -__asm__(".symver __gettimeofday,__gettimeofday@GLIBC_2.2.5"); -__asm__(".symver __getwd_chk,__getwd_chk@GLIBC_2.4"); -__asm__(".symver __gmtime_r,__gmtime_r@GLIBC_2.2.5"); -__asm__(".symver __h_errno_location,__h_errno_location@GLIBC_2.2.5"); -__asm__(".symver __hostalias,__hostalias@GLIBC_2.2.5"); -__asm__(".symver __isalnum_l,__isalnum_l@GLIBC_2.2.5"); -__asm__(".symver __isalpha_l,__isalpha_l@GLIBC_2.2.5"); -__asm__(".symver __isascii_l,__isascii_l@GLIBC_2.2.5"); -__asm__(".symver __isblank_l,__isblank_l@GLIBC_2.2.5"); -__asm__(".symver __iscntrl_l,__iscntrl_l@GLIBC_2.2.5"); -__asm__(".symver __isctype,__isctype@GLIBC_2.3"); -__asm__(".symver __isdigit_l,__isdigit_l@GLIBC_2.2.5"); -__asm__(".symver __isgraph_l,__isgraph_l@GLIBC_2.2.5"); -__asm__(".symver __isinf,__isinf@GLIBC_2.2.5"); -__asm__(".symver __isinff,__isinff@GLIBC_2.2.5"); -__asm__(".symver __isinfl,__isinfl@GLIBC_2.2.5"); -__asm__(".symver __islower_l,__islower_l@GLIBC_2.2.5"); -__asm__(".symver __isnan,__isnan@GLIBC_2.2.5"); -__asm__(".symver __isnanf,__isnanf@GLIBC_2.2.5"); -__asm__(".symver __isnanl,__isnanl@GLIBC_2.2.5"); -__asm__(".symver __isprint_l,__isprint_l@GLIBC_2.2.5"); -__asm__(".symver __ispunct_l,__ispunct_l@GLIBC_2.2.5"); -__asm__(".symver __isspace_l,__isspace_l@GLIBC_2.2.5"); -__asm__(".symver __isupper_l,__isupper_l@GLIBC_2.2.5"); -__asm__(".symver __iswalnum_l,__iswalnum_l@GLIBC_2.2.5"); -__asm__(".symver __iswalpha_l,__iswalpha_l@GLIBC_2.2.5"); -__asm__(".symver __iswblank_l,__iswblank_l@GLIBC_2.2.5"); -__asm__(".symver __iswcntrl_l,__iswcntrl_l@GLIBC_2.2.5"); -__asm__(".symver __iswctype,__iswctype@GLIBC_2.2.5"); -__asm__(".symver __iswctype_l,__iswctype_l@GLIBC_2.2.5"); -__asm__(".symver __iswdigit_l,__iswdigit_l@GLIBC_2.2.5"); -__asm__(".symver __iswgraph_l,__iswgraph_l@GLIBC_2.2.5"); -__asm__(".symver __iswlower_l,__iswlower_l@GLIBC_2.2.5"); -__asm__(".symver __iswprint_l,__iswprint_l@GLIBC_2.2.5"); -__asm__(".symver __iswpunct_l,__iswpunct_l@GLIBC_2.2.5"); -__asm__(".symver __iswspace_l,__iswspace_l@GLIBC_2.2.5"); -__asm__(".symver __iswupper_l,__iswupper_l@GLIBC_2.2.5"); -__asm__(".symver __iswxdigit_l,__iswxdigit_l@GLIBC_2.2.5"); -__asm__(".symver __isxdigit_l,__isxdigit_l@GLIBC_2.2.5"); -__asm__(".symver __ivaliduser,__ivaliduser@GLIBC_2.2.5"); -__asm__(".symver __key_decryptsession_pk_LOCAL,__key_decryptsession_pk_LOCAL@GLIBC_2.2.5"); -__asm__(".symver __key_encryptsession_pk_LOCAL,__key_encryptsession_pk_LOCAL@GLIBC_2.2.5"); -__asm__(".symver __key_gendes_LOCAL,__key_gendes_LOCAL@GLIBC_2.2.5"); -__asm__(".symver __libc_allocate_rtsig,__libc_allocate_rtsig@GLIBC_2.2.5"); -__asm__(".symver __libc_calloc,__libc_calloc@GLIBC_2.2.5"); -__asm__(".symver __libc_current_sigrtmax,__libc_current_sigrtmax@GLIBC_2.2.5"); -__asm__(".symver __libc_current_sigrtmin,__libc_current_sigrtmin@GLIBC_2.2.5"); -__asm__(".symver __libc_free,__libc_free@GLIBC_2.2.5"); -__asm__(".symver __libc_freeres,__libc_freeres@GLIBC_2.2.5"); -__asm__(".symver __libc_init_first,__libc_init_first@GLIBC_2.2.5"); -__asm__(".symver __libc_mallinfo,__libc_mallinfo@GLIBC_2.2.5"); -__asm__(".symver __libc_malloc,__libc_malloc@GLIBC_2.2.5"); -__asm__(".symver __libc_mallopt,__libc_mallopt@GLIBC_2.2.5"); -__asm__(".symver __libc_memalign,__libc_memalign@GLIBC_2.2.5"); -__asm__(".symver __libc_pvalloc,__libc_pvalloc@GLIBC_2.2.5"); -__asm__(".symver __libc_realloc,__libc_realloc@GLIBC_2.2.5"); -__asm__(".symver __libc_sa_len,__libc_sa_len@GLIBC_2.2.5"); -__asm__(".symver __libc_stack_end,__libc_stack_end@GLIBC_2.2.5"); -__asm__(".symver __libc_start_main,__libc_start_main@GLIBC_2.2.5"); -__asm__(".symver __libc_valloc,__libc_valloc@GLIBC_2.2.5"); -__asm__(".symver __loc_aton,__loc_aton@GLIBC_2.2.5"); -__asm__(".symver __loc_ntoa,__loc_ntoa@GLIBC_2.2.5"); -__asm__(".symver __lseek,__lseek@GLIBC_2.2.5"); -__asm__(".symver __lxstat,__lxstat@GLIBC_2.2.5"); -__asm__(".symver __lxstat64,__lxstat64@GLIBC_2.2.5"); -__asm__(".symver __malloc_hook,__malloc_hook@GLIBC_2.2.5"); -__asm__(".symver __malloc_initialize_hook,__malloc_initialize_hook@GLIBC_2.2.5"); -__asm__(".symver __mbrlen,__mbrlen@GLIBC_2.2.5"); -__asm__(".symver __mbrtowc,__mbrtowc@GLIBC_2.2.5"); -__asm__(".symver __mbsnrtowcs_chk,__mbsnrtowcs_chk@GLIBC_2.4"); -__asm__(".symver __mbsrtowcs_chk,__mbsrtowcs_chk@GLIBC_2.4"); -__asm__(".symver __mbstowcs_chk,__mbstowcs_chk@GLIBC_2.4"); -__asm__(".symver __memalign_hook,__memalign_hook@GLIBC_2.2.5"); -__asm__(".symver __memcpy_chk,__memcpy_chk@GLIBC_2.3.4"); -__asm__(".symver __memmove_chk,__memmove_chk@GLIBC_2.3.4"); -__asm__(".symver __mempcpy,__mempcpy@GLIBC_2.2.5"); -__asm__(".symver __mempcpy_chk,__mempcpy_chk@GLIBC_2.3.4"); -__asm__(".symver __mempcpy_small,__mempcpy_small@GLIBC_2.2.5"); -__asm__(".symver __memset_chk,__memset_chk@GLIBC_2.3.4"); -__asm__(".symver __monstartup,__monstartup@GLIBC_2.2.5"); -__asm__(".symver __morecore,__morecore@GLIBC_2.2.5"); -__asm__(".symver __nanosleep,__nanosleep@GLIBC_2.2.6"); -__asm__(".symver __newlocale,__newlocale@GLIBC_2.2.5"); -__asm__(".symver __nis_default_access,__nis_default_access@GLIBC_2.2.5"); -__asm__(".symver __nis_default_group,__nis_default_group@GLIBC_2.2.5"); -__asm__(".symver __nis_default_owner,__nis_default_owner@GLIBC_2.2.5"); -__asm__(".symver __nis_default_ttl,__nis_default_ttl@GLIBC_2.2.5"); -__asm__(".symver __nis_finddirectory,__nis_finddirectory@GLIBC_2.2.5"); -__asm__(".symver __nis_hash,__nis_hash@GLIBC_2.2.5"); -__asm__(".symver __nisbind_connect,__nisbind_connect@GLIBC_2.2.5"); -__asm__(".symver __nisbind_create,__nisbind_create@GLIBC_2.2.5"); -__asm__(".symver __nisbind_destroy,__nisbind_destroy@GLIBC_2.2.5"); -__asm__(".symver __nisbind_next,__nisbind_next@GLIBC_2.2.5"); -__asm__(".symver __nl_langinfo_l,__nl_langinfo_l@GLIBC_2.2.5"); -__asm__(".symver __nss_configure_lookup,__nss_configure_lookup@GLIBC_2.2.5"); -__asm__(".symver __nss_database_lookup,__nss_database_lookup@GLIBC_2.2.5"); -__asm__(".symver __nss_group_lookup,__nss_group_lookup@GLIBC_2.2.5"); -__asm__(".symver __nss_hostname_digits_dots,__nss_hostname_digits_dots@GLIBC_2.2.5"); -__asm__(".symver __nss_hosts_lookup,__nss_hosts_lookup@GLIBC_2.2.5"); -__asm__(".symver __nss_next,__nss_next@GLIBC_2.2.5"); -__asm__(".symver __nss_passwd_lookup,__nss_passwd_lookup@GLIBC_2.2.5"); -__asm__(".symver __open,__open@GLIBC_2.2.5"); -__asm__(".symver __open64,__open64@GLIBC_2.2.5"); -__asm__(".symver __overflow,__overflow@GLIBC_2.2.5"); -__asm__(".symver __p_cdname,__p_cdname@GLIBC_2.2.5"); -__asm__(".symver __p_cdnname,__p_cdnname@GLIBC_2.2.5"); -__asm__(".symver __p_class,__p_class@GLIBC_2.2.5"); -__asm__(".symver __p_class_syms,__p_class_syms@GLIBC_2.2.5"); -__asm__(".symver __p_fqname,__p_fqname@GLIBC_2.2.5"); -__asm__(".symver __p_fqnname,__p_fqnname@GLIBC_2.2.5"); -__asm__(".symver __p_option,__p_option@GLIBC_2.2.5"); -__asm__(".symver __p_query,__p_query@GLIBC_2.2.5"); -__asm__(".symver __p_rcode,__p_rcode@GLIBC_2.3.2"); -__asm__(".symver __p_secstodate,__p_secstodate@GLIBC_2.2.5"); -__asm__(".symver __p_time,__p_time@GLIBC_2.2.5"); -__asm__(".symver __p_type,__p_type@GLIBC_2.2.5"); -__asm__(".symver __p_type_syms,__p_type_syms@GLIBC_2.2.5"); -__asm__(".symver __pipe,__pipe@GLIBC_2.2.5"); -__asm__(".symver __poll,__poll@GLIBC_2.2.5"); -__asm__(".symver __pread64,__pread64@GLIBC_2.2.5"); -__asm__(".symver __pread64_chk,__pread64_chk@GLIBC_2.4"); -__asm__(".symver __pread_chk,__pread_chk@GLIBC_2.4"); -__asm__(".symver __printf_chk,__printf_chk@GLIBC_2.3.4"); -__asm__(".symver __printf_fp,__printf_fp@GLIBC_2.2.5"); -__asm__(".symver __profile_frequency,__profile_frequency@GLIBC_2.2.5"); -__asm__(".symver __progname,__progname@GLIBC_2.2.5"); -__asm__(".symver __progname_full,__progname_full@GLIBC_2.2.5"); -__asm__(".symver __pthread_cleanup_routine,__pthread_cleanup_routine@GLIBC_2.3.3"); -__asm__(".symver __pthread_getspecific,__pthread_getspecific@GLIBC_2.2.5"); -#ifndef _GLIBCXX_SHARED -#ifndef IN_LIBGCC2 -#ifdef _REENTRANT -__asm__(".symver __pthread_key_create,__pthread_key_create@GLIBC_2.2.5"); -#endif -#endif -#endif -__asm__(".symver __pthread_mutex_destroy,__pthread_mutex_destroy@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutex_init,__pthread_mutex_init@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutex_lock,__pthread_mutex_lock@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutex_trylock,__pthread_mutex_trylock@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutex_unlock,__pthread_mutex_unlock@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutexattr_destroy,__pthread_mutexattr_destroy@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutexattr_init,__pthread_mutexattr_init@GLIBC_2.2.5"); -__asm__(".symver __pthread_mutexattr_settype,__pthread_mutexattr_settype@GLIBC_2.2.5"); -__asm__(".symver __pthread_once,__pthread_once@GLIBC_2.2.5"); -__asm__(".symver __pthread_register_cancel,__pthread_register_cancel@GLIBC_2.3.3"); -__asm__(".symver __pthread_register_cancel_defer,__pthread_register_cancel_defer@GLIBC_2.3.3"); -__asm__(".symver __pthread_rwlock_destroy,__pthread_rwlock_destroy@GLIBC_2.2.5"); -__asm__(".symver __pthread_rwlock_init,__pthread_rwlock_init@GLIBC_2.2.5"); -__asm__(".symver __pthread_rwlock_rdlock,__pthread_rwlock_rdlock@GLIBC_2.2.5"); -__asm__(".symver __pthread_rwlock_tryrdlock,__pthread_rwlock_tryrdlock@GLIBC_2.2.5"); -__asm__(".symver __pthread_rwlock_trywrlock,__pthread_rwlock_trywrlock@GLIBC_2.2.5"); -__asm__(".symver __pthread_rwlock_unlock,__pthread_rwlock_unlock@GLIBC_2.2.5"); -__asm__(".symver __pthread_rwlock_wrlock,__pthread_rwlock_wrlock@GLIBC_2.2.5"); -__asm__(".symver __pthread_setspecific,__pthread_setspecific@GLIBC_2.2.5"); -__asm__(".symver __pthread_unregister_cancel,__pthread_unregister_cancel@GLIBC_2.3.3"); -__asm__(".symver __pthread_unregister_cancel_restore,__pthread_unregister_cancel_restore@GLIBC_2.3.3"); -__asm__(".symver __pthread_unwind_next,__pthread_unwind_next@GLIBC_2.3.3"); -__asm__(".symver __ptsname_r_chk,__ptsname_r_chk@GLIBC_2.4"); -__asm__(".symver __putlong,__putlong@GLIBC_2.2.5"); -__asm__(".symver __putshort,__putshort@GLIBC_2.2.5"); -__asm__(".symver __pwrite64,__pwrite64@GLIBC_2.2.5"); -__asm__(".symver __rawmemchr,__rawmemchr@GLIBC_2.2.5"); -__asm__(".symver __rcmd_errstr,__rcmd_errstr@GLIBC_2.2.5"); -__asm__(".symver __read,__read@GLIBC_2.2.5"); -__asm__(".symver __read_chk,__read_chk@GLIBC_2.4"); -__asm__(".symver __readlink_chk,__readlink_chk@GLIBC_2.4"); -__asm__(".symver __readlinkat_chk,__readlinkat_chk@GLIBC_2.5"); -__asm__(".symver __realloc_hook,__realloc_hook@GLIBC_2.2.5"); -__asm__(".symver __realpath_chk,__realpath_chk@GLIBC_2.4"); -__asm__(".symver __recv_chk,__recv_chk@GLIBC_2.4"); -__asm__(".symver __recvfrom_chk,__recvfrom_chk@GLIBC_2.4"); -#ifdef _REENTRANT -__asm__(".symver __register_atfork,__register_atfork@GLIBC_2.3.2"); -#endif -__asm__(".symver __res_close,__res_close@GLIBC_2.2.5"); -__asm__(".symver __res_dnok,__res_dnok@GLIBC_2.2.5"); -__asm__(".symver __res_hnok,__res_hnok@GLIBC_2.2.5"); -__asm__(".symver __res_hostalias,__res_hostalias@GLIBC_2.2.5"); -__asm__(".symver __res_init,__res_init@GLIBC_2.2.5"); -__asm__(".symver __res_isourserver,__res_isourserver@GLIBC_2.2.5"); -__asm__(".symver __res_mailok,__res_mailok@GLIBC_2.2.5"); -__asm__(".symver __res_mkquery,__res_mkquery@GLIBC_2.2.5"); -__asm__(".symver __res_nameinquery,__res_nameinquery@GLIBC_2.2.5"); -__asm__(".symver __res_nclose,__res_nclose@GLIBC_2.2.5"); -__asm__(".symver __res_ninit,__res_ninit@GLIBC_2.2.5"); -__asm__(".symver __res_nmkquery,__res_nmkquery@GLIBC_2.2.5"); -__asm__(".symver __res_nquery,__res_nquery@GLIBC_2.2.5"); -__asm__(".symver __res_nquerydomain,__res_nquerydomain@GLIBC_2.2.5"); -__asm__(".symver __res_nsearch,__res_nsearch@GLIBC_2.2.5"); -__asm__(".symver __res_nsend,__res_nsend@GLIBC_2.2.5"); -__asm__(".symver __res_ownok,__res_ownok@GLIBC_2.2.5"); -__asm__(".symver __res_queriesmatch,__res_queriesmatch@GLIBC_2.2.5"); -__asm__(".symver __res_query,__res_query@GLIBC_2.2.5"); -__asm__(".symver __res_querydomain,__res_querydomain@GLIBC_2.2.5"); -__asm__(".symver __res_randomid,__res_randomid@GLIBC_2.2.5"); -__asm__(".symver __res_search,__res_search@GLIBC_2.2.5"); -__asm__(".symver __res_send,__res_send@GLIBC_2.2.5"); -__asm__(".symver __res_state,__res_state@GLIBC_2.2.5"); -__asm__(".symver __rpc_thread_createerr,__rpc_thread_createerr@GLIBC_2.2.5"); -__asm__(".symver __rpc_thread_svc_fdset,__rpc_thread_svc_fdset@GLIBC_2.2.5"); -__asm__(".symver __rpc_thread_svc_max_pollfd,__rpc_thread_svc_max_pollfd@GLIBC_2.2.5"); -__asm__(".symver __rpc_thread_svc_pollfd,__rpc_thread_svc_pollfd@GLIBC_2.2.5"); -__asm__(".symver __sbrk,__sbrk@GLIBC_2.2.5"); -__asm__(".symver __sched_get_priority_max,__sched_get_priority_max@GLIBC_2.2.5"); -__asm__(".symver __sched_get_priority_min,__sched_get_priority_min@GLIBC_2.2.5"); -__asm__(".symver __sched_getparam,__sched_getparam@GLIBC_2.2.5"); -__asm__(".symver __sched_getscheduler,__sched_getscheduler@GLIBC_2.2.5"); -__asm__(".symver __sched_setscheduler,__sched_setscheduler@GLIBC_2.2.5"); -__asm__(".symver __sched_yield,__sched_yield@GLIBC_2.2.5"); -__asm__(".symver __secure_getenv,__secure_getenv@GLIBC_2.2.5"); -__asm__(".symver __select,__select@GLIBC_2.2.5"); -__asm__(".symver __send,__send@GLIBC_2.2.5"); -__asm__(".symver __setmntent,__setmntent@GLIBC_2.2.5"); -__asm__(".symver __setpgid,__setpgid@GLIBC_2.2.5"); -__asm__(".symver __sigaction,__sigaction@GLIBC_2.2.5"); -__asm__(".symver __sigaddset,__sigaddset@GLIBC_2.2.5"); -__asm__(".symver __sigdelset,__sigdelset@GLIBC_2.2.5"); -__asm__(".symver __sigismember,__sigismember@GLIBC_2.2.5"); -__asm__(".symver __signbit,__signbit@GLIBC_2.2.5"); -__asm__(".symver __signbitf,__signbitf@GLIBC_2.2.5"); -__asm__(".symver __signbitl,__signbitl@GLIBC_2.2.5"); -__asm__(".symver __sigpause,__sigpause@GLIBC_2.2.5"); -__asm__(".symver __sigsetjmp,__sigsetjmp@GLIBC_2.2.5"); -__asm__(".symver __sigsuspend,__sigsuspend@GLIBC_2.2.5"); -__asm__(".symver __snprintf_chk,__snprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __sprintf_chk,__sprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __stack_chk_fail,__stack_chk_fail@GLIBC_2.4"); -__asm__(".symver __statfs,__statfs@GLIBC_2.2.5"); -__asm__(".symver __stpcpy,__stpcpy@GLIBC_2.2.5"); -__asm__(".symver __stpcpy_chk,__stpcpy_chk@GLIBC_2.3.4"); -__asm__(".symver __stpcpy_small,__stpcpy_small@GLIBC_2.2.5"); -__asm__(".symver __stpncpy,__stpncpy@GLIBC_2.2.5"); -__asm__(".symver __stpncpy_chk,__stpncpy_chk@GLIBC_2.4"); -__asm__(".symver __strcasecmp,__strcasecmp@GLIBC_2.2.5"); -__asm__(".symver __strcasecmp_l,__strcasecmp_l@GLIBC_2.2.5"); -__asm__(".symver __strcasestr,__strcasestr@GLIBC_2.2.5"); -__asm__(".symver __strcat_chk,__strcat_chk@GLIBC_2.3.4"); -__asm__(".symver __strcoll_l,__strcoll_l@GLIBC_2.2.5"); -__asm__(".symver __strcpy_chk,__strcpy_chk@GLIBC_2.3.4"); -__asm__(".symver __strcpy_small,__strcpy_small@GLIBC_2.2.5"); -__asm__(".symver __strcspn_c1,__strcspn_c1@GLIBC_2.2.5"); -__asm__(".symver __strcspn_c2,__strcspn_c2@GLIBC_2.2.5"); -__asm__(".symver __strcspn_c3,__strcspn_c3@GLIBC_2.2.5"); -__asm__(".symver __strdup,__strdup@GLIBC_2.2.5"); -__asm__(".symver __strerror_r,__strerror_r@GLIBC_2.2.5"); -__asm__(".symver __strfmon_l,__strfmon_l@GLIBC_2.2.5"); -__asm__(".symver __strftime_l,__strftime_l@GLIBC_2.3"); -__asm__(".symver __strncasecmp_l,__strncasecmp_l@GLIBC_2.2.5"); -__asm__(".symver __strncat_chk,__strncat_chk@GLIBC_2.3.4"); -__asm__(".symver __strncpy_chk,__strncpy_chk@GLIBC_2.3.4"); -__asm__(".symver __strndup,__strndup@GLIBC_2.2.5"); -__asm__(".symver __strpbrk_c2,__strpbrk_c2@GLIBC_2.2.5"); -__asm__(".symver __strpbrk_c3,__strpbrk_c3@GLIBC_2.2.5"); -__asm__(".symver __strsep_1c,__strsep_1c@GLIBC_2.2.5"); -__asm__(".symver __strsep_2c,__strsep_2c@GLIBC_2.2.5"); -__asm__(".symver __strsep_3c,__strsep_3c@GLIBC_2.2.5"); -__asm__(".symver __strsep_g,__strsep_g@GLIBC_2.2.5"); -__asm__(".symver __strspn_c1,__strspn_c1@GLIBC_2.2.5"); -__asm__(".symver __strspn_c2,__strspn_c2@GLIBC_2.2.5"); -__asm__(".symver __strspn_c3,__strspn_c3@GLIBC_2.2.5"); -__asm__(".symver __strtod_internal,__strtod_internal@GLIBC_2.2.5"); -__asm__(".symver __strtod_l,__strtod_l@GLIBC_2.2.5"); -__asm__(".symver __strtof_internal,__strtof_internal@GLIBC_2.2.5"); -__asm__(".symver __strtof_l,__strtof_l@GLIBC_2.2.5"); -__asm__(".symver __strtok_r,__strtok_r@GLIBC_2.2.5"); -__asm__(".symver __strtok_r_1c,__strtok_r_1c@GLIBC_2.2.5"); -__asm__(".symver __strtol_internal,__strtol_internal@GLIBC_2.2.5"); -__asm__(".symver __strtol_l,__strtol_l@GLIBC_2.2.5"); -__asm__(".symver __strtold_internal,__strtold_internal@GLIBC_2.2.5"); -__asm__(".symver __strtold_l,__strtold_l@GLIBC_2.2.5"); -__asm__(".symver __strtoll_internal,__strtoll_internal@GLIBC_2.2.5"); -__asm__(".symver __strtoll_l,__strtoll_l@GLIBC_2.2.5"); -__asm__(".symver __strtoul_internal,__strtoul_internal@GLIBC_2.2.5"); -__asm__(".symver __strtoul_l,__strtoul_l@GLIBC_2.2.5"); -__asm__(".symver __strtoull_internal,__strtoull_internal@GLIBC_2.2.5"); -__asm__(".symver __strtoull_l,__strtoull_l@GLIBC_2.2.5"); -__asm__(".symver __strverscmp,__strverscmp@GLIBC_2.2.5"); -__asm__(".symver __strxfrm_l,__strxfrm_l@GLIBC_2.2.5"); -__asm__(".symver __swprintf_chk,__swprintf_chk@GLIBC_2.4"); -__asm__(".symver __sym_ntop,__sym_ntop@GLIBC_2.2.5"); -__asm__(".symver __sym_ntos,__sym_ntos@GLIBC_2.2.5"); -__asm__(".symver __sym_ston,__sym_ston@GLIBC_2.2.5"); -__asm__(".symver __sysconf,__sysconf@GLIBC_2.2.5"); -__asm__(".symver __sysctl,__sysctl@GLIBC_2.2.5"); -__asm__(".symver __syslog_chk,__syslog_chk@GLIBC_2.4"); -__asm__(".symver __sysv_signal,__sysv_signal@GLIBC_2.2.5"); -__asm__(".symver __timezone,__timezone@GLIBC_2.2.5"); -__asm__(".symver __tls_get_addr,__tls_get_addr@GLIBC_2.3"); -__asm__(".symver __toascii_l,__toascii_l@GLIBC_2.2.5"); -__asm__(".symver __tolower_l,__tolower_l@GLIBC_2.2.5"); -__asm__(".symver __toupper_l,__toupper_l@GLIBC_2.2.5"); -__asm__(".symver __towctrans,__towctrans@GLIBC_2.2.5"); -__asm__(".symver __towctrans_l,__towctrans_l@GLIBC_2.2.5"); -__asm__(".symver __towlower_l,__towlower_l@GLIBC_2.2.5"); -__asm__(".symver __towupper_l,__towupper_l@GLIBC_2.2.5"); -__asm__(".symver __ttyname_r_chk,__ttyname_r_chk@GLIBC_2.4"); -__asm__(".symver __tzname,__tzname@GLIBC_2.2.5"); -__asm__(".symver __uflow,__uflow@GLIBC_2.2.5"); -__asm__(".symver __underflow,__underflow@GLIBC_2.2.5"); -__asm__(".symver __uselocale,__uselocale@GLIBC_2.3"); -__asm__(".symver __vfork,__vfork@GLIBC_2.2.5"); -__asm__(".symver __vfprintf_chk,__vfprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __vfscanf,__vfscanf@GLIBC_2.2.5"); -__asm__(".symver __vfwprintf_chk,__vfwprintf_chk@GLIBC_2.4"); -__asm__(".symver __vprintf_chk,__vprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __vsnprintf,__vsnprintf@GLIBC_2.2.5"); -__asm__(".symver __vsnprintf_chk,__vsnprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __vsprintf_chk,__vsprintf_chk@GLIBC_2.3.4"); -__asm__(".symver __vsscanf,__vsscanf@GLIBC_2.2.5"); -__asm__(".symver __vswprintf_chk,__vswprintf_chk@GLIBC_2.4"); -__asm__(".symver __vsyslog_chk,__vsyslog_chk@GLIBC_2.4"); -__asm__(".symver __vwprintf_chk,__vwprintf_chk@GLIBC_2.4"); -__asm__(".symver __wait,__wait@GLIBC_2.2.5"); -__asm__(".symver __waitpid,__waitpid@GLIBC_2.2.5"); -__asm__(".symver __wcpcpy_chk,__wcpcpy_chk@GLIBC_2.4"); -__asm__(".symver __wcpncpy_chk,__wcpncpy_chk@GLIBC_2.4"); -__asm__(".symver __wcrtomb_chk,__wcrtomb_chk@GLIBC_2.4"); -__asm__(".symver __wcscasecmp_l,__wcscasecmp_l@GLIBC_2.2.5"); -__asm__(".symver __wcscat_chk,__wcscat_chk@GLIBC_2.4"); -__asm__(".symver __wcscoll_l,__wcscoll_l@GLIBC_2.2.5"); -__asm__(".symver __wcscpy_chk,__wcscpy_chk@GLIBC_2.4"); -__asm__(".symver __wcsftime_l,__wcsftime_l@GLIBC_2.3"); -__asm__(".symver __wcsncasecmp_l,__wcsncasecmp_l@GLIBC_2.2.5"); -__asm__(".symver __wcsncat_chk,__wcsncat_chk@GLIBC_2.4"); -__asm__(".symver __wcsncpy_chk,__wcsncpy_chk@GLIBC_2.4"); -__asm__(".symver __wcsnrtombs_chk,__wcsnrtombs_chk@GLIBC_2.4"); -__asm__(".symver __wcsrtombs_chk,__wcsrtombs_chk@GLIBC_2.4"); -__asm__(".symver __wcstod_internal,__wcstod_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstod_l,__wcstod_l@GLIBC_2.2.5"); -__asm__(".symver __wcstof_internal,__wcstof_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstof_l,__wcstof_l@GLIBC_2.2.5"); -__asm__(".symver __wcstol_internal,__wcstol_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstol_l,__wcstol_l@GLIBC_2.2.5"); -__asm__(".symver __wcstold_internal,__wcstold_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstold_l,__wcstold_l@GLIBC_2.2.5"); -__asm__(".symver __wcstoll_internal,__wcstoll_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstoll_l,__wcstoll_l@GLIBC_2.2.5"); -__asm__(".symver __wcstombs_chk,__wcstombs_chk@GLIBC_2.4"); -__asm__(".symver __wcstoul_internal,__wcstoul_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstoul_l,__wcstoul_l@GLIBC_2.2.5"); -__asm__(".symver __wcstoull_internal,__wcstoull_internal@GLIBC_2.2.5"); -__asm__(".symver __wcstoull_l,__wcstoull_l@GLIBC_2.2.5"); -__asm__(".symver __wcsxfrm_l,__wcsxfrm_l@GLIBC_2.2.5"); -__asm__(".symver __wctomb_chk,__wctomb_chk@GLIBC_2.4"); -__asm__(".symver __wctrans_l,__wctrans_l@GLIBC_2.2.5"); -__asm__(".symver __wctype_l,__wctype_l@GLIBC_2.2.5"); -__asm__(".symver __wmemcpy_chk,__wmemcpy_chk@GLIBC_2.4"); -__asm__(".symver __wmemmove_chk,__wmemmove_chk@GLIBC_2.4"); -__asm__(".symver __wmempcpy_chk,__wmempcpy_chk@GLIBC_2.4"); -__asm__(".symver __wmemset_chk,__wmemset_chk@GLIBC_2.4"); -__asm__(".symver __woverflow,__woverflow@GLIBC_2.2.5"); -__asm__(".symver __wprintf_chk,__wprintf_chk@GLIBC_2.4"); -__asm__(".symver __write,__write@GLIBC_2.2.5"); -__asm__(".symver __wuflow,__wuflow@GLIBC_2.2.5"); -__asm__(".symver __wunderflow,__wunderflow@GLIBC_2.2.5"); -__asm__(".symver __xmknod,__xmknod@GLIBC_2.2.5"); -__asm__(".symver __xmknodat,__xmknodat@GLIBC_2.4"); -__asm__(".symver __xpg_basename,__xpg_basename@GLIBC_2.2.5"); -__asm__(".symver __xpg_sigpause,__xpg_sigpause@GLIBC_2.2.5"); -__asm__(".symver __xpg_strerror_r,__xpg_strerror_r@GLIBC_2.3.4"); -__asm__(".symver __xstat,__xstat@GLIBC_2.2.5"); -__asm__(".symver __xstat64,__xstat64@GLIBC_2.2.5"); -__asm__(".symver __yp_check,__yp_check@GLIBC_2.2.5"); -__asm__(".symver _authenticate,_authenticate@GLIBC_2.2.5"); -__asm__(".symver _dl_mcount,_dl_mcount@GLIBC_2.2.5"); -__asm__(".symver _dl_mcount_wrapper,_dl_mcount_wrapper@GLIBC_2.2.5"); -__asm__(".symver _dl_mcount_wrapper_check,_dl_mcount_wrapper_check@GLIBC_2.2.5"); -__asm__(".symver _environ,_environ@GLIBC_2.2.5"); -__asm__(".symver _exit,_exit@GLIBC_2.2.5"); -__asm__(".symver _flushlbf,_flushlbf@GLIBC_2.2.5"); -__asm__(".symver _gethtbyaddr,_gethtbyaddr@GLIBC_2.2.5"); -__asm__(".symver _gethtbyname,_gethtbyname@GLIBC_2.2.5"); -__asm__(".symver _gethtbyname2,_gethtbyname2@GLIBC_2.2.5"); -__asm__(".symver _gethtent,_gethtent@GLIBC_2.2.5"); -__asm__(".symver _getlong,_getlong@GLIBC_2.2.5"); -__asm__(".symver _getshort,_getshort@GLIBC_2.2.5"); -__asm__(".symver _libc_intl_domainname,_libc_intl_domainname@GLIBC_2.2.5"); -__asm__(".symver _longjmp,_longjmp@GLIBC_2.2.5"); -__asm__(".symver _mcleanup,_mcleanup@GLIBC_2.2.5"); -__asm__(".symver _mcount,_mcount@GLIBC_2.2.5"); -__asm__(".symver _nl_default_dirname,_nl_default_dirname@GLIBC_2.2.5"); -__asm__(".symver _nl_domain_bindings,_nl_domain_bindings@GLIBC_2.2.5"); -__asm__(".symver _nl_msg_cat_cntr,_nl_msg_cat_cntr@GLIBC_2.2.5"); -__asm__(".symver _null_auth,_null_auth@GLIBC_2.2.5"); -__asm__(".symver _obstack_allocated_p,_obstack_allocated_p@GLIBC_2.2.5"); -__asm__(".symver _obstack_begin,_obstack_begin@GLIBC_2.2.5"); -__asm__(".symver _obstack_begin_1,_obstack_begin_1@GLIBC_2.2.5"); -__asm__(".symver _obstack_free,_obstack_free@GLIBC_2.2.5"); -__asm__(".symver _obstack_memory_used,_obstack_memory_used@GLIBC_2.2.5"); -__asm__(".symver _obstack_newchunk,_obstack_newchunk@GLIBC_2.2.5"); -__asm__(".symver _pthread_cleanup_pop,_pthread_cleanup_pop@GLIBC_2.2.5"); -__asm__(".symver _pthread_cleanup_pop_restore,_pthread_cleanup_pop_restore@GLIBC_2.2.5"); -__asm__(".symver _pthread_cleanup_push,_pthread_cleanup_push@GLIBC_2.2.5"); -__asm__(".symver _pthread_cleanup_push_defer,_pthread_cleanup_push_defer@GLIBC_2.2.5"); -__asm__(".symver _r_debug,_r_debug@GLIBC_2.2.5"); -__asm__(".symver _res_hconf,_res_hconf@GLIBC_2.2.5"); -__asm__(".symver _res_opcodes,_res_opcodes@GLIBC_2.2.5"); -__asm__(".symver _rpc_dtablesize,_rpc_dtablesize@GLIBC_2.2.5"); -__asm__(".symver _seterr_reply,_seterr_reply@GLIBC_2.2.5"); -__asm__(".symver _sethtent,_sethtent@GLIBC_2.2.5"); -__asm__(".symver _setjmp,_setjmp@GLIBC_2.2.5"); -__asm__(".symver _sys_errlist,_sys_errlist@GLIBC_2.4"); -__asm__(".symver _sys_nerr,_sys_nerr@GLIBC_2.4"); -__asm__(".symver _sys_siglist,_sys_siglist@GLIBC_2.3.3"); -__asm__(".symver _tolower,_tolower@GLIBC_2.2.5"); -__asm__(".symver _toupper,_toupper@GLIBC_2.2.5"); -__asm__(".symver a64l,a64l@GLIBC_2.2.5"); -__asm__(".symver abort,abort@GLIBC_2.2.5"); -__asm__(".symver abs,abs@GLIBC_2.2.5"); -__asm__(".symver accept,accept@GLIBC_2.2.5"); -__asm__(".symver access,access@GLIBC_2.2.5"); -__asm__(".symver acct,acct@GLIBC_2.2.5"); -__asm__(".symver acos,acos@GLIBC_2.2.5"); -__asm__(".symver acosf,acosf@GLIBC_2.2.5"); -__asm__(".symver acosh,acosh@GLIBC_2.2.5"); -__asm__(".symver acoshf,acoshf@GLIBC_2.2.5"); -__asm__(".symver acoshl,acoshl@GLIBC_2.2.5"); -__asm__(".symver acosl,acosl@GLIBC_2.2.5"); -__asm__(".symver addmntent,addmntent@GLIBC_2.2.5"); -__asm__(".symver addseverity,addseverity@GLIBC_2.2.5"); -__asm__(".symver adjtime,adjtime@GLIBC_2.2.5"); -__asm__(".symver adjtimex,adjtimex@GLIBC_2.2.5"); -__asm__(".symver advance,advance@GLIBC_2.2.5"); -__asm__(".symver aio_cancel,aio_cancel@GLIBC_2.2.5"); -__asm__(".symver aio_cancel64,aio_cancel64@GLIBC_2.2.5"); -__asm__(".symver aio_error,aio_error@GLIBC_2.2.5"); -__asm__(".symver aio_error64,aio_error64@GLIBC_2.2.5"); -__asm__(".symver aio_fsync,aio_fsync@GLIBC_2.2.5"); -__asm__(".symver aio_fsync64,aio_fsync64@GLIBC_2.2.5"); -__asm__(".symver aio_init,aio_init@GLIBC_2.2.5"); -__asm__(".symver aio_read,aio_read@GLIBC_2.2.5"); -__asm__(".symver aio_read64,aio_read64@GLIBC_2.2.5"); -__asm__(".symver aio_return,aio_return@GLIBC_2.2.5"); -__asm__(".symver aio_return64,aio_return64@GLIBC_2.2.5"); -__asm__(".symver aio_suspend,aio_suspend@GLIBC_2.2.5"); -__asm__(".symver aio_suspend64,aio_suspend64@GLIBC_2.2.5"); -__asm__(".symver aio_write,aio_write@GLIBC_2.2.5"); -__asm__(".symver aio_write64,aio_write64@GLIBC_2.2.5"); -__asm__(".symver alarm,alarm@GLIBC_2.2.5"); -__asm__(".symver alphasort,alphasort@GLIBC_2.2.5"); -__asm__(".symver alphasort64,alphasort64@GLIBC_2.2.5"); -__asm__(".symver arch_prctl,arch_prctl@GLIBC_2.2.5"); -__asm__(".symver argp_err_exit_status,argp_err_exit_status@GLIBC_2.2.5"); -__asm__(".symver argp_error,argp_error@GLIBC_2.2.5"); -__asm__(".symver argp_failure,argp_failure@GLIBC_2.2.5"); -__asm__(".symver argp_help,argp_help@GLIBC_2.2.5"); -__asm__(".symver argp_parse,argp_parse@GLIBC_2.2.5"); -__asm__(".symver argp_program_bug_address,argp_program_bug_address@GLIBC_2.2.5"); -__asm__(".symver argp_program_version,argp_program_version@GLIBC_2.2.5"); -__asm__(".symver argp_program_version_hook,argp_program_version_hook@GLIBC_2.2.5"); -__asm__(".symver argp_state_help,argp_state_help@GLIBC_2.2.5"); -__asm__(".symver argp_usage,argp_usage@GLIBC_2.2.5"); -__asm__(".symver argz_add,argz_add@GLIBC_2.2.5"); -__asm__(".symver argz_add_sep,argz_add_sep@GLIBC_2.2.5"); -__asm__(".symver argz_append,argz_append@GLIBC_2.2.5"); -__asm__(".symver argz_count,argz_count@GLIBC_2.2.5"); -__asm__(".symver argz_create,argz_create@GLIBC_2.2.5"); -__asm__(".symver argz_create_sep,argz_create_sep@GLIBC_2.2.5"); -__asm__(".symver argz_delete,argz_delete@GLIBC_2.2.5"); -__asm__(".symver argz_extract,argz_extract@GLIBC_2.2.5"); -__asm__(".symver argz_insert,argz_insert@GLIBC_2.2.5"); -__asm__(".symver argz_next,argz_next@GLIBC_2.2.5"); -__asm__(".symver argz_replace,argz_replace@GLIBC_2.2.5"); -__asm__(".symver argz_stringify,argz_stringify@GLIBC_2.2.5"); -__asm__(".symver asctime,asctime@GLIBC_2.2.5"); -__asm__(".symver asctime_r,asctime_r@GLIBC_2.2.5"); -__asm__(".symver asin,asin@GLIBC_2.2.5"); -__asm__(".symver asinf,asinf@GLIBC_2.2.5"); -__asm__(".symver asinh,asinh@GLIBC_2.2.5"); -__asm__(".symver asinhf,asinhf@GLIBC_2.2.5"); -__asm__(".symver asinhl,asinhl@GLIBC_2.2.5"); -__asm__(".symver asinl,asinl@GLIBC_2.2.5"); -__asm__(".symver asprintf,asprintf@GLIBC_2.2.5"); -__asm__(".symver atan,atan@GLIBC_2.2.5"); -__asm__(".symver atan2,atan2@GLIBC_2.2.5"); -__asm__(".symver atan2f,atan2f@GLIBC_2.2.5"); -__asm__(".symver atan2l,atan2l@GLIBC_2.2.5"); -__asm__(".symver atanf,atanf@GLIBC_2.2.5"); -__asm__(".symver atanh,atanh@GLIBC_2.2.5"); -__asm__(".symver atanhf,atanhf@GLIBC_2.2.5"); -__asm__(".symver atanhl,atanhl@GLIBC_2.2.5"); -__asm__(".symver atanl,atanl@GLIBC_2.2.5"); -__asm__(".symver atof,atof@GLIBC_2.2.5"); -__asm__(".symver atoi,atoi@GLIBC_2.2.5"); -__asm__(".symver atol,atol@GLIBC_2.2.5"); -__asm__(".symver atoll,atoll@GLIBC_2.2.5"); -__asm__(".symver authdes_create,authdes_create@GLIBC_2.2.5"); -__asm__(".symver authdes_getucred,authdes_getucred@GLIBC_2.2.5"); -__asm__(".symver authdes_pk_create,authdes_pk_create@GLIBC_2.2.5"); -__asm__(".symver authnone_create,authnone_create@GLIBC_2.2.5"); -__asm__(".symver authunix_create,authunix_create@GLIBC_2.2.5"); -__asm__(".symver authunix_create_default,authunix_create_default@GLIBC_2.2.5"); -__asm__(".symver backtrace,backtrace@GLIBC_2.2.5"); -__asm__(".symver backtrace_symbols,backtrace_symbols@GLIBC_2.2.5"); -__asm__(".symver backtrace_symbols_fd,backtrace_symbols_fd@GLIBC_2.2.5"); -__asm__(".symver basename,basename@GLIBC_2.2.5"); -__asm__(".symver bcmp,bcmp@GLIBC_2.2.5"); -__asm__(".symver bcopy,bcopy@GLIBC_2.2.5"); -__asm__(".symver bdflush,bdflush@GLIBC_2.2.5"); -__asm__(".symver bind,bind@GLIBC_2.2.5"); -__asm__(".symver bind_textdomain_codeset,bind_textdomain_codeset@GLIBC_2.2.5"); -__asm__(".symver bindresvport,bindresvport@GLIBC_2.2.5"); -__asm__(".symver bindtextdomain,bindtextdomain@GLIBC_2.2.5"); -__asm__(".symver brk,brk@GLIBC_2.2.5"); -__asm__(".symver bsd_signal,bsd_signal@GLIBC_2.2.5"); -__asm__(".symver bsearch,bsearch@GLIBC_2.2.5"); -__asm__(".symver btowc,btowc@GLIBC_2.2.5"); -__asm__(".symver bzero,bzero@GLIBC_2.2.5"); -__asm__(".symver cabs,cabs@GLIBC_2.2.5"); -__asm__(".symver cabsf,cabsf@GLIBC_2.2.5"); -__asm__(".symver cabsl,cabsl@GLIBC_2.2.5"); -__asm__(".symver cacos,cacos@GLIBC_2.2.5"); -__asm__(".symver cacosf,cacosf@GLIBC_2.2.5"); -__asm__(".symver cacosh,cacosh@GLIBC_2.2.5"); -__asm__(".symver cacoshf,cacoshf@GLIBC_2.2.5"); -__asm__(".symver cacoshl,cacoshl@GLIBC_2.2.5"); -__asm__(".symver cacosl,cacosl@GLIBC_2.2.5"); -__asm__(".symver calloc,calloc@GLIBC_2.2.5"); -__asm__(".symver callrpc,callrpc@GLIBC_2.2.5"); -__asm__(".symver canonicalize_file_name,canonicalize_file_name@GLIBC_2.2.5"); -__asm__(".symver capget,capget@GLIBC_2.2.5"); -__asm__(".symver capset,capset@GLIBC_2.2.5"); -__asm__(".symver carg,carg@GLIBC_2.2.5"); -__asm__(".symver cargf,cargf@GLIBC_2.2.5"); -__asm__(".symver cargl,cargl@GLIBC_2.2.5"); -__asm__(".symver casin,casin@GLIBC_2.2.5"); -__asm__(".symver casinf,casinf@GLIBC_2.2.5"); -__asm__(".symver casinh,casinh@GLIBC_2.2.5"); -__asm__(".symver casinhf,casinhf@GLIBC_2.2.5"); -__asm__(".symver casinhl,casinhl@GLIBC_2.2.5"); -__asm__(".symver casinl,casinl@GLIBC_2.2.5"); -__asm__(".symver catan,catan@GLIBC_2.2.5"); -__asm__(".symver catanf,catanf@GLIBC_2.2.5"); -__asm__(".symver catanh,catanh@GLIBC_2.2.5"); -__asm__(".symver catanhf,catanhf@GLIBC_2.2.5"); -__asm__(".symver catanhl,catanhl@GLIBC_2.2.5"); -__asm__(".symver catanl,catanl@GLIBC_2.2.5"); -__asm__(".symver catclose,catclose@GLIBC_2.2.5"); -__asm__(".symver catgets,catgets@GLIBC_2.2.5"); -__asm__(".symver catopen,catopen@GLIBC_2.2.5"); -__asm__(".symver cbc_crypt,cbc_crypt@GLIBC_2.2.5"); -__asm__(".symver cbrt,cbrt@GLIBC_2.2.5"); -__asm__(".symver cbrtf,cbrtf@GLIBC_2.2.5"); -__asm__(".symver cbrtl,cbrtl@GLIBC_2.2.5"); -__asm__(".symver ccos,ccos@GLIBC_2.2.5"); -__asm__(".symver ccosf,ccosf@GLIBC_2.2.5"); -__asm__(".symver ccosh,ccosh@GLIBC_2.2.5"); -__asm__(".symver ccoshf,ccoshf@GLIBC_2.2.5"); -__asm__(".symver ccoshl,ccoshl@GLIBC_2.2.5"); -__asm__(".symver ccosl,ccosl@GLIBC_2.2.5"); -__asm__(".symver ceil,ceil@GLIBC_2.2.5"); -__asm__(".symver ceilf,ceilf@GLIBC_2.2.5"); -__asm__(".symver ceill,ceill@GLIBC_2.2.5"); -__asm__(".symver cexp,cexp@GLIBC_2.2.5"); -__asm__(".symver cexpf,cexpf@GLIBC_2.2.5"); -__asm__(".symver cexpl,cexpl@GLIBC_2.2.5"); -__asm__(".symver cfgetispeed,cfgetispeed@GLIBC_2.2.5"); -__asm__(".symver cfgetospeed,cfgetospeed@GLIBC_2.2.5"); -__asm__(".symver cfmakeraw,cfmakeraw@GLIBC_2.2.5"); -__asm__(".symver cfree,cfree@GLIBC_2.2.5"); -__asm__(".symver cfsetispeed,cfsetispeed@GLIBC_2.2.5"); -__asm__(".symver cfsetospeed,cfsetospeed@GLIBC_2.2.5"); -__asm__(".symver cfsetspeed,cfsetspeed@GLIBC_2.2.5"); -__asm__(".symver chdir,chdir@GLIBC_2.2.5"); -__asm__(".symver chflags,chflags@GLIBC_2.2.5"); -__asm__(".symver chmod,chmod@GLIBC_2.2.5"); -__asm__(".symver chown,chown@GLIBC_2.2.5"); -__asm__(".symver chroot,chroot@GLIBC_2.2.5"); -__asm__(".symver cimag,cimag@GLIBC_2.2.5"); -__asm__(".symver cimagf,cimagf@GLIBC_2.2.5"); -__asm__(".symver cimagl,cimagl@GLIBC_2.2.5"); -__asm__(".symver clearenv,clearenv@GLIBC_2.2.5"); -__asm__(".symver clearerr,clearerr@GLIBC_2.2.5"); -__asm__(".symver clearerr_unlocked,clearerr_unlocked@GLIBC_2.2.5"); -__asm__(".symver clnt_broadcast,clnt_broadcast@GLIBC_2.2.5"); -__asm__(".symver clnt_create,clnt_create@GLIBC_2.2.5"); -__asm__(".symver clnt_pcreateerror,clnt_pcreateerror@GLIBC_2.2.5"); -__asm__(".symver clnt_perrno,clnt_perrno@GLIBC_2.2.5"); -__asm__(".symver clnt_perror,clnt_perror@GLIBC_2.2.5"); -__asm__(".symver clnt_spcreateerror,clnt_spcreateerror@GLIBC_2.2.5"); -__asm__(".symver clnt_sperrno,clnt_sperrno@GLIBC_2.2.5"); -__asm__(".symver clnt_sperror,clnt_sperror@GLIBC_2.2.5"); -__asm__(".symver clntraw_create,clntraw_create@GLIBC_2.2.5"); -__asm__(".symver clnttcp_create,clnttcp_create@GLIBC_2.2.5"); -__asm__(".symver clntudp_bufcreate,clntudp_bufcreate@GLIBC_2.2.5"); -__asm__(".symver clntudp_create,clntudp_create@GLIBC_2.2.5"); -__asm__(".symver clntunix_create,clntunix_create@GLIBC_2.2.5"); -__asm__(".symver clock,clock@GLIBC_2.2.5"); -__asm__(".symver clock_getcpuclockid,clock_getcpuclockid@GLIBC_2.2.5"); -__asm__(".symver clock_getres,clock_getres@GLIBC_2.2.5"); -__asm__(".symver clock_gettime,clock_gettime@GLIBC_2.2.5"); -__asm__(".symver clock_nanosleep,clock_nanosleep@GLIBC_2.2.5"); -__asm__(".symver clock_settime,clock_settime@GLIBC_2.2.5"); -__asm__(".symver clog,clog@GLIBC_2.2.5"); -__asm__(".symver clog10,clog10@GLIBC_2.2.5"); -__asm__(".symver clog10f,clog10f@GLIBC_2.2.5"); -__asm__(".symver clog10l,clog10l@GLIBC_2.2.5"); -__asm__(".symver clogf,clogf@GLIBC_2.2.5"); -__asm__(".symver clogl,clogl@GLIBC_2.2.5"); -__asm__(".symver clone,clone@GLIBC_2.2.5"); -__asm__(".symver close,close@GLIBC_2.2.5"); -__asm__(".symver closedir,closedir@GLIBC_2.2.5"); -__asm__(".symver closelog,closelog@GLIBC_2.2.5"); -__asm__(".symver confstr,confstr@GLIBC_2.2.5"); -__asm__(".symver conj,conj@GLIBC_2.2.5"); -__asm__(".symver conjf,conjf@GLIBC_2.2.5"); -__asm__(".symver conjl,conjl@GLIBC_2.2.5"); -__asm__(".symver connect,connect@GLIBC_2.2.5"); -__asm__(".symver copysign,copysign@GLIBC_2.2.5"); -__asm__(".symver copysignf,copysignf@GLIBC_2.2.5"); -__asm__(".symver copysignl,copysignl@GLIBC_2.2.5"); -__asm__(".symver cos,cos@GLIBC_2.2.5"); -__asm__(".symver cosf,cosf@GLIBC_2.2.5"); -__asm__(".symver cosh,cosh@GLIBC_2.2.5"); -__asm__(".symver coshf,coshf@GLIBC_2.2.5"); -__asm__(".symver coshl,coshl@GLIBC_2.2.5"); -__asm__(".symver cosl,cosl@GLIBC_2.2.5"); -__asm__(".symver cpow,cpow@GLIBC_2.2.5"); -__asm__(".symver cpowf,cpowf@GLIBC_2.2.5"); -__asm__(".symver cpowl,cpowl@GLIBC_2.2.5"); -__asm__(".symver cproj,cproj@GLIBC_2.2.5"); -__asm__(".symver cprojf,cprojf@GLIBC_2.2.5"); -__asm__(".symver cprojl,cprojl@GLIBC_2.2.5"); -__asm__(".symver creal,creal@GLIBC_2.2.5"); -__asm__(".symver crealf,crealf@GLIBC_2.2.5"); -__asm__(".symver creall,creall@GLIBC_2.2.5"); -__asm__(".symver creat,creat@GLIBC_2.2.5"); -__asm__(".symver creat64,creat64@GLIBC_2.2.5"); -__asm__(".symver create_module,create_module@GLIBC_2.2.5"); -__asm__(".symver crypt,crypt@GLIBC_2.2.5"); -__asm__(".symver crypt_r,crypt_r@GLIBC_2.2.5"); -__asm__(".symver csin,csin@GLIBC_2.2.5"); -__asm__(".symver csinf,csinf@GLIBC_2.2.5"); -__asm__(".symver csinh,csinh@GLIBC_2.2.5"); -__asm__(".symver csinhf,csinhf@GLIBC_2.2.5"); -__asm__(".symver csinhl,csinhl@GLIBC_2.2.5"); -__asm__(".symver csinl,csinl@GLIBC_2.2.5"); -__asm__(".symver csqrt,csqrt@GLIBC_2.2.5"); -__asm__(".symver csqrtf,csqrtf@GLIBC_2.2.5"); -__asm__(".symver csqrtl,csqrtl@GLIBC_2.2.5"); -__asm__(".symver ctan,ctan@GLIBC_2.2.5"); -__asm__(".symver ctanf,ctanf@GLIBC_2.2.5"); -__asm__(".symver ctanh,ctanh@GLIBC_2.2.5"); -__asm__(".symver ctanhf,ctanhf@GLIBC_2.2.5"); -__asm__(".symver ctanhl,ctanhl@GLIBC_2.2.5"); -__asm__(".symver ctanl,ctanl@GLIBC_2.2.5"); -__asm__(".symver ctermid,ctermid@GLIBC_2.2.5"); -__asm__(".symver ctime,ctime@GLIBC_2.2.5"); -__asm__(".symver ctime_r,ctime_r@GLIBC_2.2.5"); -__asm__(".symver cuserid,cuserid@GLIBC_2.2.5"); -__asm__(".symver daemon,daemon@GLIBC_2.2.5"); -__asm__(".symver daylight,daylight@GLIBC_2.2.5"); -__asm__(".symver dcgettext,dcgettext@GLIBC_2.2.5"); -__asm__(".symver dcngettext,dcngettext@GLIBC_2.2.5"); -__asm__(".symver delete_module,delete_module@GLIBC_2.2.5"); -__asm__(".symver des_setparity,des_setparity@GLIBC_2.2.5"); -__asm__(".symver dgettext,dgettext@GLIBC_2.2.5"); -__asm__(".symver difftime,difftime@GLIBC_2.2.5"); -__asm__(".symver dirfd,dirfd@GLIBC_2.2.5"); -__asm__(".symver dirname,dirname@GLIBC_2.2.5"); -__asm__(".symver div,div@GLIBC_2.2.5"); -__asm__(".symver dl_iterate_phdr,dl_iterate_phdr@GLIBC_2.2.5"); -__asm__(".symver dladdr,dladdr@GLIBC_2.2.5"); -__asm__(".symver dladdr1,dladdr1@GLIBC_2.3.3"); -__asm__(".symver dlclose,dlclose@GLIBC_2.2.5"); -__asm__(".symver dlerror,dlerror@GLIBC_2.2.5"); -__asm__(".symver dlinfo,dlinfo@GLIBC_2.3.3"); -__asm__(".symver dlmopen,dlmopen@GLIBC_2.3.4"); -__asm__(".symver dlopen,dlopen@GLIBC_2.2.5"); -__asm__(".symver dlsym,dlsym@GLIBC_2.2.5"); -__asm__(".symver dlvsym,dlvsym@GLIBC_2.2.5"); -__asm__(".symver dngettext,dngettext@GLIBC_2.2.5"); -__asm__(".symver dprintf,dprintf@GLIBC_2.2.5"); -__asm__(".symver drand48,drand48@GLIBC_2.2.5"); -__asm__(".symver drand48_r,drand48_r@GLIBC_2.2.5"); -__asm__(".symver drem,drem@GLIBC_2.2.5"); -__asm__(".symver dremf,dremf@GLIBC_2.2.5"); -__asm__(".symver dreml,dreml@GLIBC_2.2.5"); -__asm__(".symver dup,dup@GLIBC_2.2.5"); -__asm__(".symver dup2,dup2@GLIBC_2.2.5"); -__asm__(".symver duplocale,duplocale@GLIBC_2.3"); -__asm__(".symver dysize,dysize@GLIBC_2.2.5"); -__asm__(".symver eaccess,eaccess@GLIBC_2.4"); -__asm__(".symver ecb_crypt,ecb_crypt@GLIBC_2.2.5"); -__asm__(".symver ecvt,ecvt@GLIBC_2.2.5"); -__asm__(".symver ecvt_r,ecvt_r@GLIBC_2.2.5"); -__asm__(".symver encrypt,encrypt@GLIBC_2.2.5"); -__asm__(".symver encrypt_r,encrypt_r@GLIBC_2.2.5"); -__asm__(".symver endaliasent,endaliasent@GLIBC_2.2.5"); -__asm__(".symver endfsent,endfsent@GLIBC_2.2.5"); -__asm__(".symver endgrent,endgrent@GLIBC_2.2.5"); -__asm__(".symver endhostent,endhostent@GLIBC_2.2.5"); -__asm__(".symver endmntent,endmntent@GLIBC_2.2.5"); -__asm__(".symver endnetent,endnetent@GLIBC_2.2.5"); -__asm__(".symver endnetgrent,endnetgrent@GLIBC_2.2.5"); -__asm__(".symver endprotoent,endprotoent@GLIBC_2.2.5"); -__asm__(".symver endpwent,endpwent@GLIBC_2.2.5"); -__asm__(".symver endrpcent,endrpcent@GLIBC_2.2.5"); -__asm__(".symver endservent,endservent@GLIBC_2.2.5"); -__asm__(".symver endspent,endspent@GLIBC_2.2.5"); -__asm__(".symver endttyent,endttyent@GLIBC_2.2.5"); -__asm__(".symver endusershell,endusershell@GLIBC_2.2.5"); -__asm__(".symver endutent,endutent@GLIBC_2.2.5"); -__asm__(".symver endutxent,endutxent@GLIBC_2.2.5"); -__asm__(".symver environ,environ@GLIBC_2.2.5"); -__asm__(".symver envz_add,envz_add@GLIBC_2.2.5"); -__asm__(".symver envz_entry,envz_entry@GLIBC_2.2.5"); -__asm__(".symver envz_get,envz_get@GLIBC_2.2.5"); -__asm__(".symver envz_merge,envz_merge@GLIBC_2.2.5"); -__asm__(".symver envz_remove,envz_remove@GLIBC_2.2.5"); -__asm__(".symver envz_strip,envz_strip@GLIBC_2.2.5"); -__asm__(".symver epoll_create,epoll_create@GLIBC_2.3.2"); -__asm__(".symver epoll_ctl,epoll_ctl@GLIBC_2.3.2"); -__asm__(".symver epoll_wait,epoll_wait@GLIBC_2.3.2"); -__asm__(".symver erand48,erand48@GLIBC_2.2.5"); -__asm__(".symver erand48_r,erand48_r@GLIBC_2.2.5"); -__asm__(".symver erf,erf@GLIBC_2.2.5"); -__asm__(".symver erfc,erfc@GLIBC_2.2.5"); -__asm__(".symver erfcf,erfcf@GLIBC_2.2.5"); -__asm__(".symver erfcl,erfcl@GLIBC_2.2.5"); -__asm__(".symver erff,erff@GLIBC_2.2.5"); -__asm__(".symver erfl,erfl@GLIBC_2.2.5"); -__asm__(".symver err,err@GLIBC_2.2.5"); -__asm__(".symver error,error@GLIBC_2.2.5"); -__asm__(".symver error_at_line,error_at_line@GLIBC_2.2.5"); -__asm__(".symver error_message_count,error_message_count@GLIBC_2.2.5"); -__asm__(".symver error_one_per_line,error_one_per_line@GLIBC_2.2.5"); -__asm__(".symver error_print_progname,error_print_progname@GLIBC_2.2.5"); -__asm__(".symver errx,errx@GLIBC_2.2.5"); -__asm__(".symver ether_aton,ether_aton@GLIBC_2.2.5"); -__asm__(".symver ether_aton_r,ether_aton_r@GLIBC_2.2.5"); -__asm__(".symver ether_hostton,ether_hostton@GLIBC_2.2.5"); -__asm__(".symver ether_line,ether_line@GLIBC_2.2.5"); -__asm__(".symver ether_ntoa,ether_ntoa@GLIBC_2.2.5"); -__asm__(".symver ether_ntoa_r,ether_ntoa_r@GLIBC_2.2.5"); -__asm__(".symver ether_ntohost,ether_ntohost@GLIBC_2.2.5"); -__asm__(".symver euidaccess,euidaccess@GLIBC_2.2.5"); -__asm__(".symver execl,execl@GLIBC_2.2.5"); -__asm__(".symver execle,execle@GLIBC_2.2.5"); -__asm__(".symver execlp,execlp@GLIBC_2.2.5"); -__asm__(".symver execv,execv@GLIBC_2.2.5"); -__asm__(".symver execve,execve@GLIBC_2.2.5"); -__asm__(".symver execvp,execvp@GLIBC_2.2.5"); -__asm__(".symver exit,exit@GLIBC_2.2.5"); -__asm__(".symver exp,exp@GLIBC_2.2.5"); -__asm__(".symver exp10,exp10@GLIBC_2.2.5"); -__asm__(".symver exp10f,exp10f@GLIBC_2.2.5"); -__asm__(".symver exp10l,exp10l@GLIBC_2.2.5"); -__asm__(".symver exp2,exp2@GLIBC_2.2.5"); -__asm__(".symver exp2f,exp2f@GLIBC_2.2.5"); -__asm__(".symver exp2l,exp2l@GLIBC_2.2.5"); -__asm__(".symver expf,expf@GLIBC_2.2.5"); -__asm__(".symver expl,expl@GLIBC_2.2.5"); -__asm__(".symver expm1,expm1@GLIBC_2.2.5"); -__asm__(".symver expm1f,expm1f@GLIBC_2.2.5"); -__asm__(".symver expm1l,expm1l@GLIBC_2.2.5"); -__asm__(".symver fabs,fabs@GLIBC_2.2.5"); -__asm__(".symver fabsf,fabsf@GLIBC_2.2.5"); -__asm__(".symver fabsl,fabsl@GLIBC_2.2.5"); -__asm__(".symver faccessat,faccessat@GLIBC_2.4"); -__asm__(".symver fattach,fattach@GLIBC_2.2.5"); -__asm__(".symver fchdir,fchdir@GLIBC_2.2.5"); -__asm__(".symver fchflags,fchflags@GLIBC_2.2.5"); -__asm__(".symver fchmod,fchmod@GLIBC_2.2.5"); -__asm__(".symver fchmodat,fchmodat@GLIBC_2.4"); -__asm__(".symver fchown,fchown@GLIBC_2.2.5"); -__asm__(".symver fchownat,fchownat@GLIBC_2.4"); -__asm__(".symver fclose,fclose@GLIBC_2.2.5"); -__asm__(".symver fcloseall,fcloseall@GLIBC_2.2.5"); -__asm__(".symver fcntl,fcntl@GLIBC_2.2.5"); -__asm__(".symver fcrypt,fcrypt@GLIBC_2.2.5"); -__asm__(".symver fcvt,fcvt@GLIBC_2.2.5"); -__asm__(".symver fcvt_r,fcvt_r@GLIBC_2.2.5"); -__asm__(".symver fdatasync,fdatasync@GLIBC_2.2.5"); -__asm__(".symver fdetach,fdetach@GLIBC_2.2.5"); -__asm__(".symver fdim,fdim@GLIBC_2.2.5"); -__asm__(".symver fdimf,fdimf@GLIBC_2.2.5"); -__asm__(".symver fdiml,fdiml@GLIBC_2.2.5"); -__asm__(".symver fdopen,fdopen@GLIBC_2.2.5"); -__asm__(".symver fdopendir,fdopendir@GLIBC_2.4"); -__asm__(".symver feclearexcept,feclearexcept@GLIBC_2.2.5"); -__asm__(".symver fedisableexcept,fedisableexcept@GLIBC_2.2.5"); -__asm__(".symver feenableexcept,feenableexcept@GLIBC_2.2.5"); -__asm__(".symver fegetenv,fegetenv@GLIBC_2.2.5"); -__asm__(".symver fegetexcept,fegetexcept@GLIBC_2.2.5"); -__asm__(".symver fegetexceptflag,fegetexceptflag@GLIBC_2.2.5"); -__asm__(".symver fegetround,fegetround@GLIBC_2.2.5"); -__asm__(".symver feholdexcept,feholdexcept@GLIBC_2.2.5"); -__asm__(".symver feof,feof@GLIBC_2.2.5"); -__asm__(".symver feof_unlocked,feof_unlocked@GLIBC_2.2.5"); -__asm__(".symver feraiseexcept,feraiseexcept@GLIBC_2.2.5"); -__asm__(".symver ferror,ferror@GLIBC_2.2.5"); -__asm__(".symver ferror_unlocked,ferror_unlocked@GLIBC_2.2.5"); -__asm__(".symver fesetenv,fesetenv@GLIBC_2.2.5"); -__asm__(".symver fesetexceptflag,fesetexceptflag@GLIBC_2.2.5"); -__asm__(".symver fesetround,fesetround@GLIBC_2.2.5"); -__asm__(".symver fetestexcept,fetestexcept@GLIBC_2.2.5"); -__asm__(".symver feupdateenv,feupdateenv@GLIBC_2.2.5"); -__asm__(".symver fexecve,fexecve@GLIBC_2.2.5"); -__asm__(".symver fflush,fflush@GLIBC_2.2.5"); -__asm__(".symver fflush_unlocked,fflush_unlocked@GLIBC_2.2.5"); -__asm__(".symver ffs,ffs@GLIBC_2.2.5"); -__asm__(".symver ffsl,ffsl@GLIBC_2.2.5"); -__asm__(".symver ffsll,ffsll@GLIBC_2.2.5"); -__asm__(".symver fgetc,fgetc@GLIBC_2.2.5"); -__asm__(".symver fgetc_unlocked,fgetc_unlocked@GLIBC_2.2.5"); -__asm__(".symver fgetgrent,fgetgrent@GLIBC_2.2.5"); -__asm__(".symver fgetgrent_r,fgetgrent_r@GLIBC_2.2.5"); -__asm__(".symver fgetpos,fgetpos@GLIBC_2.2.5"); -__asm__(".symver fgetpos64,fgetpos64@GLIBC_2.2.5"); -__asm__(".symver fgetpwent,fgetpwent@GLIBC_2.2.5"); -__asm__(".symver fgetpwent_r,fgetpwent_r@GLIBC_2.2.5"); -__asm__(".symver fgets,fgets@GLIBC_2.2.5"); -__asm__(".symver fgets_unlocked,fgets_unlocked@GLIBC_2.2.5"); -__asm__(".symver fgetspent,fgetspent@GLIBC_2.2.5"); -__asm__(".symver fgetspent_r,fgetspent_r@GLIBC_2.2.5"); -__asm__(".symver fgetwc,fgetwc@GLIBC_2.2.5"); -__asm__(".symver fgetwc_unlocked,fgetwc_unlocked@GLIBC_2.2.5"); -__asm__(".symver fgetws,fgetws@GLIBC_2.2.5"); -__asm__(".symver fgetws_unlocked,fgetws_unlocked@GLIBC_2.2.5"); -__asm__(".symver fgetxattr,fgetxattr@GLIBC_2.3"); -__asm__(".symver fileno,fileno@GLIBC_2.2.5"); -__asm__(".symver fileno_unlocked,fileno_unlocked@GLIBC_2.2.5"); -__asm__(".symver finite,finite@GLIBC_2.2.5"); -__asm__(".symver finitef,finitef@GLIBC_2.2.5"); -__asm__(".symver finitel,finitel@GLIBC_2.2.5"); -__asm__(".symver flistxattr,flistxattr@GLIBC_2.3"); -__asm__(".symver flock,flock@GLIBC_2.2.5"); -__asm__(".symver flockfile,flockfile@GLIBC_2.2.5"); -__asm__(".symver floor,floor@GLIBC_2.2.5"); -__asm__(".symver floorf,floorf@GLIBC_2.2.5"); -__asm__(".symver floorl,floorl@GLIBC_2.2.5"); -__asm__(".symver fma,fma@GLIBC_2.2.5"); -__asm__(".symver fmaf,fmaf@GLIBC_2.2.5"); -__asm__(".symver fmal,fmal@GLIBC_2.2.5"); -__asm__(".symver fmax,fmax@GLIBC_2.2.5"); -__asm__(".symver fmaxf,fmaxf@GLIBC_2.2.5"); -__asm__(".symver fmaxl,fmaxl@GLIBC_2.2.5"); -__asm__(".symver fmemopen,fmemopen@GLIBC_2.2.5"); -__asm__(".symver fmin,fmin@GLIBC_2.2.5"); -__asm__(".symver fminf,fminf@GLIBC_2.2.5"); -__asm__(".symver fminl,fminl@GLIBC_2.2.5"); -__asm__(".symver fmod,fmod@GLIBC_2.2.5"); -__asm__(".symver fmodf,fmodf@GLIBC_2.2.5"); -__asm__(".symver fmodl,fmodl@GLIBC_2.2.5"); -__asm__(".symver fmtmsg,fmtmsg@GLIBC_2.2.5"); -__asm__(".symver fnmatch,fnmatch@GLIBC_2.2.5"); -__asm__(".symver fopen,fopen@GLIBC_2.2.5"); -__asm__(".symver fopen64,fopen64@GLIBC_2.2.5"); -__asm__(".symver fopencookie,fopencookie@GLIBC_2.2.5"); -__asm__(".symver fork,fork@GLIBC_2.2.5"); -__asm__(".symver forkpty,forkpty@GLIBC_2.2.5"); -__asm__(".symver fpathconf,fpathconf@GLIBC_2.2.5"); -__asm__(".symver fprintf,fprintf@GLIBC_2.2.5"); -__asm__(".symver fputc,fputc@GLIBC_2.2.5"); -__asm__(".symver fputc_unlocked,fputc_unlocked@GLIBC_2.2.5"); -__asm__(".symver fputs,fputs@GLIBC_2.2.5"); -__asm__(".symver fputs_unlocked,fputs_unlocked@GLIBC_2.2.5"); -__asm__(".symver fputwc,fputwc@GLIBC_2.2.5"); -__asm__(".symver fputwc_unlocked,fputwc_unlocked@GLIBC_2.2.5"); -__asm__(".symver fputws,fputws@GLIBC_2.2.5"); -__asm__(".symver fputws_unlocked,fputws_unlocked@GLIBC_2.2.5"); -__asm__(".symver fread,fread@GLIBC_2.2.5"); -__asm__(".symver fread_unlocked,fread_unlocked@GLIBC_2.2.5"); -__asm__(".symver free,free@GLIBC_2.2.5"); -__asm__(".symver freeaddrinfo,freeaddrinfo@GLIBC_2.2.5"); -__asm__(".symver freeifaddrs,freeifaddrs@GLIBC_2.3"); -__asm__(".symver freelocale,freelocale@GLIBC_2.3"); -__asm__(".symver fremovexattr,fremovexattr@GLIBC_2.3"); -__asm__(".symver freopen,freopen@GLIBC_2.2.5"); -__asm__(".symver freopen64,freopen64@GLIBC_2.2.5"); -__asm__(".symver frexp,frexp@GLIBC_2.2.5"); -__asm__(".symver frexpf,frexpf@GLIBC_2.2.5"); -__asm__(".symver frexpl,frexpl@GLIBC_2.2.5"); -__asm__(".symver fscanf,fscanf@GLIBC_2.2.5"); -__asm__(".symver fseek,fseek@GLIBC_2.2.5"); -__asm__(".symver fseeko,fseeko@GLIBC_2.2.5"); -__asm__(".symver fseeko64,fseeko64@GLIBC_2.2.5"); -__asm__(".symver fsetpos,fsetpos@GLIBC_2.2.5"); -__asm__(".symver fsetpos64,fsetpos64@GLIBC_2.2.5"); -__asm__(".symver fsetxattr,fsetxattr@GLIBC_2.3"); -__asm__(".symver fstatfs,fstatfs@GLIBC_2.2.5"); -__asm__(".symver fstatfs64,fstatfs64@GLIBC_2.2.5"); -__asm__(".symver fstatvfs,fstatvfs@GLIBC_2.2.5"); -__asm__(".symver fstatvfs64,fstatvfs64@GLIBC_2.2.5"); -__asm__(".symver fsync,fsync@GLIBC_2.2.5"); -__asm__(".symver ftell,ftell@GLIBC_2.2.5"); -__asm__(".symver ftello,ftello@GLIBC_2.2.5"); -__asm__(".symver ftello64,ftello64@GLIBC_2.2.5"); -__asm__(".symver ftime,ftime@GLIBC_2.2.5"); -__asm__(".symver ftok,ftok@GLIBC_2.2.5"); -__asm__(".symver ftruncate,ftruncate@GLIBC_2.2.5"); -__asm__(".symver ftruncate64,ftruncate64@GLIBC_2.2.5"); -__asm__(".symver ftrylockfile,ftrylockfile@GLIBC_2.2.5"); -__asm__(".symver fts_children,fts_children@GLIBC_2.2.5"); -__asm__(".symver fts_close,fts_close@GLIBC_2.2.5"); -__asm__(".symver fts_open,fts_open@GLIBC_2.2.5"); -__asm__(".symver fts_read,fts_read@GLIBC_2.2.5"); -__asm__(".symver fts_set,fts_set@GLIBC_2.2.5"); -__asm__(".symver ftw,ftw@GLIBC_2.2.5"); -__asm__(".symver ftw64,ftw64@GLIBC_2.2.5"); -__asm__(".symver funlockfile,funlockfile@GLIBC_2.2.5"); -__asm__(".symver futimes,futimes@GLIBC_2.3"); -__asm__(".symver futimesat,futimesat@GLIBC_2.4"); -__asm__(".symver fwide,fwide@GLIBC_2.2.5"); -__asm__(".symver fwprintf,fwprintf@GLIBC_2.2.5"); -__asm__(".symver fwrite,fwrite@GLIBC_2.2.5"); -__asm__(".symver fwrite_unlocked,fwrite_unlocked@GLIBC_2.2.5"); -__asm__(".symver fwscanf,fwscanf@GLIBC_2.2.5"); -__asm__(".symver gai_cancel,gai_cancel@GLIBC_2.2.5"); -__asm__(".symver gai_error,gai_error@GLIBC_2.2.5"); -__asm__(".symver gai_strerror,gai_strerror@GLIBC_2.2.5"); -__asm__(".symver gai_suspend,gai_suspend@GLIBC_2.2.5"); -__asm__(".symver gamma,gamma@GLIBC_2.2.5"); -__asm__(".symver gammaf,gammaf@GLIBC_2.2.5"); -__asm__(".symver gammal,gammal@GLIBC_2.2.5"); -__asm__(".symver gcvt,gcvt@GLIBC_2.2.5"); -__asm__(".symver get_avphys_pages,get_avphys_pages@GLIBC_2.2.5"); -__asm__(".symver get_current_dir_name,get_current_dir_name@GLIBC_2.2.5"); -__asm__(".symver get_kernel_syms,get_kernel_syms@GLIBC_2.2.5"); -__asm__(".symver get_myaddress,get_myaddress@GLIBC_2.2.5"); -__asm__(".symver get_nprocs,get_nprocs@GLIBC_2.2.5"); -__asm__(".symver get_nprocs_conf,get_nprocs_conf@GLIBC_2.2.5"); -__asm__(".symver get_phys_pages,get_phys_pages@GLIBC_2.2.5"); -__asm__(".symver getaddrinfo,getaddrinfo@GLIBC_2.2.5"); -__asm__(".symver getaddrinfo_a,getaddrinfo_a@GLIBC_2.2.5"); -__asm__(".symver getaliasbyname,getaliasbyname@GLIBC_2.2.5"); -__asm__(".symver getaliasbyname_r,getaliasbyname_r@GLIBC_2.2.5"); -__asm__(".symver getaliasent,getaliasent@GLIBC_2.2.5"); -__asm__(".symver getaliasent_r,getaliasent_r@GLIBC_2.2.5"); -__asm__(".symver getc,getc@GLIBC_2.2.5"); -__asm__(".symver getc_unlocked,getc_unlocked@GLIBC_2.2.5"); -__asm__(".symver getchar,getchar@GLIBC_2.2.5"); -__asm__(".symver getchar_unlocked,getchar_unlocked@GLIBC_2.2.5"); -__asm__(".symver getcontext,getcontext@GLIBC_2.2.5"); -__asm__(".symver getcwd,getcwd@GLIBC_2.2.5"); -__asm__(".symver getdate,getdate@GLIBC_2.2.5"); -__asm__(".symver getdate_err,getdate_err@GLIBC_2.2.5"); -__asm__(".symver getdate_r,getdate_r@GLIBC_2.2.5"); -__asm__(".symver getdelim,getdelim@GLIBC_2.2.5"); -__asm__(".symver getdirentries,getdirentries@GLIBC_2.2.5"); -__asm__(".symver getdirentries64,getdirentries64@GLIBC_2.2.5"); -__asm__(".symver getdomainname,getdomainname@GLIBC_2.2.5"); -__asm__(".symver getdtablesize,getdtablesize@GLIBC_2.2.5"); -__asm__(".symver getegid,getegid@GLIBC_2.2.5"); -__asm__(".symver getenv,getenv@GLIBC_2.2.5"); -__asm__(".symver geteuid,geteuid@GLIBC_2.2.5"); -__asm__(".symver getfsent,getfsent@GLIBC_2.2.5"); -__asm__(".symver getfsfile,getfsfile@GLIBC_2.2.5"); -__asm__(".symver getfsspec,getfsspec@GLIBC_2.2.5"); -__asm__(".symver getgid,getgid@GLIBC_2.2.5"); -__asm__(".symver getgrent,getgrent@GLIBC_2.2.5"); -__asm__(".symver getgrent_r,getgrent_r@GLIBC_2.2.5"); -__asm__(".symver getgrgid,getgrgid@GLIBC_2.2.5"); -__asm__(".symver getgrgid_r,getgrgid_r@GLIBC_2.2.5"); -__asm__(".symver getgrnam,getgrnam@GLIBC_2.2.5"); -__asm__(".symver getgrnam_r,getgrnam_r@GLIBC_2.2.5"); -__asm__(".symver getgrouplist,getgrouplist@GLIBC_2.2.5"); -__asm__(".symver getgroups,getgroups@GLIBC_2.2.5"); -__asm__(".symver gethostbyaddr,gethostbyaddr@GLIBC_2.2.5"); -__asm__(".symver gethostbyaddr_r,gethostbyaddr_r@GLIBC_2.2.5"); -__asm__(".symver gethostbyname,gethostbyname@GLIBC_2.2.5"); -__asm__(".symver gethostbyname2,gethostbyname2@GLIBC_2.2.5"); -__asm__(".symver gethostbyname2_r,gethostbyname2_r@GLIBC_2.2.5"); -__asm__(".symver gethostbyname_r,gethostbyname_r@GLIBC_2.2.5"); -__asm__(".symver gethostent,gethostent@GLIBC_2.2.5"); -__asm__(".symver gethostent_r,gethostent_r@GLIBC_2.2.5"); -__asm__(".symver gethostid,gethostid@GLIBC_2.2.5"); -__asm__(".symver gethostname,gethostname@GLIBC_2.2.5"); -__asm__(".symver getifaddrs,getifaddrs@GLIBC_2.3"); -__asm__(".symver getipv4sourcefilter,getipv4sourcefilter@GLIBC_2.3.4"); -__asm__(".symver getitimer,getitimer@GLIBC_2.2.5"); -__asm__(".symver getline,getline@GLIBC_2.2.5"); -__asm__(".symver getloadavg,getloadavg@GLIBC_2.2.5"); -__asm__(".symver getlogin,getlogin@GLIBC_2.2.5"); -__asm__(".symver getlogin_r,getlogin_r@GLIBC_2.2.5"); -__asm__(".symver getmntent,getmntent@GLIBC_2.2.5"); -__asm__(".symver getmntent_r,getmntent_r@GLIBC_2.2.5"); -__asm__(".symver getmsg,getmsg@GLIBC_2.2.5"); -__asm__(".symver getnameinfo,getnameinfo@GLIBC_2.2.5"); -__asm__(".symver getnetbyaddr,getnetbyaddr@GLIBC_2.2.5"); -__asm__(".symver getnetbyaddr_r,getnetbyaddr_r@GLIBC_2.2.5"); -__asm__(".symver getnetbyname,getnetbyname@GLIBC_2.2.5"); -__asm__(".symver getnetbyname_r,getnetbyname_r@GLIBC_2.2.5"); -__asm__(".symver getnetent,getnetent@GLIBC_2.2.5"); -__asm__(".symver getnetent_r,getnetent_r@GLIBC_2.2.5"); -__asm__(".symver getnetgrent,getnetgrent@GLIBC_2.2.5"); -__asm__(".symver getnetgrent_r,getnetgrent_r@GLIBC_2.2.5"); -__asm__(".symver getnetname,getnetname@GLIBC_2.2.5"); -__asm__(".symver getopt,getopt@GLIBC_2.2.5"); -__asm__(".symver getopt_long,getopt_long@GLIBC_2.2.5"); -__asm__(".symver getopt_long_only,getopt_long_only@GLIBC_2.2.5"); -__asm__(".symver getpagesize,getpagesize@GLIBC_2.2.5"); -__asm__(".symver getpass,getpass@GLIBC_2.2.5"); -__asm__(".symver getpeername,getpeername@GLIBC_2.2.5"); -__asm__(".symver getpgid,getpgid@GLIBC_2.2.5"); -__asm__(".symver getpgrp,getpgrp@GLIBC_2.2.5"); -__asm__(".symver getpid,getpid@GLIBC_2.2.5"); -__asm__(".symver getpmsg,getpmsg@GLIBC_2.2.5"); -__asm__(".symver getppid,getppid@GLIBC_2.2.5"); -__asm__(".symver getpriority,getpriority@GLIBC_2.2.5"); -__asm__(".symver getprotobyname,getprotobyname@GLIBC_2.2.5"); -__asm__(".symver getprotobyname_r,getprotobyname_r@GLIBC_2.2.5"); -__asm__(".symver getprotobynumber,getprotobynumber@GLIBC_2.2.5"); -__asm__(".symver getprotobynumber_r,getprotobynumber_r@GLIBC_2.2.5"); -__asm__(".symver getprotoent,getprotoent@GLIBC_2.2.5"); -__asm__(".symver getprotoent_r,getprotoent_r@GLIBC_2.2.5"); -__asm__(".symver getpt,getpt@GLIBC_2.2.5"); -__asm__(".symver getpublickey,getpublickey@GLIBC_2.2.5"); -__asm__(".symver getpw,getpw@GLIBC_2.2.5"); -__asm__(".symver getpwent,getpwent@GLIBC_2.2.5"); -__asm__(".symver getpwent_r,getpwent_r@GLIBC_2.2.5"); -__asm__(".symver getpwnam,getpwnam@GLIBC_2.2.5"); -__asm__(".symver getpwnam_r,getpwnam_r@GLIBC_2.2.5"); -__asm__(".symver getpwuid,getpwuid@GLIBC_2.2.5"); -__asm__(".symver getpwuid_r,getpwuid_r@GLIBC_2.2.5"); -__asm__(".symver getresgid,getresgid@GLIBC_2.2.5"); -__asm__(".symver getresuid,getresuid@GLIBC_2.2.5"); -__asm__(".symver getrlimit,getrlimit@GLIBC_2.2.5"); -__asm__(".symver getrlimit64,getrlimit64@GLIBC_2.2.5"); -__asm__(".symver getrpcbyname,getrpcbyname@GLIBC_2.2.5"); -__asm__(".symver getrpcbyname_r,getrpcbyname_r@GLIBC_2.2.5"); -__asm__(".symver getrpcbynumber,getrpcbynumber@GLIBC_2.2.5"); -__asm__(".symver getrpcbynumber_r,getrpcbynumber_r@GLIBC_2.2.5"); -__asm__(".symver getrpcent,getrpcent@GLIBC_2.2.5"); -__asm__(".symver getrpcent_r,getrpcent_r@GLIBC_2.2.5"); -__asm__(".symver getrpcport,getrpcport@GLIBC_2.2.5"); -__asm__(".symver getrusage,getrusage@GLIBC_2.2.5"); -__asm__(".symver gets,gets@GLIBC_2.2.5"); -__asm__(".symver getsecretkey,getsecretkey@GLIBC_2.2.5"); -__asm__(".symver getservbyname,getservbyname@GLIBC_2.2.5"); -__asm__(".symver getservbyname_r,getservbyname_r@GLIBC_2.2.5"); -__asm__(".symver getservbyport,getservbyport@GLIBC_2.2.5"); -__asm__(".symver getservbyport_r,getservbyport_r@GLIBC_2.2.5"); -__asm__(".symver getservent,getservent@GLIBC_2.2.5"); -__asm__(".symver getservent_r,getservent_r@GLIBC_2.2.5"); -__asm__(".symver getsid,getsid@GLIBC_2.2.5"); -__asm__(".symver getsockname,getsockname@GLIBC_2.2.5"); -__asm__(".symver getsockopt,getsockopt@GLIBC_2.2.5"); -__asm__(".symver getsourcefilter,getsourcefilter@GLIBC_2.3.4"); -__asm__(".symver getspent,getspent@GLIBC_2.2.5"); -__asm__(".symver getspent_r,getspent_r@GLIBC_2.2.5"); -__asm__(".symver getspnam,getspnam@GLIBC_2.2.5"); -__asm__(".symver getspnam_r,getspnam_r@GLIBC_2.2.5"); -__asm__(".symver getsubopt,getsubopt@GLIBC_2.2.5"); -__asm__(".symver gettext,gettext@GLIBC_2.2.5"); -__asm__(".symver gettimeofday,gettimeofday@GLIBC_2.2.5"); -__asm__(".symver getttyent,getttyent@GLIBC_2.2.5"); -__asm__(".symver getttynam,getttynam@GLIBC_2.2.5"); -__asm__(".symver getuid,getuid@GLIBC_2.2.5"); -__asm__(".symver getusershell,getusershell@GLIBC_2.2.5"); -__asm__(".symver getutent,getutent@GLIBC_2.2.5"); -__asm__(".symver getutent_r,getutent_r@GLIBC_2.2.5"); -__asm__(".symver getutid,getutid@GLIBC_2.2.5"); -__asm__(".symver getutid_r,getutid_r@GLIBC_2.2.5"); -__asm__(".symver getutline,getutline@GLIBC_2.2.5"); -__asm__(".symver getutline_r,getutline_r@GLIBC_2.2.5"); -__asm__(".symver getutmp,getutmp@GLIBC_2.2.5"); -__asm__(".symver getutmpx,getutmpx@GLIBC_2.2.5"); -__asm__(".symver getutxent,getutxent@GLIBC_2.2.5"); -__asm__(".symver getutxid,getutxid@GLIBC_2.2.5"); -__asm__(".symver getutxline,getutxline@GLIBC_2.2.5"); -__asm__(".symver getw,getw@GLIBC_2.2.5"); -__asm__(".symver getwc,getwc@GLIBC_2.2.5"); -__asm__(".symver getwc_unlocked,getwc_unlocked@GLIBC_2.2.5"); -__asm__(".symver getwchar,getwchar@GLIBC_2.2.5"); -__asm__(".symver getwchar_unlocked,getwchar_unlocked@GLIBC_2.2.5"); -__asm__(".symver getwd,getwd@GLIBC_2.2.5"); -__asm__(".symver getxattr,getxattr@GLIBC_2.3"); -__asm__(".symver glob,glob@GLIBC_2.2.5"); -__asm__(".symver glob64,glob64@GLIBC_2.2.5"); -__asm__(".symver glob_pattern_p,glob_pattern_p@GLIBC_2.2.5"); -__asm__(".symver globfree,globfree@GLIBC_2.2.5"); -__asm__(".symver globfree64,globfree64@GLIBC_2.2.5"); -__asm__(".symver gmtime,gmtime@GLIBC_2.2.5"); -__asm__(".symver gmtime_r,gmtime_r@GLIBC_2.2.5"); -__asm__(".symver gnu_dev_major,gnu_dev_major@GLIBC_2.3.3"); -__asm__(".symver gnu_dev_makedev,gnu_dev_makedev@GLIBC_2.3.3"); -__asm__(".symver gnu_dev_minor,gnu_dev_minor@GLIBC_2.3.3"); -__asm__(".symver gnu_get_libc_release,gnu_get_libc_release@GLIBC_2.2.5"); -__asm__(".symver gnu_get_libc_version,gnu_get_libc_version@GLIBC_2.2.5"); -__asm__(".symver grantpt,grantpt@GLIBC_2.2.5"); -__asm__(".symver group_member,group_member@GLIBC_2.2.5"); -__asm__(".symver gsignal,gsignal@GLIBC_2.2.5"); -__asm__(".symver gtty,gtty@GLIBC_2.2.5"); -__asm__(".symver h_errlist,h_errlist@GLIBC_2.2.5"); -__asm__(".symver h_nerr,h_nerr@GLIBC_2.2.5"); -__asm__(".symver hasmntopt,hasmntopt@GLIBC_2.2.5"); -__asm__(".symver hcreate,hcreate@GLIBC_2.2.5"); -__asm__(".symver hcreate_r,hcreate_r@GLIBC_2.2.5"); -__asm__(".symver hdestroy,hdestroy@GLIBC_2.2.5"); -__asm__(".symver hdestroy_r,hdestroy_r@GLIBC_2.2.5"); -__asm__(".symver herror,herror@GLIBC_2.2.5"); -__asm__(".symver host2netname,host2netname@GLIBC_2.2.5"); -__asm__(".symver hsearch,hsearch@GLIBC_2.2.5"); -__asm__(".symver hsearch_r,hsearch_r@GLIBC_2.2.5"); -__asm__(".symver hstrerror,hstrerror@GLIBC_2.2.5"); -__asm__(".symver htonl,htonl@GLIBC_2.2.5"); -__asm__(".symver htons,htons@GLIBC_2.2.5"); -__asm__(".symver hypot,hypot@GLIBC_2.2.5"); -__asm__(".symver hypotf,hypotf@GLIBC_2.2.5"); -__asm__(".symver hypotl,hypotl@GLIBC_2.2.5"); -__asm__(".symver iconv,iconv@GLIBC_2.2.5"); -__asm__(".symver iconv_close,iconv_close@GLIBC_2.2.5"); -__asm__(".symver iconv_open,iconv_open@GLIBC_2.2.5"); -__asm__(".symver if_freenameindex,if_freenameindex@GLIBC_2.2.5"); -__asm__(".symver if_indextoname,if_indextoname@GLIBC_2.2.5"); -__asm__(".symver if_nameindex,if_nameindex@GLIBC_2.2.5"); -__asm__(".symver if_nametoindex,if_nametoindex@GLIBC_2.2.5"); -__asm__(".symver ilogb,ilogb@GLIBC_2.2.5"); -__asm__(".symver ilogbf,ilogbf@GLIBC_2.2.5"); -__asm__(".symver ilogbl,ilogbl@GLIBC_2.2.5"); -__asm__(".symver imaxabs,imaxabs@GLIBC_2.2.5"); -__asm__(".symver imaxdiv,imaxdiv@GLIBC_2.2.5"); -__asm__(".symver in6addr_any,in6addr_any@GLIBC_2.2.5"); -__asm__(".symver in6addr_loopback,in6addr_loopback@GLIBC_2.2.5"); -__asm__(".symver index,index@GLIBC_2.2.5"); -__asm__(".symver inet6_opt_append,inet6_opt_append@GLIBC_2.5"); -__asm__(".symver inet6_opt_find,inet6_opt_find@GLIBC_2.5"); -__asm__(".symver inet6_opt_finish,inet6_opt_finish@GLIBC_2.5"); -__asm__(".symver inet6_opt_get_val,inet6_opt_get_val@GLIBC_2.5"); -__asm__(".symver inet6_opt_init,inet6_opt_init@GLIBC_2.5"); -__asm__(".symver inet6_opt_next,inet6_opt_next@GLIBC_2.5"); -__asm__(".symver inet6_opt_set_val,inet6_opt_set_val@GLIBC_2.5"); -__asm__(".symver inet6_option_alloc,inet6_option_alloc@GLIBC_2.3.3"); -__asm__(".symver inet6_option_append,inet6_option_append@GLIBC_2.3.3"); -__asm__(".symver inet6_option_find,inet6_option_find@GLIBC_2.3.3"); -__asm__(".symver inet6_option_init,inet6_option_init@GLIBC_2.3.3"); -__asm__(".symver inet6_option_next,inet6_option_next@GLIBC_2.3.3"); -__asm__(".symver inet6_option_space,inet6_option_space@GLIBC_2.3.3"); -__asm__(".symver inet6_rth_add,inet6_rth_add@GLIBC_2.5"); -__asm__(".symver inet6_rth_getaddr,inet6_rth_getaddr@GLIBC_2.5"); -__asm__(".symver inet6_rth_init,inet6_rth_init@GLIBC_2.5"); -__asm__(".symver inet6_rth_reverse,inet6_rth_reverse@GLIBC_2.5"); -__asm__(".symver inet6_rth_segments,inet6_rth_segments@GLIBC_2.5"); -__asm__(".symver inet6_rth_space,inet6_rth_space@GLIBC_2.5"); -__asm__(".symver inet_addr,inet_addr@GLIBC_2.2.5"); -__asm__(".symver inet_aton,inet_aton@GLIBC_2.2.5"); -__asm__(".symver inet_lnaof,inet_lnaof@GLIBC_2.2.5"); -__asm__(".symver inet_makeaddr,inet_makeaddr@GLIBC_2.2.5"); -__asm__(".symver inet_net_ntop,inet_net_ntop@GLIBC_2.2.5"); -__asm__(".symver inet_net_pton,inet_net_pton@GLIBC_2.2.5"); -__asm__(".symver inet_neta,inet_neta@GLIBC_2.2.5"); -__asm__(".symver inet_netof,inet_netof@GLIBC_2.2.5"); -__asm__(".symver inet_network,inet_network@GLIBC_2.2.5"); -__asm__(".symver inet_nsap_addr,inet_nsap_addr@GLIBC_2.2.5"); -__asm__(".symver inet_nsap_ntoa,inet_nsap_ntoa@GLIBC_2.2.5"); -__asm__(".symver inet_ntoa,inet_ntoa@GLIBC_2.2.5"); -__asm__(".symver inet_ntop,inet_ntop@GLIBC_2.2.5"); -__asm__(".symver inet_pton,inet_pton@GLIBC_2.2.5"); -__asm__(".symver init_module,init_module@GLIBC_2.2.5"); -__asm__(".symver initgroups,initgroups@GLIBC_2.2.5"); -__asm__(".symver initstate,initstate@GLIBC_2.2.5"); -__asm__(".symver initstate_r,initstate_r@GLIBC_2.2.5"); -__asm__(".symver innetgr,innetgr@GLIBC_2.2.5"); -__asm__(".symver inotify_add_watch,inotify_add_watch@GLIBC_2.4"); -__asm__(".symver inotify_init,inotify_init@GLIBC_2.4"); -__asm__(".symver inotify_rm_watch,inotify_rm_watch@GLIBC_2.4"); -__asm__(".symver insque,insque@GLIBC_2.2.5"); -__asm__(".symver ioctl,ioctl@GLIBC_2.2.5"); -__asm__(".symver ioperm,ioperm@GLIBC_2.2.5"); -__asm__(".symver iopl,iopl@GLIBC_2.2.5"); -__asm__(".symver iruserok,iruserok@GLIBC_2.2.5"); -__asm__(".symver iruserok_af,iruserok_af@GLIBC_2.2.5"); -__asm__(".symver isalnum,isalnum@GLIBC_2.2.5"); -__asm__(".symver isalnum_l,isalnum_l@GLIBC_2.3"); -__asm__(".symver isalpha,isalpha@GLIBC_2.2.5"); -__asm__(".symver isalpha_l,isalpha_l@GLIBC_2.3"); -__asm__(".symver isascii,isascii@GLIBC_2.2.5"); -__asm__(".symver isastream,isastream@GLIBC_2.2.5"); -__asm__(".symver isatty,isatty@GLIBC_2.2.5"); -__asm__(".symver isblank,isblank@GLIBC_2.2.5"); -__asm__(".symver isblank_l,isblank_l@GLIBC_2.3"); -__asm__(".symver iscntrl,iscntrl@GLIBC_2.2.5"); -__asm__(".symver iscntrl_l,iscntrl_l@GLIBC_2.3"); -__asm__(".symver isctype,isctype@GLIBC_2.3"); -__asm__(".symver isdigit,isdigit@GLIBC_2.2.5"); -__asm__(".symver isdigit_l,isdigit_l@GLIBC_2.3"); -__asm__(".symver isfdtype,isfdtype@GLIBC_2.2.5"); -__asm__(".symver isgraph,isgraph@GLIBC_2.2.5"); -__asm__(".symver isgraph_l,isgraph_l@GLIBC_2.3"); -__asm__(".symver isinf,isinf@GLIBC_2.2.5"); -__asm__(".symver isinff,isinff@GLIBC_2.2.5"); -__asm__(".symver isinfl,isinfl@GLIBC_2.2.5"); -__asm__(".symver islower,islower@GLIBC_2.2.5"); -__asm__(".symver islower_l,islower_l@GLIBC_2.3"); -__asm__(".symver isnan,isnan@GLIBC_2.2.5"); -__asm__(".symver isnanf,isnanf@GLIBC_2.2.5"); -__asm__(".symver isnanl,isnanl@GLIBC_2.2.5"); -__asm__(".symver isprint,isprint@GLIBC_2.2.5"); -__asm__(".symver isprint_l,isprint_l@GLIBC_2.3"); -__asm__(".symver ispunct,ispunct@GLIBC_2.2.5"); -__asm__(".symver ispunct_l,ispunct_l@GLIBC_2.3"); -__asm__(".symver isspace,isspace@GLIBC_2.2.5"); -__asm__(".symver isspace_l,isspace_l@GLIBC_2.3"); -__asm__(".symver isupper,isupper@GLIBC_2.2.5"); -__asm__(".symver isupper_l,isupper_l@GLIBC_2.3"); -__asm__(".symver iswalnum,iswalnum@GLIBC_2.2.5"); -__asm__(".symver iswalnum_l,iswalnum_l@GLIBC_2.3"); -__asm__(".symver iswalpha,iswalpha@GLIBC_2.2.5"); -__asm__(".symver iswalpha_l,iswalpha_l@GLIBC_2.3"); -__asm__(".symver iswblank,iswblank@GLIBC_2.2.5"); -__asm__(".symver iswblank_l,iswblank_l@GLIBC_2.3"); -__asm__(".symver iswcntrl,iswcntrl@GLIBC_2.2.5"); -__asm__(".symver iswcntrl_l,iswcntrl_l@GLIBC_2.3"); -__asm__(".symver iswctype,iswctype@GLIBC_2.2.5"); -__asm__(".symver iswctype_l,iswctype_l@GLIBC_2.3"); -__asm__(".symver iswdigit,iswdigit@GLIBC_2.2.5"); -__asm__(".symver iswdigit_l,iswdigit_l@GLIBC_2.3"); -__asm__(".symver iswgraph,iswgraph@GLIBC_2.2.5"); -__asm__(".symver iswgraph_l,iswgraph_l@GLIBC_2.3"); -__asm__(".symver iswlower,iswlower@GLIBC_2.2.5"); -__asm__(".symver iswlower_l,iswlower_l@GLIBC_2.3"); -__asm__(".symver iswprint,iswprint@GLIBC_2.2.5"); -__asm__(".symver iswprint_l,iswprint_l@GLIBC_2.3"); -__asm__(".symver iswpunct,iswpunct@GLIBC_2.2.5"); -__asm__(".symver iswpunct_l,iswpunct_l@GLIBC_2.3"); -__asm__(".symver iswspace,iswspace@GLIBC_2.2.5"); -__asm__(".symver iswspace_l,iswspace_l@GLIBC_2.3"); -__asm__(".symver iswupper,iswupper@GLIBC_2.2.5"); -__asm__(".symver iswupper_l,iswupper_l@GLIBC_2.3"); -__asm__(".symver iswxdigit,iswxdigit@GLIBC_2.2.5"); -__asm__(".symver iswxdigit_l,iswxdigit_l@GLIBC_2.3"); -__asm__(".symver isxdigit,isxdigit@GLIBC_2.2.5"); -__asm__(".symver isxdigit_l,isxdigit_l@GLIBC_2.3"); -__asm__(".symver j0,j0@GLIBC_2.2.5"); -__asm__(".symver j0f,j0f@GLIBC_2.2.5"); -__asm__(".symver j0l,j0l@GLIBC_2.2.5"); -__asm__(".symver j1,j1@GLIBC_2.2.5"); -__asm__(".symver j1f,j1f@GLIBC_2.2.5"); -__asm__(".symver j1l,j1l@GLIBC_2.2.5"); -__asm__(".symver jn,jn@GLIBC_2.2.5"); -__asm__(".symver jnf,jnf@GLIBC_2.2.5"); -__asm__(".symver jnl,jnl@GLIBC_2.2.5"); -__asm__(".symver jrand48,jrand48@GLIBC_2.2.5"); -__asm__(".symver jrand48_r,jrand48_r@GLIBC_2.2.5"); -__asm__(".symver key_decryptsession,key_decryptsession@GLIBC_2.2.5"); -__asm__(".symver key_decryptsession_pk,key_decryptsession_pk@GLIBC_2.2.5"); -__asm__(".symver key_encryptsession,key_encryptsession@GLIBC_2.2.5"); -__asm__(".symver key_encryptsession_pk,key_encryptsession_pk@GLIBC_2.2.5"); -__asm__(".symver key_gendes,key_gendes@GLIBC_2.2.5"); -__asm__(".symver key_get_conv,key_get_conv@GLIBC_2.2.5"); -__asm__(".symver key_secretkey_is_set,key_secretkey_is_set@GLIBC_2.2.5"); -__asm__(".symver key_setnet,key_setnet@GLIBC_2.2.5"); -__asm__(".symver key_setsecret,key_setsecret@GLIBC_2.2.5"); -__asm__(".symver kill,kill@GLIBC_2.2.5"); -__asm__(".symver killpg,killpg@GLIBC_2.2.5"); -__asm__(".symver klogctl,klogctl@GLIBC_2.2.5"); -__asm__(".symver l64a,l64a@GLIBC_2.2.5"); -__asm__(".symver labs,labs@GLIBC_2.2.5"); -__asm__(".symver lchmod,lchmod@GLIBC_2.3.2"); -__asm__(".symver lchown,lchown@GLIBC_2.2.5"); -__asm__(".symver lckpwdf,lckpwdf@GLIBC_2.2.5"); -__asm__(".symver lcong48,lcong48@GLIBC_2.2.5"); -__asm__(".symver lcong48_r,lcong48_r@GLIBC_2.2.5"); -__asm__(".symver ldexp,ldexp@GLIBC_2.2.5"); -__asm__(".symver ldexpf,ldexpf@GLIBC_2.2.5"); -__asm__(".symver ldexpl,ldexpl@GLIBC_2.2.5"); -__asm__(".symver ldiv,ldiv@GLIBC_2.2.5"); -__asm__(".symver lfind,lfind@GLIBC_2.2.5"); -__asm__(".symver lgamma,lgamma@GLIBC_2.2.5"); -__asm__(".symver lgamma_r,lgamma_r@GLIBC_2.2.5"); -__asm__(".symver lgammaf,lgammaf@GLIBC_2.2.5"); -__asm__(".symver lgammaf_r,lgammaf_r@GLIBC_2.2.5"); -__asm__(".symver lgammal,lgammal@GLIBC_2.2.5"); -__asm__(".symver lgammal_r,lgammal_r@GLIBC_2.2.5"); -__asm__(".symver lgetxattr,lgetxattr@GLIBC_2.3"); -__asm__(".symver link,link@GLIBC_2.2.5"); -__asm__(".symver linkat,linkat@GLIBC_2.4"); -__asm__(".symver lio_listio,lio_listio@GLIBC_2.4"); -__asm__(".symver lio_listio64,lio_listio64@GLIBC_2.4"); -__asm__(".symver listen,listen@GLIBC_2.2.5"); -__asm__(".symver listxattr,listxattr@GLIBC_2.3"); -__asm__(".symver llabs,llabs@GLIBC_2.2.5"); -__asm__(".symver lldiv,lldiv@GLIBC_2.2.5"); -__asm__(".symver llistxattr,llistxattr@GLIBC_2.3"); -__asm__(".symver llrint,llrint@GLIBC_2.2.5"); -__asm__(".symver llrintf,llrintf@GLIBC_2.2.5"); -__asm__(".symver llrintl,llrintl@GLIBC_2.2.5"); -__asm__(".symver llround,llround@GLIBC_2.2.5"); -__asm__(".symver llroundf,llroundf@GLIBC_2.2.5"); -__asm__(".symver llroundl,llroundl@GLIBC_2.2.5"); -__asm__(".symver llseek,llseek@GLIBC_2.2.5"); -__asm__(".symver loc1,loc1@GLIBC_2.2.5"); -__asm__(".symver loc2,loc2@GLIBC_2.2.5"); -__asm__(".symver localeconv,localeconv@GLIBC_2.2.5"); -__asm__(".symver localtime,localtime@GLIBC_2.2.5"); -__asm__(".symver localtime_r,localtime_r@GLIBC_2.2.5"); -__asm__(".symver lockf,lockf@GLIBC_2.2.5"); -__asm__(".symver lockf64,lockf64@GLIBC_2.2.5"); -__asm__(".symver locs,locs@GLIBC_2.2.5"); -__asm__(".symver log,log@GLIBC_2.2.5"); -__asm__(".symver log10,log10@GLIBC_2.2.5"); -__asm__(".symver log10f,log10f@GLIBC_2.2.5"); -__asm__(".symver log10l,log10l@GLIBC_2.2.5"); -__asm__(".symver log1p,log1p@GLIBC_2.2.5"); -__asm__(".symver log1pf,log1pf@GLIBC_2.2.5"); -__asm__(".symver log1pl,log1pl@GLIBC_2.2.5"); -__asm__(".symver log2,log2@GLIBC_2.2.5"); -__asm__(".symver log2f,log2f@GLIBC_2.2.5"); -__asm__(".symver log2l,log2l@GLIBC_2.2.5"); -__asm__(".symver logb,logb@GLIBC_2.2.5"); -__asm__(".symver logbf,logbf@GLIBC_2.2.5"); -__asm__(".symver logbl,logbl@GLIBC_2.2.5"); -__asm__(".symver logf,logf@GLIBC_2.2.5"); -__asm__(".symver login,login@GLIBC_2.2.5"); -__asm__(".symver login_tty,login_tty@GLIBC_2.2.5"); -__asm__(".symver logl,logl@GLIBC_2.2.5"); -__asm__(".symver logout,logout@GLIBC_2.2.5"); -__asm__(".symver logwtmp,logwtmp@GLIBC_2.2.5"); -__asm__(".symver longjmp,longjmp@GLIBC_2.2.5"); -__asm__(".symver lrand48,lrand48@GLIBC_2.2.5"); -__asm__(".symver lrand48_r,lrand48_r@GLIBC_2.2.5"); -__asm__(".symver lremovexattr,lremovexattr@GLIBC_2.3"); -__asm__(".symver lrint,lrint@GLIBC_2.2.5"); -__asm__(".symver lrintf,lrintf@GLIBC_2.2.5"); -__asm__(".symver lrintl,lrintl@GLIBC_2.2.5"); -__asm__(".symver lround,lround@GLIBC_2.2.5"); -__asm__(".symver lroundf,lroundf@GLIBC_2.2.5"); -__asm__(".symver lroundl,lroundl@GLIBC_2.2.5"); -__asm__(".symver lsearch,lsearch@GLIBC_2.2.5"); -__asm__(".symver lseek,lseek@GLIBC_2.2.5"); -__asm__(".symver lseek64,lseek64@GLIBC_2.2.5"); -__asm__(".symver lsetxattr,lsetxattr@GLIBC_2.3"); -__asm__(".symver lutimes,lutimes@GLIBC_2.3"); -__asm__(".symver madvise,madvise@GLIBC_2.2.5"); -__asm__(".symver makecontext,makecontext@GLIBC_2.2.5"); -__asm__(".symver mallinfo,mallinfo@GLIBC_2.2.5"); -__asm__(".symver malloc,malloc@GLIBC_2.2.5"); -__asm__(".symver malloc_get_state,malloc_get_state@GLIBC_2.2.5"); -__asm__(".symver malloc_set_state,malloc_set_state@GLIBC_2.2.5"); -__asm__(".symver malloc_stats,malloc_stats@GLIBC_2.2.5"); -__asm__(".symver malloc_trim,malloc_trim@GLIBC_2.2.5"); -__asm__(".symver malloc_usable_size,malloc_usable_size@GLIBC_2.2.5"); -__asm__(".symver mallopt,mallopt@GLIBC_2.2.5"); -__asm__(".symver mallwatch,mallwatch@GLIBC_2.2.5"); -__asm__(".symver matherr,matherr@GLIBC_2.2.5"); -__asm__(".symver mblen,mblen@GLIBC_2.2.5"); -__asm__(".symver mbrlen,mbrlen@GLIBC_2.2.5"); -__asm__(".symver mbrtowc,mbrtowc@GLIBC_2.2.5"); -__asm__(".symver mbsinit,mbsinit@GLIBC_2.2.5"); -__asm__(".symver mbsnrtowcs,mbsnrtowcs@GLIBC_2.2.5"); -__asm__(".symver mbsrtowcs,mbsrtowcs@GLIBC_2.2.5"); -__asm__(".symver mbstowcs,mbstowcs@GLIBC_2.2.5"); -__asm__(".symver mbtowc,mbtowc@GLIBC_2.2.5"); -__asm__(".symver mcheck,mcheck@GLIBC_2.2.5"); -__asm__(".symver mcheck_check_all,mcheck_check_all@GLIBC_2.2.5"); -__asm__(".symver mcheck_pedantic,mcheck_pedantic@GLIBC_2.2.5"); -__asm__(".symver mcount,mcount@GLIBC_2.2.5"); -__asm__(".symver memalign,memalign@GLIBC_2.2.5"); -__asm__(".symver memccpy,memccpy@GLIBC_2.2.5"); -__asm__(".symver memchr,memchr@GLIBC_2.2.5"); -__asm__(".symver memcmp,memcmp@GLIBC_2.2.5"); -__asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); -__asm__(".symver memfrob,memfrob@GLIBC_2.2.5"); -__asm__(".symver memmem,memmem@GLIBC_2.2.5"); -__asm__(".symver memmove,memmove@GLIBC_2.2.5"); -__asm__(".symver mempcpy,mempcpy@GLIBC_2.2.5"); -__asm__(".symver memrchr,memrchr@GLIBC_2.2.5"); -__asm__(".symver memset,memset@GLIBC_2.2.5"); -__asm__(".symver mincore,mincore@GLIBC_2.2.5"); -__asm__(".symver mkdir,mkdir@GLIBC_2.2.5"); -__asm__(".symver mkdirat,mkdirat@GLIBC_2.4"); -__asm__(".symver mkdtemp,mkdtemp@GLIBC_2.2.5"); -__asm__(".symver mkfifo,mkfifo@GLIBC_2.2.5"); -__asm__(".symver mkfifoat,mkfifoat@GLIBC_2.4"); -__asm__(".symver mkstemp,mkstemp@GLIBC_2.2.5"); -__asm__(".symver mkstemp64,mkstemp64@GLIBC_2.2.5"); -__asm__(".symver mktemp,mktemp@GLIBC_2.2.5"); -__asm__(".symver mktime,mktime@GLIBC_2.2.5"); -__asm__(".symver mlock,mlock@GLIBC_2.2.5"); -__asm__(".symver mlockall,mlockall@GLIBC_2.2.5"); -__asm__(".symver mmap,mmap@GLIBC_2.2.5"); -__asm__(".symver mmap64,mmap64@GLIBC_2.2.5"); -__asm__(".symver modf,modf@GLIBC_2.2.5"); -__asm__(".symver modff,modff@GLIBC_2.2.5"); -__asm__(".symver modfl,modfl@GLIBC_2.2.5"); -__asm__(".symver modify_ldt,modify_ldt@GLIBC_2.2.5"); -__asm__(".symver moncontrol,moncontrol@GLIBC_2.2.5"); -__asm__(".symver monstartup,monstartup@GLIBC_2.2.5"); -__asm__(".symver mount,mount@GLIBC_2.2.5"); -__asm__(".symver mprobe,mprobe@GLIBC_2.2.5"); -__asm__(".symver mprotect,mprotect@GLIBC_2.2.5"); -__asm__(".symver mq_close,mq_close@GLIBC_2.3.4"); -__asm__(".symver mq_getattr,mq_getattr@GLIBC_2.3.4"); -__asm__(".symver mq_notify,mq_notify@GLIBC_2.3.4"); -__asm__(".symver mq_open,mq_open@GLIBC_2.3.4"); -__asm__(".symver mq_receive,mq_receive@GLIBC_2.3.4"); -__asm__(".symver mq_send,mq_send@GLIBC_2.3.4"); -__asm__(".symver mq_setattr,mq_setattr@GLIBC_2.3.4"); -__asm__(".symver mq_timedreceive,mq_timedreceive@GLIBC_2.3.4"); -__asm__(".symver mq_timedsend,mq_timedsend@GLIBC_2.3.4"); -__asm__(".symver mq_unlink,mq_unlink@GLIBC_2.3.4"); -__asm__(".symver mrand48,mrand48@GLIBC_2.2.5"); -__asm__(".symver mrand48_r,mrand48_r@GLIBC_2.2.5"); -__asm__(".symver mremap,mremap@GLIBC_2.2.5"); -__asm__(".symver msgctl,msgctl@GLIBC_2.2.5"); -__asm__(".symver msgget,msgget@GLIBC_2.2.5"); -__asm__(".symver msgrcv,msgrcv@GLIBC_2.2.5"); -__asm__(".symver msgsnd,msgsnd@GLIBC_2.2.5"); -__asm__(".symver msync,msync@GLIBC_2.2.5"); -__asm__(".symver mtrace,mtrace@GLIBC_2.2.5"); -__asm__(".symver munlock,munlock@GLIBC_2.2.5"); -__asm__(".symver munlockall,munlockall@GLIBC_2.2.5"); -__asm__(".symver munmap,munmap@GLIBC_2.2.5"); -__asm__(".symver muntrace,muntrace@GLIBC_2.2.5"); -__asm__(".symver nan,nan@GLIBC_2.2.5"); -__asm__(".symver nanf,nanf@GLIBC_2.2.5"); -__asm__(".symver nanl,nanl@GLIBC_2.2.5"); -__asm__(".symver nanosleep,nanosleep@GLIBC_2.2.5"); -__asm__(".symver nearbyint,nearbyint@GLIBC_2.2.5"); -__asm__(".symver nearbyintf,nearbyintf@GLIBC_2.2.5"); -__asm__(".symver nearbyintl,nearbyintl@GLIBC_2.2.5"); -__asm__(".symver netname2host,netname2host@GLIBC_2.2.5"); -__asm__(".symver netname2user,netname2user@GLIBC_2.2.5"); -__asm__(".symver newlocale,newlocale@GLIBC_2.3"); -__asm__(".symver nextafter,nextafter@GLIBC_2.2.5"); -__asm__(".symver nextafterf,nextafterf@GLIBC_2.2.5"); -__asm__(".symver nextafterl,nextafterl@GLIBC_2.2.5"); -__asm__(".symver nexttoward,nexttoward@GLIBC_2.2.5"); -__asm__(".symver nexttowardf,nexttowardf@GLIBC_2.2.5"); -__asm__(".symver nexttowardl,nexttowardl@GLIBC_2.2.5"); -__asm__(".symver nfsservctl,nfsservctl@GLIBC_2.2.5"); -__asm__(".symver nftw,nftw@GLIBC_2.3.3"); -__asm__(".symver nftw64,nftw64@GLIBC_2.3.3"); -__asm__(".symver ngettext,ngettext@GLIBC_2.2.5"); -__asm__(".symver nice,nice@GLIBC_2.2.5"); -__asm__(".symver nis_add,nis_add@GLIBC_2.2.5"); -__asm__(".symver nis_add_entry,nis_add_entry@GLIBC_2.2.5"); -__asm__(".symver nis_addmember,nis_addmember@GLIBC_2.2.5"); -__asm__(".symver nis_checkpoint,nis_checkpoint@GLIBC_2.2.5"); -__asm__(".symver nis_clone_directory,nis_clone_directory@GLIBC_2.2.5"); -__asm__(".symver nis_clone_object,nis_clone_object@GLIBC_2.2.5"); -__asm__(".symver nis_clone_result,nis_clone_result@GLIBC_2.2.5"); -__asm__(".symver nis_creategroup,nis_creategroup@GLIBC_2.2.5"); -__asm__(".symver nis_destroy_object,nis_destroy_object@GLIBC_2.2.5"); -__asm__(".symver nis_destroygroup,nis_destroygroup@GLIBC_2.2.5"); -__asm__(".symver nis_dir_cmp,nis_dir_cmp@GLIBC_2.2.5"); -__asm__(".symver nis_domain_of,nis_domain_of@GLIBC_2.2.5"); -__asm__(".symver nis_domain_of_r,nis_domain_of_r@GLIBC_2.2.5"); -__asm__(".symver nis_first_entry,nis_first_entry@GLIBC_2.2.5"); -__asm__(".symver nis_free_directory,nis_free_directory@GLIBC_2.2.5"); -__asm__(".symver nis_free_object,nis_free_object@GLIBC_2.2.5"); -__asm__(".symver nis_free_request,nis_free_request@GLIBC_2.2.5"); -__asm__(".symver nis_freenames,nis_freenames@GLIBC_2.2.5"); -__asm__(".symver nis_freeresult,nis_freeresult@GLIBC_2.2.5"); -__asm__(".symver nis_freeservlist,nis_freeservlist@GLIBC_2.2.5"); -__asm__(".symver nis_freetags,nis_freetags@GLIBC_2.2.5"); -__asm__(".symver nis_getnames,nis_getnames@GLIBC_2.2.5"); -__asm__(".symver nis_getservlist,nis_getservlist@GLIBC_2.2.5"); -__asm__(".symver nis_ismember,nis_ismember@GLIBC_2.2.5"); -__asm__(".symver nis_leaf_of,nis_leaf_of@GLIBC_2.2.5"); -__asm__(".symver nis_leaf_of_r,nis_leaf_of_r@GLIBC_2.2.5"); -__asm__(".symver nis_lerror,nis_lerror@GLIBC_2.2.5"); -__asm__(".symver nis_list,nis_list@GLIBC_2.2.5"); -__asm__(".symver nis_local_directory,nis_local_directory@GLIBC_2.2.5"); -__asm__(".symver nis_local_group,nis_local_group@GLIBC_2.2.5"); -__asm__(".symver nis_local_host,nis_local_host@GLIBC_2.2.5"); -__asm__(".symver nis_local_principal,nis_local_principal@GLIBC_2.2.5"); -__asm__(".symver nis_lookup,nis_lookup@GLIBC_2.2.5"); -__asm__(".symver nis_mkdir,nis_mkdir@GLIBC_2.2.5"); -__asm__(".symver nis_modify,nis_modify@GLIBC_2.2.5"); -__asm__(".symver nis_modify_entry,nis_modify_entry@GLIBC_2.2.5"); -__asm__(".symver nis_name_of,nis_name_of@GLIBC_2.2.5"); -__asm__(".symver nis_name_of_r,nis_name_of_r@GLIBC_2.2.5"); -__asm__(".symver nis_next_entry,nis_next_entry@GLIBC_2.2.5"); -__asm__(".symver nis_perror,nis_perror@GLIBC_2.2.5"); -__asm__(".symver nis_ping,nis_ping@GLIBC_2.2.5"); -__asm__(".symver nis_print_directory,nis_print_directory@GLIBC_2.2.5"); -__asm__(".symver nis_print_entry,nis_print_entry@GLIBC_2.2.5"); -__asm__(".symver nis_print_group,nis_print_group@GLIBC_2.2.5"); -__asm__(".symver nis_print_group_entry,nis_print_group_entry@GLIBC_2.2.5"); -__asm__(".symver nis_print_link,nis_print_link@GLIBC_2.2.5"); -__asm__(".symver nis_print_object,nis_print_object@GLIBC_2.2.5"); -__asm__(".symver nis_print_result,nis_print_result@GLIBC_2.2.5"); -__asm__(".symver nis_print_rights,nis_print_rights@GLIBC_2.2.5"); -__asm__(".symver nis_print_table,nis_print_table@GLIBC_2.2.5"); -__asm__(".symver nis_read_obj,nis_read_obj@GLIBC_2.2.5"); -__asm__(".symver nis_remove,nis_remove@GLIBC_2.2.5"); -__asm__(".symver nis_remove_entry,nis_remove_entry@GLIBC_2.2.5"); -__asm__(".symver nis_removemember,nis_removemember@GLIBC_2.2.5"); -__asm__(".symver nis_rmdir,nis_rmdir@GLIBC_2.2.5"); -__asm__(".symver nis_servstate,nis_servstate@GLIBC_2.2.5"); -__asm__(".symver nis_sperrno,nis_sperrno@GLIBC_2.2.5"); -__asm__(".symver nis_sperror,nis_sperror@GLIBC_2.2.5"); -__asm__(".symver nis_sperror_r,nis_sperror_r@GLIBC_2.2.5"); -__asm__(".symver nis_stats,nis_stats@GLIBC_2.2.5"); -__asm__(".symver nis_verifygroup,nis_verifygroup@GLIBC_2.2.5"); -__asm__(".symver nis_write_obj,nis_write_obj@GLIBC_2.2.5"); -__asm__(".symver nl_langinfo,nl_langinfo@GLIBC_2.2.5"); -__asm__(".symver nl_langinfo_l,nl_langinfo_l@GLIBC_2.3"); -__asm__(".symver nrand48,nrand48@GLIBC_2.2.5"); -__asm__(".symver nrand48_r,nrand48_r@GLIBC_2.2.5"); -__asm__(".symver ntohl,ntohl@GLIBC_2.2.5"); -__asm__(".symver ntohs,ntohs@GLIBC_2.2.5"); -__asm__(".symver ntp_adjtime,ntp_adjtime@GLIBC_2.2.5"); -__asm__(".symver ntp_gettime,ntp_gettime@GLIBC_2.2.5"); -__asm__(".symver obstack_alloc_failed_handler,obstack_alloc_failed_handler@GLIBC_2.2.5"); -__asm__(".symver obstack_exit_failure,obstack_exit_failure@GLIBC_2.2.5"); -__asm__(".symver obstack_free,obstack_free@GLIBC_2.2.5"); -__asm__(".symver obstack_printf,obstack_printf@GLIBC_2.2.5"); -__asm__(".symver obstack_vprintf,obstack_vprintf@GLIBC_2.2.5"); -__asm__(".symver on_exit,on_exit@GLIBC_2.2.5"); -__asm__(".symver open,open@GLIBC_2.2.5"); -__asm__(".symver open64,open64@GLIBC_2.2.5"); -__asm__(".symver open_memstream,open_memstream@GLIBC_2.2.5"); -__asm__(".symver open_wmemstream,open_wmemstream@GLIBC_2.4"); -__asm__(".symver openat,openat@GLIBC_2.4"); -__asm__(".symver openat64,openat64@GLIBC_2.4"); -__asm__(".symver opendir,opendir@GLIBC_2.2.5"); -__asm__(".symver openlog,openlog@GLIBC_2.2.5"); -__asm__(".symver openpty,openpty@GLIBC_2.2.5"); -__asm__(".symver optarg,optarg@GLIBC_2.2.5"); -__asm__(".symver opterr,opterr@GLIBC_2.2.5"); -__asm__(".symver optind,optind@GLIBC_2.2.5"); -__asm__(".symver optopt,optopt@GLIBC_2.2.5"); -__asm__(".symver parse_printf_format,parse_printf_format@GLIBC_2.2.5"); -__asm__(".symver passwd2des,passwd2des@GLIBC_2.2.5"); -__asm__(".symver pathconf,pathconf@GLIBC_2.2.5"); -__asm__(".symver pause,pause@GLIBC_2.2.5"); -__asm__(".symver pclose,pclose@GLIBC_2.2.5"); -__asm__(".symver perror,perror@GLIBC_2.2.5"); -__asm__(".symver personality,personality@GLIBC_2.2.5"); -__asm__(".symver pipe,pipe@GLIBC_2.2.5"); -__asm__(".symver pivot_root,pivot_root@GLIBC_2.2.5"); -__asm__(".symver pmap_getmaps,pmap_getmaps@GLIBC_2.2.5"); -__asm__(".symver pmap_getport,pmap_getport@GLIBC_2.2.5"); -__asm__(".symver pmap_rmtcall,pmap_rmtcall@GLIBC_2.2.5"); -__asm__(".symver pmap_set,pmap_set@GLIBC_2.2.5"); -__asm__(".symver pmap_unset,pmap_unset@GLIBC_2.2.5"); -__asm__(".symver poll,poll@GLIBC_2.2.5"); -__asm__(".symver popen,popen@GLIBC_2.2.5"); -__asm__(".symver posix_fadvise,posix_fadvise@GLIBC_2.2.5"); -__asm__(".symver posix_fadvise64,posix_fadvise64@GLIBC_2.2.5"); -__asm__(".symver posix_fallocate,posix_fallocate@GLIBC_2.2.5"); -__asm__(".symver posix_fallocate64,posix_fallocate64@GLIBC_2.2.5"); -__asm__(".symver posix_madvise,posix_madvise@GLIBC_2.2.5"); -__asm__(".symver posix_memalign,posix_memalign@GLIBC_2.2.5"); -__asm__(".symver posix_openpt,posix_openpt@GLIBC_2.2.5"); -__asm__(".symver posix_spawn,posix_spawn@GLIBC_2.2.5"); -__asm__(".symver posix_spawn_file_actions_addclose,posix_spawn_file_actions_addclose@GLIBC_2.2.5"); -__asm__(".symver posix_spawn_file_actions_adddup2,posix_spawn_file_actions_adddup2@GLIBC_2.2.5"); -__asm__(".symver posix_spawn_file_actions_addopen,posix_spawn_file_actions_addopen@GLIBC_2.2.5"); -__asm__(".symver posix_spawn_file_actions_destroy,posix_spawn_file_actions_destroy@GLIBC_2.2.5"); -__asm__(".symver posix_spawn_file_actions_init,posix_spawn_file_actions_init@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_destroy,posix_spawnattr_destroy@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_getflags,posix_spawnattr_getflags@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_getpgroup,posix_spawnattr_getpgroup@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_getschedparam,posix_spawnattr_getschedparam@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_getschedpolicy,posix_spawnattr_getschedpolicy@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_getsigdefault,posix_spawnattr_getsigdefault@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_getsigmask,posix_spawnattr_getsigmask@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_init,posix_spawnattr_init@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_setflags,posix_spawnattr_setflags@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_setpgroup,posix_spawnattr_setpgroup@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_setschedparam,posix_spawnattr_setschedparam@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_setschedpolicy,posix_spawnattr_setschedpolicy@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_setsigdefault,posix_spawnattr_setsigdefault@GLIBC_2.2.5"); -__asm__(".symver posix_spawnattr_setsigmask,posix_spawnattr_setsigmask@GLIBC_2.2.5"); -__asm__(".symver posix_spawnp,posix_spawnp@GLIBC_2.2.5"); -__asm__(".symver pow,pow@GLIBC_2.2.5"); -__asm__(".symver pow10,pow10@GLIBC_2.2.5"); -__asm__(".symver pow10f,pow10f@GLIBC_2.2.5"); -__asm__(".symver pow10l,pow10l@GLIBC_2.2.5"); -__asm__(".symver powf,powf@GLIBC_2.2.5"); -__asm__(".symver powl,powl@GLIBC_2.2.5"); -__asm__(".symver ppoll,ppoll@GLIBC_2.4"); -__asm__(".symver prctl,prctl@GLIBC_2.2.5"); -__asm__(".symver pread,pread@GLIBC_2.2.5"); -__asm__(".symver pread64,pread64@GLIBC_2.2.5"); -__asm__(".symver printf,printf@GLIBC_2.2.5"); -__asm__(".symver printf_size,printf_size@GLIBC_2.2.5"); -__asm__(".symver printf_size_info,printf_size_info@GLIBC_2.2.5"); -__asm__(".symver profil,profil@GLIBC_2.2.5"); -__asm__(".symver program_invocation_name,program_invocation_name@GLIBC_2.2.5"); -__asm__(".symver program_invocation_short_name,program_invocation_short_name@GLIBC_2.2.5"); -__asm__(".symver pselect,pselect@GLIBC_2.2.5"); -__asm__(".symver psignal,psignal@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_attr_destroy,pthread_attr_destroy@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_attr_getaffinity_np,pthread_attr_getaffinity_np@GLIBC_2.3.4"); -#ifdef _REENTRANT -__asm__(".symver pthread_attr_getdetachstate,pthread_attr_getdetachstate@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_attr_getguardsize,pthread_attr_getguardsize@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_attr_getinheritsched,pthread_attr_getinheritsched@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_attr_getschedparam,pthread_attr_getschedparam@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_attr_getschedpolicy,pthread_attr_getschedpolicy@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_attr_getscope,pthread_attr_getscope@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_attr_getstack,pthread_attr_getstack@GLIBC_2.2.5"); -__asm__(".symver pthread_attr_getstackaddr,pthread_attr_getstackaddr@GLIBC_2.2.5"); -__asm__(".symver pthread_attr_getstacksize,pthread_attr_getstacksize@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_attr_init,pthread_attr_init@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_attr_setaffinity_np,pthread_attr_setaffinity_np@GLIBC_2.3.4"); -#ifdef _REENTRANT -__asm__(".symver pthread_attr_setdetachstate,pthread_attr_setdetachstate@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_attr_setguardsize,pthread_attr_setguardsize@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_attr_setinheritsched,pthread_attr_setinheritsched@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_attr_setschedparam,pthread_attr_setschedparam@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_attr_setschedpolicy,pthread_attr_setschedpolicy@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_attr_setscope,pthread_attr_setscope@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_attr_setstack,pthread_attr_setstack@GLIBC_2.2.5"); -__asm__(".symver pthread_attr_setstackaddr,pthread_attr_setstackaddr@GLIBC_2.2.5"); -__asm__(".symver pthread_attr_setstacksize,pthread_attr_setstacksize@GLIBC_2.2.5"); -__asm__(".symver pthread_barrier_destroy,pthread_barrier_destroy@GLIBC_2.2.5"); -__asm__(".symver pthread_barrier_init,pthread_barrier_init@GLIBC_2.2.5"); -__asm__(".symver pthread_barrier_wait,pthread_barrier_wait@GLIBC_2.2.5"); -__asm__(".symver pthread_barrierattr_destroy,pthread_barrierattr_destroy@GLIBC_2.2.5"); -__asm__(".symver pthread_barrierattr_getpshared,pthread_barrierattr_getpshared@GLIBC_2.3.3"); -__asm__(".symver pthread_barrierattr_init,pthread_barrierattr_init@GLIBC_2.2.5"); -__asm__(".symver pthread_barrierattr_setpshared,pthread_barrierattr_setpshared@GLIBC_2.2.5"); -__asm__(".symver pthread_cancel,pthread_cancel@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_cond_broadcast,pthread_cond_broadcast@GLIBC_2.3.2"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_cond_destroy,pthread_cond_destroy@GLIBC_2.3.2"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_cond_init,pthread_cond_init@GLIBC_2.3.2"); -#endif -__asm__(".symver pthread_cond_signal,pthread_cond_signal@GLIBC_2.3.2"); -#ifdef _REENTRANT -__asm__(".symver pthread_cond_timedwait,pthread_cond_timedwait@GLIBC_2.3.2"); -#endif -__asm__(".symver pthread_cond_wait,pthread_cond_wait@GLIBC_2.3.2"); -#ifdef _REENTRANT -__asm__(".symver pthread_condattr_destroy,pthread_condattr_destroy@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_condattr_getclock,pthread_condattr_getclock@GLIBC_2.3.3"); -__asm__(".symver pthread_condattr_getpshared,pthread_condattr_getpshared@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_condattr_init,pthread_condattr_init@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_condattr_setclock,pthread_condattr_setclock@GLIBC_2.3.3"); -__asm__(".symver pthread_condattr_setpshared,pthread_condattr_setpshared@GLIBC_2.2.5"); -#ifndef _GLIBCXX_SHARED -#ifdef _REENTRANT -__asm__(".symver pthread_create,pthread_create@GLIBC_2.2.5"); -#endif -#endif -#ifndef _GLIBCXX_SHARED -#ifdef _REENTRANT -__asm__(".symver pthread_detach,pthread_detach@GLIBC_2.2.5"); -#endif -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_equal,pthread_equal@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_exit,pthread_exit@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_getaffinity_np,pthread_getaffinity_np@GLIBC_2.3.4"); -__asm__(".symver pthread_getattr_np,pthread_getattr_np@GLIBC_2.2.5"); -__asm__(".symver pthread_getconcurrency,pthread_getconcurrency@GLIBC_2.2.5"); -__asm__(".symver pthread_getcpuclockid,pthread_getcpuclockid@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_getschedparam,pthread_getschedparam@GLIBC_2.2.5"); -#endif -#ifndef _GLIBCXX_SHARED -#ifndef IN_LIBGCC2 -#ifdef _REENTRANT -__asm__(".symver pthread_getspecific,pthread_getspecific@GLIBC_2.2.5"); -#endif -#endif -#endif -#ifndef _GLIBCXX_SHARED -#ifdef _REENTRANT -__asm__(".symver pthread_join,pthread_join@GLIBC_2.2.5"); -#endif -#endif -#ifndef _GLIBCXX_SHARED -#ifndef IN_LIBGCC2 -#ifdef _REENTRANT -__asm__(".symver pthread_key_create,pthread_key_create@GLIBC_2.2.5"); -#endif -#endif -#endif -#ifndef _GLIBCXX_SHARED -#ifdef _REENTRANT -__asm__(".symver pthread_key_delete,pthread_key_delete@GLIBC_2.2.5"); -#endif -#endif -__asm__(".symver pthread_kill,pthread_kill@GLIBC_2.2.5"); -__asm__(".symver pthread_mutex_consistent_np,pthread_mutex_consistent_np@GLIBC_2.4"); -#ifdef _REENTRANT -__asm__(".symver pthread_mutex_destroy,pthread_mutex_destroy@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_mutex_getprioceiling,pthread_mutex_getprioceiling@GLIBC_2.4"); -#ifdef _REENTRANT -__asm__(".symver pthread_mutex_init,pthread_mutex_init@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_mutex_lock,pthread_mutex_lock@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_mutex_setprioceiling,pthread_mutex_setprioceiling@GLIBC_2.4"); -__asm__(".symver pthread_mutex_timedlock,pthread_mutex_timedlock@GLIBC_2.2.5"); -__asm__(".symver pthread_mutex_trylock,pthread_mutex_trylock@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_mutex_unlock,pthread_mutex_unlock@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_mutexattr_destroy,pthread_mutexattr_destroy@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_getkind_np,pthread_mutexattr_getkind_np@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_getprioceiling,pthread_mutexattr_getprioceiling@GLIBC_2.4"); -__asm__(".symver pthread_mutexattr_getprotocol,pthread_mutexattr_getprotocol@GLIBC_2.4"); -__asm__(".symver pthread_mutexattr_getpshared,pthread_mutexattr_getpshared@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_getrobust_np,pthread_mutexattr_getrobust_np@GLIBC_2.4"); -__asm__(".symver pthread_mutexattr_gettype,pthread_mutexattr_gettype@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_init,pthread_mutexattr_init@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_setkind_np,pthread_mutexattr_setkind_np@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_setprioceiling,pthread_mutexattr_setprioceiling@GLIBC_2.4"); -__asm__(".symver pthread_mutexattr_setprotocol,pthread_mutexattr_setprotocol@GLIBC_2.4"); -__asm__(".symver pthread_mutexattr_setpshared,pthread_mutexattr_setpshared@GLIBC_2.2.5"); -__asm__(".symver pthread_mutexattr_setrobust_np,pthread_mutexattr_setrobust_np@GLIBC_2.4"); -__asm__(".symver pthread_mutexattr_settype,pthread_mutexattr_settype@GLIBC_2.2.5"); -#ifndef _GLIBCXX_SHARED -#ifndef IN_LIBGCC2 -#ifdef _REENTRANT -__asm__(".symver pthread_once,pthread_once@GLIBC_2.2.5"); -#endif -#endif -#endif -__asm__(".symver pthread_rwlock_destroy,pthread_rwlock_destroy@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_init,pthread_rwlock_init@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_rdlock,pthread_rwlock_rdlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_timedrdlock,pthread_rwlock_timedrdlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_timedwrlock,pthread_rwlock_timedwrlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_tryrdlock,pthread_rwlock_tryrdlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_trywrlock,pthread_rwlock_trywrlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_unlock,pthread_rwlock_unlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlock_wrlock,pthread_rwlock_wrlock@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlockattr_destroy,pthread_rwlockattr_destroy@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlockattr_getkind_np,pthread_rwlockattr_getkind_np@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlockattr_getpshared,pthread_rwlockattr_getpshared@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlockattr_init,pthread_rwlockattr_init@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlockattr_setkind_np,pthread_rwlockattr_setkind_np@GLIBC_2.2.5"); -__asm__(".symver pthread_rwlockattr_setpshared,pthread_rwlockattr_setpshared@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_self,pthread_self@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_setaffinity_np,pthread_setaffinity_np@GLIBC_2.3.4"); -#ifdef _REENTRANT -__asm__(".symver pthread_setcancelstate,pthread_setcancelstate@GLIBC_2.2.5"); -#endif -#ifdef _REENTRANT -__asm__(".symver pthread_setcanceltype,pthread_setcanceltype@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_setconcurrency,pthread_setconcurrency@GLIBC_2.2.5"); -#ifdef _REENTRANT -__asm__(".symver pthread_setschedparam,pthread_setschedparam@GLIBC_2.2.5"); -#endif -__asm__(".symver pthread_setschedprio,pthread_setschedprio@GLIBC_2.3.4"); -#ifndef _GLIBCXX_SHARED -#ifndef IN_LIBGCC2 -#ifdef _REENTRANT -__asm__(".symver pthread_setspecific,pthread_setspecific@GLIBC_2.2.5"); -#endif -#endif -#endif -__asm__(".symver pthread_sigmask,pthread_sigmask@GLIBC_2.2.5"); -__asm__(".symver pthread_spin_destroy,pthread_spin_destroy@GLIBC_2.2.5"); -__asm__(".symver pthread_spin_init,pthread_spin_init@GLIBC_2.2.5"); -__asm__(".symver pthread_spin_lock,pthread_spin_lock@GLIBC_2.2.5"); -__asm__(".symver pthread_spin_trylock,pthread_spin_trylock@GLIBC_2.2.5"); -__asm__(".symver pthread_spin_unlock,pthread_spin_unlock@GLIBC_2.2.5"); -__asm__(".symver pthread_testcancel,pthread_testcancel@GLIBC_2.2.5"); -__asm__(".symver pthread_timedjoin_np,pthread_timedjoin_np@GLIBC_2.3.3"); -__asm__(".symver pthread_tryjoin_np,pthread_tryjoin_np@GLIBC_2.3.3"); -__asm__(".symver pthread_yield,pthread_yield@GLIBC_2.2.5"); -__asm__(".symver ptrace,ptrace@GLIBC_2.2.5"); -__asm__(".symver ptsname,ptsname@GLIBC_2.2.5"); -__asm__(".symver ptsname_r,ptsname_r@GLIBC_2.2.5"); -__asm__(".symver putc,putc@GLIBC_2.2.5"); -__asm__(".symver putc_unlocked,putc_unlocked@GLIBC_2.2.5"); -__asm__(".symver putchar,putchar@GLIBC_2.2.5"); -__asm__(".symver putchar_unlocked,putchar_unlocked@GLIBC_2.2.5"); -__asm__(".symver putenv,putenv@GLIBC_2.2.5"); -__asm__(".symver putgrent,putgrent@GLIBC_2.2.5"); -__asm__(".symver putmsg,putmsg@GLIBC_2.2.5"); -__asm__(".symver putpmsg,putpmsg@GLIBC_2.2.5"); -__asm__(".symver putpwent,putpwent@GLIBC_2.2.5"); -__asm__(".symver puts,puts@GLIBC_2.2.5"); -__asm__(".symver putspent,putspent@GLIBC_2.2.5"); -__asm__(".symver pututline,pututline@GLIBC_2.2.5"); -__asm__(".symver pututxline,pututxline@GLIBC_2.2.5"); -__asm__(".symver putw,putw@GLIBC_2.2.5"); -__asm__(".symver putwc,putwc@GLIBC_2.2.5"); -__asm__(".symver putwc_unlocked,putwc_unlocked@GLIBC_2.2.5"); -__asm__(".symver putwchar,putwchar@GLIBC_2.2.5"); -__asm__(".symver putwchar_unlocked,putwchar_unlocked@GLIBC_2.2.5"); -__asm__(".symver pvalloc,pvalloc@GLIBC_2.2.5"); -__asm__(".symver pwrite,pwrite@GLIBC_2.2.5"); -__asm__(".symver pwrite64,pwrite64@GLIBC_2.2.5"); -__asm__(".symver qecvt,qecvt@GLIBC_2.2.5"); -__asm__(".symver qecvt_r,qecvt_r@GLIBC_2.2.5"); -__asm__(".symver qfcvt,qfcvt@GLIBC_2.2.5"); -__asm__(".symver qfcvt_r,qfcvt_r@GLIBC_2.2.5"); -__asm__(".symver qgcvt,qgcvt@GLIBC_2.2.5"); -__asm__(".symver qsort,qsort@GLIBC_2.2.5"); -__asm__(".symver query_module,query_module@GLIBC_2.2.5"); -__asm__(".symver quotactl,quotactl@GLIBC_2.2.5"); -__asm__(".symver raise,raise@GLIBC_2.2.5"); -__asm__(".symver rand,rand@GLIBC_2.2.5"); -__asm__(".symver rand_r,rand_r@GLIBC_2.2.5"); -__asm__(".symver random,random@GLIBC_2.2.5"); -__asm__(".symver random_r,random_r@GLIBC_2.2.5"); -__asm__(".symver rawmemchr,rawmemchr@GLIBC_2.2.5"); -__asm__(".symver rcmd,rcmd@GLIBC_2.2.5"); -__asm__(".symver rcmd_af,rcmd_af@GLIBC_2.2.5"); -__asm__(".symver re_comp,re_comp@GLIBC_2.2.5"); -__asm__(".symver re_compile_fastmap,re_compile_fastmap@GLIBC_2.2.5"); -__asm__(".symver re_compile_pattern,re_compile_pattern@GLIBC_2.2.5"); -__asm__(".symver re_exec,re_exec@GLIBC_2.2.5"); -__asm__(".symver re_match,re_match@GLIBC_2.2.5"); -__asm__(".symver re_match_2,re_match_2@GLIBC_2.2.5"); -__asm__(".symver re_max_failures,re_max_failures@GLIBC_2.2.5"); -__asm__(".symver re_search,re_search@GLIBC_2.2.5"); -__asm__(".symver re_search_2,re_search_2@GLIBC_2.2.5"); -__asm__(".symver re_set_registers,re_set_registers@GLIBC_2.2.5"); -__asm__(".symver re_set_syntax,re_set_syntax@GLIBC_2.2.5"); -__asm__(".symver re_syntax_options,re_syntax_options@GLIBC_2.2.5"); -__asm__(".symver read,read@GLIBC_2.2.5"); -__asm__(".symver readColdStartFile,readColdStartFile@GLIBC_2.2.5"); -__asm__(".symver readahead,readahead@GLIBC_2.3"); -__asm__(".symver readdir,readdir@GLIBC_2.2.5"); -__asm__(".symver readdir64,readdir64@GLIBC_2.2.5"); -__asm__(".symver readdir64_r,readdir64_r@GLIBC_2.2.5"); -__asm__(".symver readdir_r,readdir_r@GLIBC_2.2.5"); -__asm__(".symver readlink,readlink@GLIBC_2.2.5"); -__asm__(".symver readlinkat,readlinkat@GLIBC_2.4"); -__asm__(".symver readv,readv@GLIBC_2.2.5"); -__asm__(".symver realloc,realloc@GLIBC_2.2.5"); -__asm__(".symver realpath,realpath@GLIBC_2.3"); -__asm__(".symver reboot,reboot@GLIBC_2.2.5"); -__asm__(".symver recv,recv@GLIBC_2.2.5"); -__asm__(".symver recvfrom,recvfrom@GLIBC_2.2.5"); -__asm__(".symver recvmsg,recvmsg@GLIBC_2.2.5"); -__asm__(".symver regcomp,regcomp@GLIBC_2.2.5"); -__asm__(".symver regerror,regerror@GLIBC_2.2.5"); -__asm__(".symver regexec,regexec@GLIBC_2.3.4"); -__asm__(".symver regfree,regfree@GLIBC_2.2.5"); -__asm__(".symver register_printf_function,register_printf_function@GLIBC_2.2.5"); -__asm__(".symver registerrpc,registerrpc@GLIBC_2.2.5"); -__asm__(".symver remainder,remainder@GLIBC_2.2.5"); -__asm__(".symver remainderf,remainderf@GLIBC_2.2.5"); -__asm__(".symver remainderl,remainderl@GLIBC_2.2.5"); -__asm__(".symver remap_file_pages,remap_file_pages@GLIBC_2.3.3"); -__asm__(".symver remove,remove@GLIBC_2.2.5"); -__asm__(".symver removexattr,removexattr@GLIBC_2.3"); -__asm__(".symver remque,remque@GLIBC_2.2.5"); -__asm__(".symver remquo,remquo@GLIBC_2.2.5"); -__asm__(".symver remquof,remquof@GLIBC_2.2.5"); -__asm__(".symver remquol,remquol@GLIBC_2.2.5"); -__asm__(".symver rename,rename@GLIBC_2.2.5"); -__asm__(".symver renameat,renameat@GLIBC_2.4"); -__asm__(".symver res_gethostbyaddr,res_gethostbyaddr@GLIBC_2.2.5"); -__asm__(".symver res_gethostbyname,res_gethostbyname@GLIBC_2.2.5"); -__asm__(".symver res_gethostbyname2,res_gethostbyname2@GLIBC_2.2.5"); -__asm__(".symver res_send_setqhook,res_send_setqhook@GLIBC_2.2.5"); -__asm__(".symver res_send_setrhook,res_send_setrhook@GLIBC_2.2.5"); -__asm__(".symver revoke,revoke@GLIBC_2.2.5"); -__asm__(".symver rewind,rewind@GLIBC_2.2.5"); -__asm__(".symver rewinddir,rewinddir@GLIBC_2.2.5"); -__asm__(".symver rexec,rexec@GLIBC_2.2.5"); -__asm__(".symver rexec_af,rexec_af@GLIBC_2.2.5"); -__asm__(".symver rexecoptions,rexecoptions@GLIBC_2.2.5"); -__asm__(".symver rindex,rindex@GLIBC_2.2.5"); -__asm__(".symver rint,rint@GLIBC_2.2.5"); -__asm__(".symver rintf,rintf@GLIBC_2.2.5"); -__asm__(".symver rintl,rintl@GLIBC_2.2.5"); -__asm__(".symver rmdir,rmdir@GLIBC_2.2.5"); -__asm__(".symver round,round@GLIBC_2.2.5"); -__asm__(".symver roundf,roundf@GLIBC_2.2.5"); -__asm__(".symver roundl,roundl@GLIBC_2.2.5"); -__asm__(".symver rpc_createerr,rpc_createerr@GLIBC_2.2.5"); -__asm__(".symver rpmatch,rpmatch@GLIBC_2.2.5"); -__asm__(".symver rresvport,rresvport@GLIBC_2.2.5"); -__asm__(".symver rresvport_af,rresvport_af@GLIBC_2.2.5"); -__asm__(".symver rtime,rtime@GLIBC_2.2.5"); -__asm__(".symver ruserok,ruserok@GLIBC_2.2.5"); -__asm__(".symver ruserok_af,ruserok_af@GLIBC_2.2.5"); -__asm__(".symver ruserpass,ruserpass@GLIBC_2.2.5"); -__asm__(".symver sbrk,sbrk@GLIBC_2.2.5"); -__asm__(".symver scalb,scalb@GLIBC_2.2.5"); -__asm__(".symver scalbf,scalbf@GLIBC_2.2.5"); -__asm__(".symver scalbl,scalbl@GLIBC_2.2.5"); -__asm__(".symver scalbln,scalbln@GLIBC_2.2.5"); -__asm__(".symver scalblnf,scalblnf@GLIBC_2.2.5"); -__asm__(".symver scalblnl,scalblnl@GLIBC_2.2.5"); -__asm__(".symver scalbn,scalbn@GLIBC_2.2.5"); -__asm__(".symver scalbnf,scalbnf@GLIBC_2.2.5"); -__asm__(".symver scalbnl,scalbnl@GLIBC_2.2.5"); -__asm__(".symver scandir,scandir@GLIBC_2.2.5"); -__asm__(".symver scandir64,scandir64@GLIBC_2.2.5"); -__asm__(".symver scanf,scanf@GLIBC_2.2.5"); -__asm__(".symver sched_get_priority_max,sched_get_priority_max@GLIBC_2.2.5"); -__asm__(".symver sched_get_priority_min,sched_get_priority_min@GLIBC_2.2.5"); -__asm__(".symver sched_getaffinity,sched_getaffinity@GLIBC_2.3.4"); -__asm__(".symver sched_getparam,sched_getparam@GLIBC_2.2.5"); -__asm__(".symver sched_getscheduler,sched_getscheduler@GLIBC_2.2.5"); -__asm__(".symver sched_rr_get_interval,sched_rr_get_interval@GLIBC_2.2.5"); -__asm__(".symver sched_setaffinity,sched_setaffinity@GLIBC_2.3.4"); -__asm__(".symver sched_setparam,sched_setparam@GLIBC_2.2.5"); -__asm__(".symver sched_setscheduler,sched_setscheduler@GLIBC_2.2.5"); -__asm__(".symver sched_yield,sched_yield@GLIBC_2.2.5"); -__asm__(".symver seed48,seed48@GLIBC_2.2.5"); -__asm__(".symver seed48_r,seed48_r@GLIBC_2.2.5"); -__asm__(".symver seekdir,seekdir@GLIBC_2.2.5"); -__asm__(".symver select,select@GLIBC_2.2.5"); -__asm__(".symver sem_close,sem_close@GLIBC_2.2.5"); -__asm__(".symver sem_destroy,sem_destroy@GLIBC_2.2.5"); -__asm__(".symver sem_getvalue,sem_getvalue@GLIBC_2.2.5"); -__asm__(".symver sem_init,sem_init@GLIBC_2.2.5"); -__asm__(".symver sem_open,sem_open@GLIBC_2.2.5"); -__asm__(".symver sem_post,sem_post@GLIBC_2.2.5"); -__asm__(".symver sem_timedwait,sem_timedwait@GLIBC_2.2.5"); -__asm__(".symver sem_trywait,sem_trywait@GLIBC_2.2.5"); -__asm__(".symver sem_unlink,sem_unlink@GLIBC_2.2.5"); -__asm__(".symver sem_wait,sem_wait@GLIBC_2.2.5"); -__asm__(".symver semctl,semctl@GLIBC_2.2.5"); -__asm__(".symver semget,semget@GLIBC_2.2.5"); -__asm__(".symver semop,semop@GLIBC_2.2.5"); -__asm__(".symver semtimedop,semtimedop@GLIBC_2.3.3"); -__asm__(".symver send,send@GLIBC_2.2.5"); -__asm__(".symver sendfile,sendfile@GLIBC_2.2.5"); -__asm__(".symver sendfile64,sendfile64@GLIBC_2.3"); -__asm__(".symver sendmsg,sendmsg@GLIBC_2.2.5"); -__asm__(".symver sendto,sendto@GLIBC_2.2.5"); -__asm__(".symver setaliasent,setaliasent@GLIBC_2.2.5"); -__asm__(".symver setbuf,setbuf@GLIBC_2.2.5"); -__asm__(".symver setbuffer,setbuffer@GLIBC_2.2.5"); -__asm__(".symver setcontext,setcontext@GLIBC_2.2.5"); -__asm__(".symver setdomainname,setdomainname@GLIBC_2.2.5"); -__asm__(".symver setegid,setegid@GLIBC_2.2.5"); -__asm__(".symver setenv,setenv@GLIBC_2.2.5"); -__asm__(".symver seteuid,seteuid@GLIBC_2.2.5"); -__asm__(".symver setfsent,setfsent@GLIBC_2.2.5"); -__asm__(".symver setfsgid,setfsgid@GLIBC_2.2.5"); -__asm__(".symver setfsuid,setfsuid@GLIBC_2.2.5"); -__asm__(".symver setgid,setgid@GLIBC_2.2.5"); -__asm__(".symver setgrent,setgrent@GLIBC_2.2.5"); -__asm__(".symver setgroups,setgroups@GLIBC_2.2.5"); -__asm__(".symver sethostent,sethostent@GLIBC_2.2.5"); -__asm__(".symver sethostid,sethostid@GLIBC_2.2.5"); -__asm__(".symver sethostname,sethostname@GLIBC_2.2.5"); -__asm__(".symver setipv4sourcefilter,setipv4sourcefilter@GLIBC_2.3.4"); -__asm__(".symver setitimer,setitimer@GLIBC_2.2.5"); -__asm__(".symver setjmp,setjmp@GLIBC_2.2.5"); -__asm__(".symver setkey,setkey@GLIBC_2.2.5"); -__asm__(".symver setkey_r,setkey_r@GLIBC_2.2.5"); -__asm__(".symver setlinebuf,setlinebuf@GLIBC_2.2.5"); -__asm__(".symver setlocale,setlocale@GLIBC_2.2.5"); -__asm__(".symver setlogin,setlogin@GLIBC_2.2.5"); -__asm__(".symver setlogmask,setlogmask@GLIBC_2.2.5"); -__asm__(".symver setmntent,setmntent@GLIBC_2.2.5"); -__asm__(".symver setnetent,setnetent@GLIBC_2.2.5"); -__asm__(".symver setnetgrent,setnetgrent@GLIBC_2.2.5"); -__asm__(".symver setpgid,setpgid@GLIBC_2.2.5"); -__asm__(".symver setpgrp,setpgrp@GLIBC_2.2.5"); -__asm__(".symver setpriority,setpriority@GLIBC_2.2.5"); -__asm__(".symver setprotoent,setprotoent@GLIBC_2.2.5"); -__asm__(".symver setpwent,setpwent@GLIBC_2.2.5"); -__asm__(".symver setregid,setregid@GLIBC_2.2.5"); -__asm__(".symver setresgid,setresgid@GLIBC_2.2.5"); -__asm__(".symver setresuid,setresuid@GLIBC_2.2.5"); -__asm__(".symver setreuid,setreuid@GLIBC_2.2.5"); -__asm__(".symver setrlimit,setrlimit@GLIBC_2.2.5"); -__asm__(".symver setrlimit64,setrlimit64@GLIBC_2.2.5"); -__asm__(".symver setrpcent,setrpcent@GLIBC_2.2.5"); -__asm__(".symver setservent,setservent@GLIBC_2.2.5"); -__asm__(".symver setsid,setsid@GLIBC_2.2.5"); -__asm__(".symver setsockopt,setsockopt@GLIBC_2.2.5"); -__asm__(".symver setsourcefilter,setsourcefilter@GLIBC_2.3.4"); -__asm__(".symver setspent,setspent@GLIBC_2.2.5"); -__asm__(".symver setstate,setstate@GLIBC_2.2.5"); -__asm__(".symver setstate_r,setstate_r@GLIBC_2.2.5"); -__asm__(".symver settimeofday,settimeofday@GLIBC_2.2.5"); -__asm__(".symver setttyent,setttyent@GLIBC_2.2.5"); -__asm__(".symver setuid,setuid@GLIBC_2.2.5"); -__asm__(".symver setusershell,setusershell@GLIBC_2.2.5"); -__asm__(".symver setutent,setutent@GLIBC_2.2.5"); -__asm__(".symver setutxent,setutxent@GLIBC_2.2.5"); -__asm__(".symver setvbuf,setvbuf@GLIBC_2.2.5"); -__asm__(".symver setxattr,setxattr@GLIBC_2.3"); -__asm__(".symver sgetspent,sgetspent@GLIBC_2.2.5"); -__asm__(".symver sgetspent_r,sgetspent_r@GLIBC_2.2.5"); -__asm__(".symver shm_open,shm_open@GLIBC_2.2.5"); -__asm__(".symver shm_unlink,shm_unlink@GLIBC_2.2.5"); -__asm__(".symver shmat,shmat@GLIBC_2.2.5"); -__asm__(".symver shmctl,shmctl@GLIBC_2.2.5"); -__asm__(".symver shmdt,shmdt@GLIBC_2.2.5"); -__asm__(".symver shmget,shmget@GLIBC_2.2.5"); -__asm__(".symver shutdown,shutdown@GLIBC_2.2.5"); -__asm__(".symver sigaction,sigaction@GLIBC_2.2.5"); -__asm__(".symver sigaddset,sigaddset@GLIBC_2.2.5"); -__asm__(".symver sigaltstack,sigaltstack@GLIBC_2.2.5"); -__asm__(".symver sigandset,sigandset@GLIBC_2.2.5"); -__asm__(".symver sigblock,sigblock@GLIBC_2.2.5"); -__asm__(".symver sigdelset,sigdelset@GLIBC_2.2.5"); -__asm__(".symver sigemptyset,sigemptyset@GLIBC_2.2.5"); -__asm__(".symver sigfillset,sigfillset@GLIBC_2.2.5"); -__asm__(".symver siggetmask,siggetmask@GLIBC_2.2.5"); -__asm__(".symver sighold,sighold@GLIBC_2.2.5"); -__asm__(".symver sigignore,sigignore@GLIBC_2.2.5"); -__asm__(".symver siginterrupt,siginterrupt@GLIBC_2.2.5"); -__asm__(".symver sigisemptyset,sigisemptyset@GLIBC_2.2.5"); -__asm__(".symver sigismember,sigismember@GLIBC_2.2.5"); -__asm__(".symver siglongjmp,siglongjmp@GLIBC_2.2.5"); -__asm__(".symver signal,signal@GLIBC_2.2.5"); -__asm__(".symver signgam,signgam@GLIBC_2.2.5"); -__asm__(".symver significand,significand@GLIBC_2.2.5"); -__asm__(".symver significandf,significandf@GLIBC_2.2.5"); -__asm__(".symver significandl,significandl@GLIBC_2.2.5"); -__asm__(".symver sigorset,sigorset@GLIBC_2.2.5"); -__asm__(".symver sigpause,sigpause@GLIBC_2.2.5"); -__asm__(".symver sigpending,sigpending@GLIBC_2.2.5"); -__asm__(".symver sigprocmask,sigprocmask@GLIBC_2.2.5"); -__asm__(".symver sigqueue,sigqueue@GLIBC_2.2.5"); -__asm__(".symver sigrelse,sigrelse@GLIBC_2.2.5"); -__asm__(".symver sigreturn,sigreturn@GLIBC_2.2.5"); -__asm__(".symver sigset,sigset@GLIBC_2.2.5"); -__asm__(".symver sigsetmask,sigsetmask@GLIBC_2.2.5"); -__asm__(".symver sigstack,sigstack@GLIBC_2.2.5"); -__asm__(".symver sigsuspend,sigsuspend@GLIBC_2.2.5"); -__asm__(".symver sigtimedwait,sigtimedwait@GLIBC_2.2.5"); -__asm__(".symver sigvec,sigvec@GLIBC_2.2.5"); -__asm__(".symver sigwait,sigwait@GLIBC_2.2.5"); -__asm__(".symver sigwaitinfo,sigwaitinfo@GLIBC_2.2.5"); -__asm__(".symver sin,sin@GLIBC_2.2.5"); -__asm__(".symver sincos,sincos@GLIBC_2.2.5"); -__asm__(".symver sincosf,sincosf@GLIBC_2.2.5"); -__asm__(".symver sincosl,sincosl@GLIBC_2.2.5"); -__asm__(".symver sinf,sinf@GLIBC_2.2.5"); -__asm__(".symver sinh,sinh@GLIBC_2.2.5"); -__asm__(".symver sinhf,sinhf@GLIBC_2.2.5"); -__asm__(".symver sinhl,sinhl@GLIBC_2.2.5"); -__asm__(".symver sinl,sinl@GLIBC_2.2.5"); -__asm__(".symver sleep,sleep@GLIBC_2.2.5"); -__asm__(".symver snprintf,snprintf@GLIBC_2.2.5"); -__asm__(".symver sockatmark,sockatmark@GLIBC_2.2.5"); -__asm__(".symver socket,socket@GLIBC_2.2.5"); -__asm__(".symver socketpair,socketpair@GLIBC_2.2.5"); -__asm__(".symver splice,splice@GLIBC_2.5"); -__asm__(".symver sprintf,sprintf@GLIBC_2.2.5"); -__asm__(".symver sprofil,sprofil@GLIBC_2.2.5"); -__asm__(".symver sqrt,sqrt@GLIBC_2.2.5"); -__asm__(".symver sqrtf,sqrtf@GLIBC_2.2.5"); -__asm__(".symver sqrtl,sqrtl@GLIBC_2.2.5"); -__asm__(".symver srand,srand@GLIBC_2.2.5"); -__asm__(".symver srand48,srand48@GLIBC_2.2.5"); -__asm__(".symver srand48_r,srand48_r@GLIBC_2.2.5"); -__asm__(".symver srandom,srandom@GLIBC_2.2.5"); -__asm__(".symver srandom_r,srandom_r@GLIBC_2.2.5"); -__asm__(".symver sscanf,sscanf@GLIBC_2.2.5"); -__asm__(".symver ssignal,ssignal@GLIBC_2.2.5"); -__asm__(".symver sstk,sstk@GLIBC_2.2.5"); -__asm__(".symver statfs,statfs@GLIBC_2.2.5"); -__asm__(".symver statfs64,statfs64@GLIBC_2.2.5"); -__asm__(".symver statvfs,statvfs@GLIBC_2.2.5"); -__asm__(".symver statvfs64,statvfs64@GLIBC_2.2.5"); -__asm__(".symver stderr,stderr@GLIBC_2.2.5"); -__asm__(".symver stdin,stdin@GLIBC_2.2.5"); -__asm__(".symver stdout,stdout@GLIBC_2.2.5"); -__asm__(".symver step,step@GLIBC_2.2.5"); -__asm__(".symver stime,stime@GLIBC_2.2.5"); -__asm__(".symver stpcpy,stpcpy@GLIBC_2.2.5"); -__asm__(".symver stpncpy,stpncpy@GLIBC_2.2.5"); -__asm__(".symver strcasecmp,strcasecmp@GLIBC_2.2.5"); -__asm__(".symver strcasecmp_l,strcasecmp_l@GLIBC_2.3"); -__asm__(".symver strcasestr,strcasestr@GLIBC_2.2.5"); -__asm__(".symver strcat,strcat@GLIBC_2.2.5"); -__asm__(".symver strchr,strchr@GLIBC_2.2.5"); -__asm__(".symver strchrnul,strchrnul@GLIBC_2.2.5"); -__asm__(".symver strcmp,strcmp@GLIBC_2.2.5"); -__asm__(".symver strcoll,strcoll@GLIBC_2.2.5"); -__asm__(".symver strcoll_l,strcoll_l@GLIBC_2.3"); -__asm__(".symver strcpy,strcpy@GLIBC_2.2.5"); -__asm__(".symver strcspn,strcspn@GLIBC_2.2.5"); -__asm__(".symver strdup,strdup@GLIBC_2.2.5"); -__asm__(".symver strerror,strerror@GLIBC_2.2.5"); -__asm__(".symver strerror_r,strerror_r@GLIBC_2.2.5"); -__asm__(".symver strfmon,strfmon@GLIBC_2.2.5"); -__asm__(".symver strfmon_l,strfmon_l@GLIBC_2.3"); -__asm__(".symver strfry,strfry@GLIBC_2.2.5"); -__asm__(".symver strftime,strftime@GLIBC_2.2.5"); -__asm__(".symver strftime_l,strftime_l@GLIBC_2.3"); -__asm__(".symver strlen,strlen@GLIBC_2.2.5"); -__asm__(".symver strncasecmp,strncasecmp@GLIBC_2.2.5"); -__asm__(".symver strncasecmp_l,strncasecmp_l@GLIBC_2.3"); -__asm__(".symver strncat,strncat@GLIBC_2.2.5"); -__asm__(".symver strncmp,strncmp@GLIBC_2.2.5"); -__asm__(".symver strncpy,strncpy@GLIBC_2.2.5"); -__asm__(".symver strndup,strndup@GLIBC_2.2.5"); -__asm__(".symver strnlen,strnlen@GLIBC_2.2.5"); -__asm__(".symver strpbrk,strpbrk@GLIBC_2.2.5"); -__asm__(".symver strptime,strptime@GLIBC_2.2.5"); -__asm__(".symver strptime_l,strptime_l@GLIBC_2.3.2"); -__asm__(".symver strrchr,strrchr@GLIBC_2.2.5"); -__asm__(".symver strsep,strsep@GLIBC_2.2.5"); -__asm__(".symver strsignal,strsignal@GLIBC_2.2.5"); -__asm__(".symver strspn,strspn@GLIBC_2.2.5"); -__asm__(".symver strstr,strstr@GLIBC_2.2.5"); -__asm__(".symver strtod,strtod@GLIBC_2.2.5"); -__asm__(".symver strtod_l,strtod_l@GLIBC_2.3"); -__asm__(".symver strtof,strtof@GLIBC_2.2.5"); -__asm__(".symver strtof_l,strtof_l@GLIBC_2.3"); -__asm__(".symver strtoimax,strtoimax@GLIBC_2.2.5"); -__asm__(".symver strtok,strtok@GLIBC_2.2.5"); -__asm__(".symver strtok_r,strtok_r@GLIBC_2.2.5"); -__asm__(".symver strtol,strtol@GLIBC_2.2.5"); -__asm__(".symver strtol_l,strtol_l@GLIBC_2.3"); -__asm__(".symver strtold,strtold@GLIBC_2.2.5"); -__asm__(".symver strtold_l,strtold_l@GLIBC_2.3"); -__asm__(".symver strtoll,strtoll@GLIBC_2.2.5"); -__asm__(".symver strtoll_l,strtoll_l@GLIBC_2.3.3"); -__asm__(".symver strtoq,strtoq@GLIBC_2.2.5"); -__asm__(".symver strtoul,strtoul@GLIBC_2.2.5"); -__asm__(".symver strtoul_l,strtoul_l@GLIBC_2.3"); -__asm__(".symver strtoull,strtoull@GLIBC_2.2.5"); -__asm__(".symver strtoull_l,strtoull_l@GLIBC_2.3.3"); -__asm__(".symver strtoumax,strtoumax@GLIBC_2.2.5"); -__asm__(".symver strtouq,strtouq@GLIBC_2.2.5"); -__asm__(".symver strverscmp,strverscmp@GLIBC_2.2.5"); -__asm__(".symver strxfrm,strxfrm@GLIBC_2.2.5"); -__asm__(".symver strxfrm_l,strxfrm_l@GLIBC_2.3"); -__asm__(".symver stty,stty@GLIBC_2.2.5"); -__asm__(".symver svc_exit,svc_exit@GLIBC_2.2.5"); -__asm__(".symver svc_fdset,svc_fdset@GLIBC_2.2.5"); -__asm__(".symver svc_getreq,svc_getreq@GLIBC_2.2.5"); -__asm__(".symver svc_getreq_common,svc_getreq_common@GLIBC_2.2.5"); -__asm__(".symver svc_getreq_poll,svc_getreq_poll@GLIBC_2.2.5"); -__asm__(".symver svc_getreqset,svc_getreqset@GLIBC_2.2.5"); -__asm__(".symver svc_max_pollfd,svc_max_pollfd@GLIBC_2.2.5"); -__asm__(".symver svc_pollfd,svc_pollfd@GLIBC_2.2.5"); -__asm__(".symver svc_register,svc_register@GLIBC_2.2.5"); -__asm__(".symver svc_run,svc_run@GLIBC_2.2.5"); -__asm__(".symver svc_sendreply,svc_sendreply@GLIBC_2.2.5"); -__asm__(".symver svc_unregister,svc_unregister@GLIBC_2.2.5"); -__asm__(".symver svcauthdes_stats,svcauthdes_stats@GLIBC_2.2.5"); -__asm__(".symver svcerr_auth,svcerr_auth@GLIBC_2.2.5"); -__asm__(".symver svcerr_decode,svcerr_decode@GLIBC_2.2.5"); -__asm__(".symver svcerr_noproc,svcerr_noproc@GLIBC_2.2.5"); -__asm__(".symver svcerr_noprog,svcerr_noprog@GLIBC_2.2.5"); -__asm__(".symver svcerr_progvers,svcerr_progvers@GLIBC_2.2.5"); -__asm__(".symver svcerr_systemerr,svcerr_systemerr@GLIBC_2.2.5"); -__asm__(".symver svcerr_weakauth,svcerr_weakauth@GLIBC_2.2.5"); -__asm__(".symver svcfd_create,svcfd_create@GLIBC_2.2.5"); -__asm__(".symver svcraw_create,svcraw_create@GLIBC_2.2.5"); -__asm__(".symver svctcp_create,svctcp_create@GLIBC_2.2.5"); -__asm__(".symver svcudp_bufcreate,svcudp_bufcreate@GLIBC_2.2.5"); -__asm__(".symver svcudp_create,svcudp_create@GLIBC_2.2.5"); -__asm__(".symver svcudp_enablecache,svcudp_enablecache@GLIBC_2.2.5"); -__asm__(".symver svcunix_create,svcunix_create@GLIBC_2.2.5"); -__asm__(".symver svcunixfd_create,svcunixfd_create@GLIBC_2.2.5"); -__asm__(".symver swab,swab@GLIBC_2.2.5"); -__asm__(".symver swapcontext,swapcontext@GLIBC_2.2.5"); -__asm__(".symver swapoff,swapoff@GLIBC_2.2.5"); -__asm__(".symver swapon,swapon@GLIBC_2.2.5"); -__asm__(".symver swprintf,swprintf@GLIBC_2.2.5"); -__asm__(".symver swscanf,swscanf@GLIBC_2.2.5"); -__asm__(".symver symlink,symlink@GLIBC_2.2.5"); -__asm__(".symver symlinkat,symlinkat@GLIBC_2.4"); -__asm__(".symver sync,sync@GLIBC_2.2.5"); -__asm__(".symver sys_errlist,sys_errlist@GLIBC_2.4"); -__asm__(".symver sys_nerr,sys_nerr@GLIBC_2.4"); -__asm__(".symver sys_sigabbrev,sys_sigabbrev@GLIBC_2.3.3"); -__asm__(".symver sys_siglist,sys_siglist@GLIBC_2.3.3"); -__asm__(".symver syscall,syscall@GLIBC_2.2.5"); -__asm__(".symver sysconf,sysconf@GLIBC_2.2.5"); -__asm__(".symver sysctl,sysctl@GLIBC_2.2.5"); -__asm__(".symver sysinfo,sysinfo@GLIBC_2.2.5"); -__asm__(".symver syslog,syslog@GLIBC_2.2.5"); -__asm__(".symver system,system@GLIBC_2.2.5"); -__asm__(".symver sysv_signal,sysv_signal@GLIBC_2.2.5"); -__asm__(".symver tan,tan@GLIBC_2.2.5"); -__asm__(".symver tanf,tanf@GLIBC_2.2.5"); -__asm__(".symver tanh,tanh@GLIBC_2.2.5"); -__asm__(".symver tanhf,tanhf@GLIBC_2.2.5"); -__asm__(".symver tanhl,tanhl@GLIBC_2.2.5"); -__asm__(".symver tanl,tanl@GLIBC_2.2.5"); -__asm__(".symver tcdrain,tcdrain@GLIBC_2.2.5"); -__asm__(".symver tcflow,tcflow@GLIBC_2.2.5"); -__asm__(".symver tcflush,tcflush@GLIBC_2.2.5"); -__asm__(".symver tcgetattr,tcgetattr@GLIBC_2.2.5"); -__asm__(".symver tcgetpgrp,tcgetpgrp@GLIBC_2.2.5"); -__asm__(".symver tcgetsid,tcgetsid@GLIBC_2.2.5"); -__asm__(".symver tcsendbreak,tcsendbreak@GLIBC_2.2.5"); -__asm__(".symver tcsetattr,tcsetattr@GLIBC_2.2.5"); -__asm__(".symver tcsetpgrp,tcsetpgrp@GLIBC_2.2.5"); -__asm__(".symver td_init,td_init@GLIBC_2.2.5"); -__asm__(".symver td_log,td_log@GLIBC_2.2.5"); -__asm__(".symver td_symbol_list,td_symbol_list@GLIBC_2.2.5"); -__asm__(".symver td_ta_clear_event,td_ta_clear_event@GLIBC_2.2.5"); -__asm__(".symver td_ta_delete,td_ta_delete@GLIBC_2.2.5"); -__asm__(".symver td_ta_enable_stats,td_ta_enable_stats@GLIBC_2.2.5"); -__asm__(".symver td_ta_event_addr,td_ta_event_addr@GLIBC_2.2.5"); -__asm__(".symver td_ta_event_getmsg,td_ta_event_getmsg@GLIBC_2.2.5"); -__asm__(".symver td_ta_get_nthreads,td_ta_get_nthreads@GLIBC_2.2.5"); -__asm__(".symver td_ta_get_ph,td_ta_get_ph@GLIBC_2.2.5"); -__asm__(".symver td_ta_get_stats,td_ta_get_stats@GLIBC_2.2.5"); -__asm__(".symver td_ta_map_id2thr,td_ta_map_id2thr@GLIBC_2.2.5"); -__asm__(".symver td_ta_map_lwp2thr,td_ta_map_lwp2thr@GLIBC_2.2.5"); -__asm__(".symver td_ta_new,td_ta_new@GLIBC_2.2.5"); -__asm__(".symver td_ta_reset_stats,td_ta_reset_stats@GLIBC_2.2.5"); -__asm__(".symver td_ta_set_event,td_ta_set_event@GLIBC_2.2.5"); -__asm__(".symver td_ta_setconcurrency,td_ta_setconcurrency@GLIBC_2.2.5"); -__asm__(".symver td_ta_thr_iter,td_ta_thr_iter@GLIBC_2.2.5"); -__asm__(".symver td_ta_tsd_iter,td_ta_tsd_iter@GLIBC_2.2.5"); -__asm__(".symver td_thr_clear_event,td_thr_clear_event@GLIBC_2.2.5"); -__asm__(".symver td_thr_dbresume,td_thr_dbresume@GLIBC_2.2.5"); -__asm__(".symver td_thr_dbsuspend,td_thr_dbsuspend@GLIBC_2.2.5"); -__asm__(".symver td_thr_event_enable,td_thr_event_enable@GLIBC_2.2.5"); -__asm__(".symver td_thr_event_getmsg,td_thr_event_getmsg@GLIBC_2.2.5"); -__asm__(".symver td_thr_get_info,td_thr_get_info@GLIBC_2.2.5"); -__asm__(".symver td_thr_getfpregs,td_thr_getfpregs@GLIBC_2.2.5"); -__asm__(".symver td_thr_getgregs,td_thr_getgregs@GLIBC_2.2.5"); -__asm__(".symver td_thr_getxregs,td_thr_getxregs@GLIBC_2.2.5"); -__asm__(".symver td_thr_getxregsize,td_thr_getxregsize@GLIBC_2.2.5"); -__asm__(".symver td_thr_set_event,td_thr_set_event@GLIBC_2.2.5"); -__asm__(".symver td_thr_setfpregs,td_thr_setfpregs@GLIBC_2.2.5"); -__asm__(".symver td_thr_setgregs,td_thr_setgregs@GLIBC_2.2.5"); -__asm__(".symver td_thr_setprio,td_thr_setprio@GLIBC_2.2.5"); -__asm__(".symver td_thr_setsigpending,td_thr_setsigpending@GLIBC_2.2.5"); -__asm__(".symver td_thr_setxregs,td_thr_setxregs@GLIBC_2.2.5"); -__asm__(".symver td_thr_sigsetmask,td_thr_sigsetmask@GLIBC_2.2.5"); -__asm__(".symver td_thr_tls_get_addr,td_thr_tls_get_addr@GLIBC_2.3"); -__asm__(".symver td_thr_tlsbase,td_thr_tlsbase@GLIBC_2.3.3"); -__asm__(".symver td_thr_tsd,td_thr_tsd@GLIBC_2.2.5"); -__asm__(".symver td_thr_validate,td_thr_validate@GLIBC_2.2.5"); -__asm__(".symver tdelete,tdelete@GLIBC_2.2.5"); -__asm__(".symver tdestroy,tdestroy@GLIBC_2.2.5"); -__asm__(".symver tee,tee@GLIBC_2.5"); -__asm__(".symver telldir,telldir@GLIBC_2.2.5"); -__asm__(".symver tempnam,tempnam@GLIBC_2.2.5"); -__asm__(".symver textdomain,textdomain@GLIBC_2.2.5"); -__asm__(".symver tfind,tfind@GLIBC_2.2.5"); -__asm__(".symver tgamma,tgamma@GLIBC_2.2.5"); -__asm__(".symver tgammaf,tgammaf@GLIBC_2.2.5"); -__asm__(".symver tgammal,tgammal@GLIBC_2.2.5"); -__asm__(".symver time,time@GLIBC_2.2.5"); -__asm__(".symver timegm,timegm@GLIBC_2.2.5"); -__asm__(".symver timelocal,timelocal@GLIBC_2.2.5"); -__asm__(".symver timer_create,timer_create@GLIBC_2.3.3"); -__asm__(".symver timer_delete,timer_delete@GLIBC_2.3.3"); -__asm__(".symver timer_getoverrun,timer_getoverrun@GLIBC_2.3.3"); -__asm__(".symver timer_gettime,timer_gettime@GLIBC_2.3.3"); -__asm__(".symver timer_settime,timer_settime@GLIBC_2.3.3"); -__asm__(".symver times,times@GLIBC_2.2.5"); -__asm__(".symver timezone,timezone@GLIBC_2.2.5"); -__asm__(".symver tmpfile,tmpfile@GLIBC_2.2.5"); -__asm__(".symver tmpfile64,tmpfile64@GLIBC_2.2.5"); -__asm__(".symver tmpnam,tmpnam@GLIBC_2.2.5"); -__asm__(".symver tmpnam_r,tmpnam_r@GLIBC_2.2.5"); -__asm__(".symver toascii,toascii@GLIBC_2.2.5"); -__asm__(".symver tolower,tolower@GLIBC_2.2.5"); -__asm__(".symver tolower_l,tolower_l@GLIBC_2.3"); -__asm__(".symver toupper,toupper@GLIBC_2.2.5"); -__asm__(".symver toupper_l,toupper_l@GLIBC_2.3"); -__asm__(".symver towctrans,towctrans@GLIBC_2.2.5"); -__asm__(".symver towctrans_l,towctrans_l@GLIBC_2.3"); -__asm__(".symver towlower,towlower@GLIBC_2.2.5"); -__asm__(".symver towlower_l,towlower_l@GLIBC_2.3"); -__asm__(".symver towupper,towupper@GLIBC_2.2.5"); -__asm__(".symver towupper_l,towupper_l@GLIBC_2.3"); -__asm__(".symver tr_break,tr_break@GLIBC_2.2.5"); -__asm__(".symver trunc,trunc@GLIBC_2.2.5"); -__asm__(".symver truncate,truncate@GLIBC_2.2.5"); -__asm__(".symver truncate64,truncate64@GLIBC_2.2.5"); -__asm__(".symver truncf,truncf@GLIBC_2.2.5"); -__asm__(".symver truncl,truncl@GLIBC_2.2.5"); -__asm__(".symver tsearch,tsearch@GLIBC_2.2.5"); -__asm__(".symver ttyname,ttyname@GLIBC_2.2.5"); -__asm__(".symver ttyname_r,ttyname_r@GLIBC_2.2.5"); -__asm__(".symver ttyslot,ttyslot@GLIBC_2.2.5"); -__asm__(".symver twalk,twalk@GLIBC_2.2.5"); -__asm__(".symver tzname,tzname@GLIBC_2.2.5"); -__asm__(".symver tzset,tzset@GLIBC_2.2.5"); -__asm__(".symver ualarm,ualarm@GLIBC_2.2.5"); -__asm__(".symver ulckpwdf,ulckpwdf@GLIBC_2.2.5"); -__asm__(".symver ulimit,ulimit@GLIBC_2.2.5"); -__asm__(".symver umask,umask@GLIBC_2.2.5"); -__asm__(".symver umount,umount@GLIBC_2.2.5"); -__asm__(".symver umount2,umount2@GLIBC_2.2.5"); -__asm__(".symver uname,uname@GLIBC_2.2.5"); -__asm__(".symver ungetc,ungetc@GLIBC_2.2.5"); -__asm__(".symver ungetwc,ungetwc@GLIBC_2.2.5"); -__asm__(".symver unlink,unlink@GLIBC_2.2.5"); -__asm__(".symver unlinkat,unlinkat@GLIBC_2.4"); -__asm__(".symver unlockpt,unlockpt@GLIBC_2.2.5"); -__asm__(".symver unsetenv,unsetenv@GLIBC_2.2.5"); -__asm__(".symver unshare,unshare@GLIBC_2.4"); -__asm__(".symver updwtmp,updwtmp@GLIBC_2.2.5"); -__asm__(".symver updwtmpx,updwtmpx@GLIBC_2.2.5"); -__asm__(".symver uselib,uselib@GLIBC_2.2.5"); -__asm__(".symver uselocale,uselocale@GLIBC_2.3"); -__asm__(".symver user2netname,user2netname@GLIBC_2.2.5"); -__asm__(".symver usleep,usleep@GLIBC_2.2.5"); -__asm__(".symver ustat,ustat@GLIBC_2.2.5"); -__asm__(".symver utime,utime@GLIBC_2.2.5"); -__asm__(".symver utimes,utimes@GLIBC_2.2.5"); -__asm__(".symver utmpname,utmpname@GLIBC_2.2.5"); -__asm__(".symver utmpxname,utmpxname@GLIBC_2.2.5"); -__asm__(".symver valloc,valloc@GLIBC_2.2.5"); -__asm__(".symver vasprintf,vasprintf@GLIBC_2.2.5"); -__asm__(".symver vdprintf,vdprintf@GLIBC_2.2.5"); -__asm__(".symver verr,verr@GLIBC_2.2.5"); -__asm__(".symver verrx,verrx@GLIBC_2.2.5"); -__asm__(".symver versionsort,versionsort@GLIBC_2.2.5"); -__asm__(".symver versionsort64,versionsort64@GLIBC_2.2.5"); -__asm__(".symver vfork,vfork@GLIBC_2.2.5"); -__asm__(".symver vfprintf,vfprintf@GLIBC_2.2.5"); -__asm__(".symver vfscanf,vfscanf@GLIBC_2.2.5"); -__asm__(".symver vfwprintf,vfwprintf@GLIBC_2.2.5"); -__asm__(".symver vfwscanf,vfwscanf@GLIBC_2.2.5"); -__asm__(".symver vhangup,vhangup@GLIBC_2.2.5"); -__asm__(".symver vlimit,vlimit@GLIBC_2.2.5"); -__asm__(".symver vmsplice,vmsplice@GLIBC_2.5"); -__asm__(".symver vprintf,vprintf@GLIBC_2.2.5"); -__asm__(".symver vscanf,vscanf@GLIBC_2.2.5"); -__asm__(".symver vsnprintf,vsnprintf@GLIBC_2.2.5"); -__asm__(".symver vsprintf,vsprintf@GLIBC_2.2.5"); -__asm__(".symver vsscanf,vsscanf@GLIBC_2.2.5"); -__asm__(".symver vswprintf,vswprintf@GLIBC_2.2.5"); -__asm__(".symver vswscanf,vswscanf@GLIBC_2.2.5"); -__asm__(".symver vsyslog,vsyslog@GLIBC_2.2.5"); -__asm__(".symver vtimes,vtimes@GLIBC_2.2.5"); -__asm__(".symver vwarn,vwarn@GLIBC_2.2.5"); -__asm__(".symver vwarnx,vwarnx@GLIBC_2.2.5"); -__asm__(".symver vwprintf,vwprintf@GLIBC_2.2.5"); -__asm__(".symver vwscanf,vwscanf@GLIBC_2.2.5"); -__asm__(".symver wait,wait@GLIBC_2.2.5"); -__asm__(".symver wait3,wait3@GLIBC_2.2.5"); -__asm__(".symver wait4,wait4@GLIBC_2.2.5"); -__asm__(".symver waitid,waitid@GLIBC_2.2.5"); -__asm__(".symver waitpid,waitpid@GLIBC_2.2.5"); -__asm__(".symver warn,warn@GLIBC_2.2.5"); -__asm__(".symver warnx,warnx@GLIBC_2.2.5"); -__asm__(".symver wcpcpy,wcpcpy@GLIBC_2.2.5"); -__asm__(".symver wcpncpy,wcpncpy@GLIBC_2.2.5"); -__asm__(".symver wcrtomb,wcrtomb@GLIBC_2.2.5"); -__asm__(".symver wcscasecmp,wcscasecmp@GLIBC_2.2.5"); -__asm__(".symver wcscasecmp_l,wcscasecmp_l@GLIBC_2.3"); -__asm__(".symver wcscat,wcscat@GLIBC_2.2.5"); -__asm__(".symver wcschr,wcschr@GLIBC_2.2.5"); -__asm__(".symver wcschrnul,wcschrnul@GLIBC_2.2.5"); -__asm__(".symver wcscmp,wcscmp@GLIBC_2.2.5"); -__asm__(".symver wcscoll,wcscoll@GLIBC_2.2.5"); -__asm__(".symver wcscoll_l,wcscoll_l@GLIBC_2.3"); -__asm__(".symver wcscpy,wcscpy@GLIBC_2.2.5"); -__asm__(".symver wcscspn,wcscspn@GLIBC_2.2.5"); -__asm__(".symver wcsdup,wcsdup@GLIBC_2.2.5"); -__asm__(".symver wcsftime,wcsftime@GLIBC_2.2.5"); -__asm__(".symver wcsftime_l,wcsftime_l@GLIBC_2.3"); -__asm__(".symver wcslen,wcslen@GLIBC_2.2.5"); -__asm__(".symver wcsncasecmp,wcsncasecmp@GLIBC_2.2.5"); -__asm__(".symver wcsncasecmp_l,wcsncasecmp_l@GLIBC_2.3"); -__asm__(".symver wcsncat,wcsncat@GLIBC_2.2.5"); -__asm__(".symver wcsncmp,wcsncmp@GLIBC_2.2.5"); -__asm__(".symver wcsncpy,wcsncpy@GLIBC_2.2.5"); -__asm__(".symver wcsnlen,wcsnlen@GLIBC_2.2.5"); -__asm__(".symver wcsnrtombs,wcsnrtombs@GLIBC_2.2.5"); -__asm__(".symver wcspbrk,wcspbrk@GLIBC_2.2.5"); -__asm__(".symver wcsrchr,wcsrchr@GLIBC_2.2.5"); -__asm__(".symver wcsrtombs,wcsrtombs@GLIBC_2.2.5"); -__asm__(".symver wcsspn,wcsspn@GLIBC_2.2.5"); -__asm__(".symver wcsstr,wcsstr@GLIBC_2.2.5"); -__asm__(".symver wcstod,wcstod@GLIBC_2.2.5"); -__asm__(".symver wcstod_l,wcstod_l@GLIBC_2.3"); -__asm__(".symver wcstof,wcstof@GLIBC_2.2.5"); -__asm__(".symver wcstof_l,wcstof_l@GLIBC_2.3"); -__asm__(".symver wcstoimax,wcstoimax@GLIBC_2.2.5"); -__asm__(".symver wcstok,wcstok@GLIBC_2.2.5"); -__asm__(".symver wcstol,wcstol@GLIBC_2.2.5"); -__asm__(".symver wcstol_l,wcstol_l@GLIBC_2.3"); -__asm__(".symver wcstold,wcstold@GLIBC_2.2.5"); -__asm__(".symver wcstold_l,wcstold_l@GLIBC_2.3"); -__asm__(".symver wcstoll,wcstoll@GLIBC_2.2.5"); -__asm__(".symver wcstoll_l,wcstoll_l@GLIBC_2.3"); -__asm__(".symver wcstombs,wcstombs@GLIBC_2.2.5"); -__asm__(".symver wcstoq,wcstoq@GLIBC_2.2.5"); -__asm__(".symver wcstoul,wcstoul@GLIBC_2.2.5"); -__asm__(".symver wcstoul_l,wcstoul_l@GLIBC_2.3"); -__asm__(".symver wcstoull,wcstoull@GLIBC_2.2.5"); -__asm__(".symver wcstoull_l,wcstoull_l@GLIBC_2.3"); -__asm__(".symver wcstoumax,wcstoumax@GLIBC_2.2.5"); -__asm__(".symver wcstouq,wcstouq@GLIBC_2.2.5"); -__asm__(".symver wcswcs,wcswcs@GLIBC_2.2.5"); -__asm__(".symver wcswidth,wcswidth@GLIBC_2.2.5"); -__asm__(".symver wcsxfrm,wcsxfrm@GLIBC_2.2.5"); -__asm__(".symver wcsxfrm_l,wcsxfrm_l@GLIBC_2.3"); -__asm__(".symver wctob,wctob@GLIBC_2.2.5"); -__asm__(".symver wctomb,wctomb@GLIBC_2.2.5"); -__asm__(".symver wctrans,wctrans@GLIBC_2.2.5"); -__asm__(".symver wctrans_l,wctrans_l@GLIBC_2.3"); -__asm__(".symver wctype,wctype@GLIBC_2.2.5"); -__asm__(".symver wctype_l,wctype_l@GLIBC_2.3"); -__asm__(".symver wcwidth,wcwidth@GLIBC_2.2.5"); -__asm__(".symver wmemchr,wmemchr@GLIBC_2.2.5"); -__asm__(".symver wmemcmp,wmemcmp@GLIBC_2.2.5"); -__asm__(".symver wmemcpy,wmemcpy@GLIBC_2.2.5"); -__asm__(".symver wmemmove,wmemmove@GLIBC_2.2.5"); -__asm__(".symver wmempcpy,wmempcpy@GLIBC_2.2.5"); -__asm__(".symver wmemset,wmemset@GLIBC_2.2.5"); -__asm__(".symver wordexp,wordexp@GLIBC_2.2.5"); -__asm__(".symver wordfree,wordfree@GLIBC_2.2.5"); -__asm__(".symver wprintf,wprintf@GLIBC_2.2.5"); -__asm__(".symver write,write@GLIBC_2.2.5"); -__asm__(".symver writeColdStartFile,writeColdStartFile@GLIBC_2.2.5"); -__asm__(".symver writev,writev@GLIBC_2.2.5"); -__asm__(".symver wscanf,wscanf@GLIBC_2.2.5"); -__asm__(".symver xdecrypt,xdecrypt@GLIBC_2.2.5"); -__asm__(".symver xdr_accepted_reply,xdr_accepted_reply@GLIBC_2.2.5"); -__asm__(".symver xdr_array,xdr_array@GLIBC_2.2.5"); -__asm__(".symver xdr_authdes_cred,xdr_authdes_cred@GLIBC_2.2.5"); -__asm__(".symver xdr_authdes_verf,xdr_authdes_verf@GLIBC_2.2.5"); -__asm__(".symver xdr_authunix_parms,xdr_authunix_parms@GLIBC_2.2.5"); -__asm__(".symver xdr_bool,xdr_bool@GLIBC_2.2.5"); -__asm__(".symver xdr_bytes,xdr_bytes@GLIBC_2.2.5"); -__asm__(".symver xdr_callhdr,xdr_callhdr@GLIBC_2.2.5"); -__asm__(".symver xdr_callmsg,xdr_callmsg@GLIBC_2.2.5"); -__asm__(".symver xdr_cback_data,xdr_cback_data@GLIBC_2.2.5"); -__asm__(".symver xdr_char,xdr_char@GLIBC_2.2.5"); -__asm__(".symver xdr_cryptkeyarg,xdr_cryptkeyarg@GLIBC_2.2.5"); -__asm__(".symver xdr_cryptkeyarg2,xdr_cryptkeyarg2@GLIBC_2.2.5"); -__asm__(".symver xdr_cryptkeyres,xdr_cryptkeyres@GLIBC_2.2.5"); -__asm__(".symver xdr_des_block,xdr_des_block@GLIBC_2.2.5"); -__asm__(".symver xdr_domainname,xdr_domainname@GLIBC_2.2.5"); -__asm__(".symver xdr_double,xdr_double@GLIBC_2.2.5"); -__asm__(".symver xdr_enum,xdr_enum@GLIBC_2.2.5"); -__asm__(".symver xdr_float,xdr_float@GLIBC_2.2.5"); -__asm__(".symver xdr_free,xdr_free@GLIBC_2.2.5"); -__asm__(".symver xdr_getcredres,xdr_getcredres@GLIBC_2.2.5"); -__asm__(".symver xdr_hyper,xdr_hyper@GLIBC_2.2.5"); -__asm__(".symver xdr_int,xdr_int@GLIBC_2.2.5"); -__asm__(".symver xdr_int16_t,xdr_int16_t@GLIBC_2.2.5"); -__asm__(".symver xdr_int32_t,xdr_int32_t@GLIBC_2.2.5"); -__asm__(".symver xdr_int64_t,xdr_int64_t@GLIBC_2.2.5"); -__asm__(".symver xdr_int8_t,xdr_int8_t@GLIBC_2.2.5"); -__asm__(".symver xdr_key_netstarg,xdr_key_netstarg@GLIBC_2.2.5"); -__asm__(".symver xdr_key_netstres,xdr_key_netstres@GLIBC_2.2.5"); -__asm__(".symver xdr_keybuf,xdr_keybuf@GLIBC_2.2.5"); -__asm__(".symver xdr_keydat,xdr_keydat@GLIBC_2.2.5"); -__asm__(".symver xdr_keystatus,xdr_keystatus@GLIBC_2.2.5"); -__asm__(".symver xdr_long,xdr_long@GLIBC_2.2.5"); -__asm__(".symver xdr_longlong_t,xdr_longlong_t@GLIBC_2.2.5"); -__asm__(".symver xdr_mapname,xdr_mapname@GLIBC_2.2.5"); -__asm__(".symver xdr_netnamestr,xdr_netnamestr@GLIBC_2.2.5"); -__asm__(".symver xdr_netobj,xdr_netobj@GLIBC_2.2.5"); -__asm__(".symver xdr_obj_p,xdr_obj_p@GLIBC_2.2.5"); -__asm__(".symver xdr_opaque,xdr_opaque@GLIBC_2.2.5"); -__asm__(".symver xdr_opaque_auth,xdr_opaque_auth@GLIBC_2.2.5"); -__asm__(".symver xdr_peername,xdr_peername@GLIBC_2.2.5"); -__asm__(".symver xdr_pmap,xdr_pmap@GLIBC_2.2.5"); -__asm__(".symver xdr_pmaplist,xdr_pmaplist@GLIBC_2.2.5"); -__asm__(".symver xdr_pointer,xdr_pointer@GLIBC_2.2.5"); -__asm__(".symver xdr_quad_t,xdr_quad_t@GLIBC_2.3.4"); -__asm__(".symver xdr_reference,xdr_reference@GLIBC_2.2.5"); -__asm__(".symver xdr_rejected_reply,xdr_rejected_reply@GLIBC_2.2.5"); -__asm__(".symver xdr_replymsg,xdr_replymsg@GLIBC_2.2.5"); -__asm__(".symver xdr_rmtcall_args,xdr_rmtcall_args@GLIBC_2.2.5"); -__asm__(".symver xdr_rmtcallres,xdr_rmtcallres@GLIBC_2.2.5"); -__asm__(".symver xdr_short,xdr_short@GLIBC_2.2.5"); -__asm__(".symver xdr_sizeof,xdr_sizeof@GLIBC_2.2.5"); -__asm__(".symver xdr_string,xdr_string@GLIBC_2.2.5"); -__asm__(".symver xdr_u_char,xdr_u_char@GLIBC_2.2.5"); -__asm__(".symver xdr_u_hyper,xdr_u_hyper@GLIBC_2.2.5"); -__asm__(".symver xdr_u_int,xdr_u_int@GLIBC_2.2.5"); -__asm__(".symver xdr_u_long,xdr_u_long@GLIBC_2.2.5"); -__asm__(".symver xdr_u_longlong_t,xdr_u_longlong_t@GLIBC_2.2.5"); -__asm__(".symver xdr_u_quad_t,xdr_u_quad_t@GLIBC_2.3.4"); -__asm__(".symver xdr_u_short,xdr_u_short@GLIBC_2.2.5"); -__asm__(".symver xdr_uint16_t,xdr_uint16_t@GLIBC_2.2.5"); -__asm__(".symver xdr_uint32_t,xdr_uint32_t@GLIBC_2.2.5"); -__asm__(".symver xdr_uint64_t,xdr_uint64_t@GLIBC_2.2.5"); -__asm__(".symver xdr_uint8_t,xdr_uint8_t@GLIBC_2.2.5"); -__asm__(".symver xdr_union,xdr_union@GLIBC_2.2.5"); -__asm__(".symver xdr_unixcred,xdr_unixcred@GLIBC_2.2.5"); -__asm__(".symver xdr_valdat,xdr_valdat@GLIBC_2.2.5"); -__asm__(".symver xdr_vector,xdr_vector@GLIBC_2.2.5"); -__asm__(".symver xdr_void,xdr_void@GLIBC_2.2.5"); -__asm__(".symver xdr_wrapstring,xdr_wrapstring@GLIBC_2.2.5"); -__asm__(".symver xdr_yp_buf,xdr_yp_buf@GLIBC_2.2.5"); -__asm__(".symver xdr_ypall,xdr_ypall@GLIBC_2.2.5"); -__asm__(".symver xdr_ypbind_binding,xdr_ypbind_binding@GLIBC_2.2.5"); -__asm__(".symver xdr_ypbind_resp,xdr_ypbind_resp@GLIBC_2.2.5"); -__asm__(".symver xdr_ypbind_resptype,xdr_ypbind_resptype@GLIBC_2.2.5"); -__asm__(".symver xdr_ypbind_setdom,xdr_ypbind_setdom@GLIBC_2.2.5"); -__asm__(".symver xdr_ypdelete_args,xdr_ypdelete_args@GLIBC_2.2.5"); -__asm__(".symver xdr_ypmap_parms,xdr_ypmap_parms@GLIBC_2.2.5"); -__asm__(".symver xdr_ypmaplist,xdr_ypmaplist@GLIBC_2.2.5"); -__asm__(".symver xdr_yppush_status,xdr_yppush_status@GLIBC_2.2.5"); -__asm__(".symver xdr_yppushresp_xfr,xdr_yppushresp_xfr@GLIBC_2.2.5"); -__asm__(".symver xdr_ypreq_key,xdr_ypreq_key@GLIBC_2.2.5"); -__asm__(".symver xdr_ypreq_nokey,xdr_ypreq_nokey@GLIBC_2.2.5"); -__asm__(".symver xdr_ypreq_xfr,xdr_ypreq_xfr@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_all,xdr_ypresp_all@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_key_val,xdr_ypresp_key_val@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_maplist,xdr_ypresp_maplist@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_master,xdr_ypresp_master@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_order,xdr_ypresp_order@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_val,xdr_ypresp_val@GLIBC_2.2.5"); -__asm__(".symver xdr_ypresp_xfr,xdr_ypresp_xfr@GLIBC_2.2.5"); -__asm__(".symver xdr_ypstat,xdr_ypstat@GLIBC_2.2.5"); -__asm__(".symver xdr_ypupdate_args,xdr_ypupdate_args@GLIBC_2.2.5"); -__asm__(".symver xdr_ypxfrstat,xdr_ypxfrstat@GLIBC_2.2.5"); -__asm__(".symver xdrmem_create,xdrmem_create@GLIBC_2.2.5"); -__asm__(".symver xdrrec_create,xdrrec_create@GLIBC_2.2.5"); -__asm__(".symver xdrrec_endofrecord,xdrrec_endofrecord@GLIBC_2.2.5"); -__asm__(".symver xdrrec_eof,xdrrec_eof@GLIBC_2.2.5"); -__asm__(".symver xdrrec_skiprecord,xdrrec_skiprecord@GLIBC_2.2.5"); -__asm__(".symver xdrstdio_create,xdrstdio_create@GLIBC_2.2.5"); -__asm__(".symver xencrypt,xencrypt@GLIBC_2.2.5"); -__asm__(".symver xprt_register,xprt_register@GLIBC_2.2.5"); -__asm__(".symver xprt_unregister,xprt_unregister@GLIBC_2.2.5"); -__asm__(".symver y0,y0@GLIBC_2.2.5"); -__asm__(".symver y0f,y0f@GLIBC_2.2.5"); -__asm__(".symver y0l,y0l@GLIBC_2.2.5"); -__asm__(".symver y1,y1@GLIBC_2.2.5"); -__asm__(".symver y1f,y1f@GLIBC_2.2.5"); -__asm__(".symver y1l,y1l@GLIBC_2.2.5"); -__asm__(".symver yn,yn@GLIBC_2.2.5"); -__asm__(".symver ynf,ynf@GLIBC_2.2.5"); -__asm__(".symver ynl,ynl@GLIBC_2.2.5"); -__asm__(".symver yp_all,yp_all@GLIBC_2.2.5"); -__asm__(".symver yp_bind,yp_bind@GLIBC_2.2.5"); -__asm__(".symver yp_first,yp_first@GLIBC_2.2.5"); -__asm__(".symver yp_get_default_domain,yp_get_default_domain@GLIBC_2.2.5"); -__asm__(".symver yp_maplist,yp_maplist@GLIBC_2.2.5"); -__asm__(".symver yp_master,yp_master@GLIBC_2.2.5"); -__asm__(".symver yp_match,yp_match@GLIBC_2.2.5"); -__asm__(".symver yp_next,yp_next@GLIBC_2.2.5"); -__asm__(".symver yp_order,yp_order@GLIBC_2.2.5"); -__asm__(".symver yp_unbind,yp_unbind@GLIBC_2.2.5"); -__asm__(".symver yp_update,yp_update@GLIBC_2.2.5"); -__asm__(".symver ypbinderr_string,ypbinderr_string@GLIBC_2.2.5"); -__asm__(".symver yperr_string,yperr_string@GLIBC_2.2.5"); -__asm__(".symver ypprot_err,ypprot_err@GLIBC_2.2.5"); -__asm__(".symver _ZGVbN2v_cos,_ZGVbN2v_cos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN2v_exp,_ZGVbN2v_exp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN2v_log,_ZGVbN2v_log@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN2v_sin,_ZGVbN2v_sin@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN2vv_pow,_ZGVbN2vv_pow@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN2vvv_sincos,_ZGVbN2vvv_sincos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN4v_cosf,_ZGVbN4v_cosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN4v_expf,_ZGVbN4v_expf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN4v_logf,_ZGVbN4v_logf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN4v_sinf,_ZGVbN4v_sinf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN4vv_powf,_ZGVbN4vv_powf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVbN4vvv_sincosf,_ZGVbN4vvv_sincosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN4v_cos,_ZGVcN4v_cos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN4v_exp,_ZGVcN4v_exp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN4v_log,_ZGVcN4v_log@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN4v_sin,_ZGVcN4v_sin@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN4vv_pow,_ZGVcN4vv_pow@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN4vvv_sincos,_ZGVcN4vvv_sincos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN8v_cosf,_ZGVcN8v_cosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN8v_expf,_ZGVcN8v_expf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN8v_logf,_ZGVcN8v_logf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN8v_sinf,_ZGVcN8v_sinf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN8vv_powf,_ZGVcN8vv_powf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVcN8vvv_sincosf,_ZGVcN8vvv_sincosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN4v_cos,_ZGVdN4v_cos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN4v_exp,_ZGVdN4v_exp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN4v_log,_ZGVdN4v_log@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN4v_sin,_ZGVdN4v_sin@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN4vv_pow,_ZGVdN4vv_pow@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN4vvv_sincos,_ZGVdN4vvv_sincos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN8v_cosf,_ZGVdN8v_cosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN8v_expf,_ZGVdN8v_expf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN8v_logf,_ZGVdN8v_logf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN8v_sinf,_ZGVdN8v_sinf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN8vv_powf,_ZGVdN8vv_powf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVdN8vvv_sincosf,_ZGVdN8vvv_sincosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN16v_cosf,_ZGVeN16v_cosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN16v_expf,_ZGVeN16v_expf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN16v_logf,_ZGVeN16v_logf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN16v_sinf,_ZGVeN16v_sinf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN16vv_powf,_ZGVeN16vv_powf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN16vvv_sincosf,_ZGVeN16vvv_sincosf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN8v_cos,_ZGVeN8v_cos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN8v_exp,_ZGVeN8v_exp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN8v_log,_ZGVeN8v_log@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN8v_sin,_ZGVeN8v_sin@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN8vv_pow,_ZGVeN8vv_pow@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver _ZGVeN8vvv_sincos,_ZGVeN8vvv_sincos@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acos_finite,__acos_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acosf128_finite,__acosf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acosf_finite,__acosf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acosh_finite,__acosh_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acoshf128_finite,__acoshf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acoshf_finite,__acoshf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acoshl_finite,__acoshl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __acosl_finite,__acosl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __asin_finite,__asin_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __asinf128_finite,__asinf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __asinf_finite,__asinf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __asinl_finite,__asinl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __asprintf_chk,__asprintf_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atan2_finite,__atan2_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atan2f128_finite,__atan2f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atan2f_finite,__atan2f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atan2l_finite,__atan2l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atanh_finite,__atanh_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atanhf128_finite,__atanhf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atanhf_finite,__atanhf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __atanhl_finite,__atanhl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __cosh_finite,__cosh_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __coshf128_finite,__coshf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __coshf_finite,__coshf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __coshl_finite,__coshl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __cxa_at_quick_exit,__cxa_at_quick_exit@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __cxa_thread_atexit_impl,__cxa_thread_atexit_impl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __dprintf_chk,__dprintf_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp10_finite,__exp10_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp10f128_finite,__exp10f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp10f_finite,__exp10f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp10l_finite,__exp10l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp2_finite,__exp2_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp2f128_finite,__exp2f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp2f_finite,__exp2f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp2l_finite,__exp2l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __exp_finite,__exp_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __expf128_finite,__expf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __expf_finite,__expf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __expl_finite,__expl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __explicit_bzero_chk,__explicit_bzero_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fdelt_chk,__fdelt_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fdelt_warn,__fdelt_warn@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fentry__,__fentry__@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __finitef128,__finitef128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fmod_finite,__fmod_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fmodf128_finite,__fmodf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fmodf_finite,__fmodf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fmodl_finite,__fmodl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fpclassifyf128,__fpclassifyf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fread_chk,__fread_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __fread_unlocked_chk,__fread_unlocked_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __gamma_r_finite,__gamma_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __gammaf128_r_finite,__gammaf128_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __gammaf_r_finite,__gammaf_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __gammal_r_finite,__gammal_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __getauxval,__getauxval@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __hypot_finite,__hypot_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __hypotf128_finite,__hypotf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __hypotf_finite,__hypotf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __hypotl_finite,__hypotl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __iscanonicall,__iscanonicall@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __iseqsig,__iseqsig@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __iseqsigf,__iseqsigf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __iseqsigf128,__iseqsigf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __iseqsigl,__iseqsigl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isinff128,__isinff128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isnanf128,__isnanf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_fscanf,__isoc99_fscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_fwscanf,__isoc99_fwscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_scanf,__isoc99_scanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_sscanf,__isoc99_sscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_swscanf,__isoc99_swscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_vfscanf,__isoc99_vfscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_vfwscanf,__isoc99_vfwscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_vscanf,__isoc99_vscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_vsscanf,__isoc99_vsscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_vswscanf,__isoc99_vswscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_vwscanf,__isoc99_vwscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __isoc99_wscanf,__isoc99_wscanf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __issignaling,__issignaling@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __issignalingf,__issignalingf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __issignalingf128,__issignalingf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __issignalingl,__issignalingl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j0_finite,__j0_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j0f128_finite,__j0f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j0f_finite,__j0f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j0l_finite,__j0l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j1_finite,__j1_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j1f128_finite,__j1f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j1f_finite,__j1f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __j1l_finite,__j1l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __jn_finite,__jn_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __jnf128_finite,__jnf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __jnf_finite,__jnf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __jnl_finite,__jnl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __lgamma_r_finite,__lgamma_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __lgammaf128_r_finite,__lgammaf128_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __lgammaf_r_finite,__lgammaf_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __lgammal_r_finite,__lgammal_r_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log10_finite,__log10_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log10f128_finite,__log10f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log10f_finite,__log10f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log10l_finite,__log10l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log2_finite,__log2_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log2f128_finite,__log2f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log2f_finite,__log2f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log2l_finite,__log2l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __log_finite,__log_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __logf128_finite,__logf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __logf_finite,__logf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __logl_finite,__logl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __longjmp_chk,__longjmp_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __mq_open_2,__mq_open_2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __obstack_printf_chk,__obstack_printf_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __obstack_vprintf_chk,__obstack_vprintf_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __open64_2,__open64_2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __open_2,__open_2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __openat64_2,__openat64_2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __openat_2,__openat_2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __poll_chk,__poll_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __posix_getopt,__posix_getopt@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __pow_finite,__pow_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __powf128_finite,__powf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __powf_finite,__powf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __powl_finite,__powl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __ppoll_chk,__ppoll_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __remainder_finite,__remainder_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __remainderf128_finite,__remainderf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __remainderf_finite,__remainderf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __remainderl_finite,__remainderl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __scalb_finite,__scalb_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __scalbf_finite,__scalbf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __scalbl_finite,__scalbl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sched_cpualloc,__sched_cpualloc@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sched_cpucount,__sched_cpucount@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sched_cpufree,__sched_cpufree@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __signbitf128,__signbitf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __signgam,__signgam@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sinh_finite,__sinh_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sinhf128_finite,__sinhf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sinhf_finite,__sinhf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sinhl_finite,__sinhl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sqrt_finite,__sqrt_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sqrtf128_finite,__sqrtf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sqrtf_finite,__sqrtf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __sqrtl_finite,__sqrtl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __strtof128_internal,__strtof128_internal@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __vasprintf_chk,__vasprintf_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __vdprintf_chk,__vdprintf_chk@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __wcstof128_internal,__wcstof128_internal@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y0_finite,__y0_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y0f128_finite,__y0f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y0f_finite,__y0f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y0l_finite,__y0l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y1_finite,__y1_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y1f128_finite,__y1f128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y1f_finite,__y1f_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __y1l_finite,__y1l_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __yn_finite,__yn_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __ynf128_finite,__ynf128_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __ynf_finite,__ynf_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver __ynl_finite,__ynl_finite@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver accept4,accept4@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acosf128,acosf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acosf32,acosf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acosf32x,acosf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acosf64,acosf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acosf64x,acosf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acoshf128,acoshf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acoshf32,acoshf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acoshf32x,acoshf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acoshf64,acoshf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver acoshf64x,acoshf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver aligned_alloc,aligned_alloc@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinf128,asinf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinf32,asinf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinf32x,asinf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinf64,asinf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinf64x,asinf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinhf128,asinhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinhf32,asinhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinhf32x,asinhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinhf64,asinhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver asinhf64x,asinhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atan2f128,atan2f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atan2f32,atan2f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atan2f32x,atan2f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atan2f64,atan2f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atan2f64x,atan2f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanf128,atanf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanf32,atanf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanf32x,atanf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanf64,atanf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanf64x,atanf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanhf128,atanhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanhf32,atanhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanhf32x,atanhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanhf64,atanhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver atanhf64x,atanhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver c16rtomb,c16rtomb@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver c32rtomb,c32rtomb@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cabsf128,cabsf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cabsf32,cabsf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cabsf32x,cabsf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cabsf64,cabsf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cabsf64x,cabsf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacosf128,cacosf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacosf32,cacosf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacosf32x,cacosf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacosf64,cacosf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacosf64x,cacosf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacoshf128,cacoshf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacoshf32,cacoshf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacoshf32x,cacoshf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacoshf64,cacoshf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cacoshf64x,cacoshf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalize,canonicalize@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizef,canonicalizef@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizef128,canonicalizef128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizef32,canonicalizef32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizef32x,canonicalizef32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizef64,canonicalizef64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizef64x,canonicalizef64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver canonicalizel,canonicalizel@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cargf128,cargf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cargf32,cargf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cargf32x,cargf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cargf64,cargf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cargf64x,cargf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinf128,casinf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinf32,casinf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinf32x,casinf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinf64,casinf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinf64x,casinf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinhf128,casinhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinhf32,casinhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinhf32x,casinhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinhf64,casinhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver casinhf64x,casinhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanf128,catanf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanf32,catanf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanf32x,catanf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanf64,catanf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanf64x,catanf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanhf128,catanhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanhf32,catanhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanhf32x,catanhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanhf64,catanhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver catanhf64x,catanhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cbrtf128,cbrtf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cbrtf32,cbrtf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cbrtf32x,cbrtf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cbrtf64,cbrtf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cbrtf64x,cbrtf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccosf128,ccosf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccosf32,ccosf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccosf32x,ccosf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccosf64,ccosf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccosf64x,ccosf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccoshf128,ccoshf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccoshf32,ccoshf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccoshf32x,ccoshf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccoshf64,ccoshf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ccoshf64x,ccoshf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ceilf128,ceilf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ceilf32,ceilf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ceilf32x,ceilf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ceilf64,ceilf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ceilf64x,ceilf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cexpf128,cexpf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cexpf32,cexpf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cexpf32x,cexpf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cexpf64,cexpf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cexpf64x,cexpf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cimagf128,cimagf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cimagf32,cimagf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cimagf32x,cimagf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cimagf64,cimagf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cimagf64x,cimagf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clock_adjtime,clock_adjtime@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clog10f128,clog10f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clog10f32,clog10f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clog10f32x,clog10f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clog10f64,clog10f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clog10f64x,clog10f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clogf128,clogf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clogf32,clogf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clogf32x,clogf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clogf64,clogf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver clogf64x,clogf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver conjf128,conjf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver conjf32,conjf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver conjf32x,conjf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver conjf64,conjf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver conjf64x,conjf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver copy_file_range,copy_file_range@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver copysignf128,copysignf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver copysignf32,copysignf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver copysignf32x,copysignf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver copysignf64,copysignf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver copysignf64x,copysignf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cosf128,cosf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cosf32,cosf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cosf32x,cosf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cosf64,cosf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cosf64x,cosf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver coshf128,coshf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver coshf32,coshf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver coshf32x,coshf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver coshf64,coshf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver coshf64x,coshf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cpowf128,cpowf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cpowf32,cpowf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cpowf32x,cpowf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cpowf64,cpowf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cpowf64x,cpowf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cprojf128,cprojf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cprojf32,cprojf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cprojf32x,cprojf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cprojf64,cprojf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver cprojf64x,cprojf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver crealf128,crealf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver crealf32,crealf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver crealf32x,crealf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver crealf64,crealf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver crealf64x,crealf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinf128,csinf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinf32,csinf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinf32x,csinf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinf64,csinf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinf64x,csinf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinhf128,csinhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinhf32,csinhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinhf32x,csinhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinhf64,csinhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csinhf64x,csinhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csqrtf128,csqrtf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csqrtf32,csqrtf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csqrtf32x,csqrtf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csqrtf64,csqrtf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver csqrtf64x,csqrtf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanf128,ctanf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanf32,ctanf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanf32x,ctanf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanf64,ctanf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanf64x,ctanf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanhf128,ctanhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanhf32,ctanhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanhf32x,ctanhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanhf64,ctanhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ctanhf64x,ctanhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver dup3,dup3@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver endsgent,endsgent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver epoll_create1,epoll_create1@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver epoll_pwait,epoll_pwait@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erfcf128,erfcf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erfcf32,erfcf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erfcf32x,erfcf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erfcf64,erfcf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erfcf64x,erfcf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erff128,erff128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erff32,erff32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erff32x,erff32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erff64,erff64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver erff64x,erff64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver eventfd,eventfd@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver eventfd_read,eventfd_read@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver eventfd_write,eventfd_write@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver execvpe,execvpe@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp10f128,exp10f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp10f32,exp10f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp10f32x,exp10f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp10f64,exp10f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp10f64x,exp10f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp2f128,exp2f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp2f32,exp2f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp2f32x,exp2f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp2f64,exp2f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver exp2f64x,exp2f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expf128,expf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expf32,expf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expf32x,expf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expf64,expf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expf64x,expf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver explicit_bzero,explicit_bzero@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expm1f128,expm1f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expm1f32,expm1f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expm1f32x,expm1f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expm1f64,expm1f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver expm1f64x,expm1f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fabsf128,fabsf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fabsf32,fabsf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fabsf32x,fabsf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fabsf64,fabsf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fabsf64x,fabsf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fallocate,fallocate@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fallocate64,fallocate64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fanotify_init,fanotify_init@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fanotify_mark,fanotify_mark@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fdimf128,fdimf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fdimf32,fdimf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fdimf32x,fdimf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fdimf64,fdimf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fdimf64x,fdimf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fegetmode,fegetmode@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fesetexcept,fesetexcept@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fesetmode,fesetmode@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fetestexceptflag,fetestexceptflag@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fgetsgent,fgetsgent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fgetsgent_r,fgetsgent_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver floorf128,floorf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver floorf32,floorf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver floorf32x,floorf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver floorf64,floorf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver floorf64x,floorf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaf128,fmaf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaf32,fmaf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaf32x,fmaf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaf64,fmaf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaf64x,fmaf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxf128,fmaxf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxf32,fmaxf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxf32x,fmaxf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxf64,fmaxf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxf64x,fmaxf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmag,fmaxmag@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagf,fmaxmagf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagf128,fmaxmagf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagf32,fmaxmagf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagf32x,fmaxmagf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagf64,fmaxmagf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagf64x,fmaxmagf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmaxmagl,fmaxmagl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminf128,fminf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminf32,fminf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminf32x,fminf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminf64,fminf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminf64x,fminf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmag,fminmag@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagf,fminmagf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagf128,fminmagf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagf32,fminmagf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagf32x,fminmagf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagf64,fminmagf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagf64x,fminmagf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fminmagl,fminmagl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmodf128,fmodf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmodf32,fmodf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmodf32x,fmodf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmodf64,fmodf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fmodf64x,fmodf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver frexpf128,frexpf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver frexpf32,frexpf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver frexpf32x,frexpf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver frexpf64,frexpf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver frexpf64x,frexpf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfp,fromfp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpf,fromfpf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpf128,fromfpf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpf32,fromfpf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpf32x,fromfpf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpf64,fromfpf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpf64x,fromfpf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpl,fromfpl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpx,fromfpx@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxf,fromfpxf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxf128,fromfpxf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxf32,fromfpxf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxf32x,fromfpxf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxf64,fromfpxf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxf64x,fromfpxf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fromfpxl,fromfpxl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fts64_children,fts64_children@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fts64_close,fts64_close@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fts64_open,fts64_open@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fts64_read,fts64_read@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver fts64_set,fts64_set@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver futimens,futimens@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getauxval,getauxval@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getentropy,getentropy@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayload,getpayload@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadf,getpayloadf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadf128,getpayloadf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadf32,getpayloadf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadf32x,getpayloadf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadf64,getpayloadf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadf64x,getpayloadf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getpayloadl,getpayloadl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getrandom,getrandom@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getsgent,getsgent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getsgent_r,getsgent_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getsgnam,getsgnam@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver getsgnam_r,getsgnam_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver hypotf128,hypotf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver hypotf32,hypotf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver hypotf32x,hypotf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver hypotf64,hypotf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver hypotf64x,hypotf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ilogbf128,ilogbf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ilogbf32,ilogbf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ilogbf32x,ilogbf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ilogbf64,ilogbf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ilogbf64x,ilogbf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver inotify_init1,inotify_init1@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j0f128,j0f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j0f32,j0f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j0f32x,j0f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j0f64,j0f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j0f64x,j0f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j1f128,j1f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j1f32,j1f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j1f32x,j1f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j1f64,j1f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver j1f64x,j1f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver jnf128,jnf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver jnf32,jnf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver jnf32x,jnf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver jnf64,jnf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver jnf64x,jnf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ldexpf128,ldexpf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ldexpf32,ldexpf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ldexpf32x,ldexpf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ldexpf64,ldexpf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ldexpf64x,ldexpf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf128,lgammaf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf128_r,lgammaf128_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf32,lgammaf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf32_r,lgammaf32_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf32x,lgammaf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf32x_r,lgammaf32x_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf64,lgammaf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf64_r,lgammaf64_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf64x,lgammaf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lgammaf64x_r,lgammaf64x_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogb,llogb@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbf,llogbf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbf128,llogbf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbf32,llogbf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbf32x,llogbf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbf64,llogbf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbf64x,llogbf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llogbl,llogbl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llrintf128,llrintf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llrintf32,llrintf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llrintf32x,llrintf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llrintf64,llrintf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llrintf64x,llrintf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llroundf128,llroundf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llroundf32,llroundf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llroundf32x,llroundf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llroundf64,llroundf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver llroundf64x,llroundf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log10f128,log10f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log10f32,log10f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log10f32x,log10f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log10f64,log10f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log10f64x,log10f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log1pf128,log1pf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log1pf32,log1pf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log1pf32x,log1pf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log1pf64,log1pf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log1pf64x,log1pf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log2f128,log2f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log2f32,log2f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log2f32x,log2f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log2f64,log2f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver log2f64x,log2f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logbf128,logbf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logbf32,logbf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logbf32x,logbf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logbf64,logbf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logbf64x,logbf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logf128,logf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logf32,logf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logf32x,logf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logf64,logf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver logf64x,logf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lrintf128,lrintf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lrintf32,lrintf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lrintf32x,lrintf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lrintf64,lrintf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lrintf64x,lrintf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lroundf128,lroundf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lroundf32,lroundf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lroundf32x,lroundf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lroundf64,lroundf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver lroundf64x,lroundf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver malloc_info,malloc_info@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mbrtoc16,mbrtoc16@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mbrtoc32,mbrtoc32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver memfd_create,memfd_create@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mkostemp,mkostemp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mkostemp64,mkostemp64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mkostemps,mkostemps@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mkostemps64,mkostemps64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mkstemps,mkstemps@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mkstemps64,mkstemps64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver mlock2,mlock2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver modff128,modff128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver modff32,modff32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver modff32x,modff32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver modff64,modff64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver modff64x,modff64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver name_to_handle_at,name_to_handle_at@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nanf128,nanf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nanf32,nanf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nanf32x,nanf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nanf64,nanf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nanf64x,nanf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nearbyintf128,nearbyintf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nearbyintf32,nearbyintf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nearbyintf32x,nearbyintf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nearbyintf64,nearbyintf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nearbyintf64x,nearbyintf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextafterf128,nextafterf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextafterf32,nextafterf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextafterf32x,nextafterf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextafterf64,nextafterf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextafterf64x,nextafterf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdown,nextdown@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownf,nextdownf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownf128,nextdownf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownf32,nextdownf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownf32x,nextdownf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownf64,nextdownf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownf64x,nextdownf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextdownl,nextdownl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextup,nextup@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupf,nextupf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupf128,nextupf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupf32,nextupf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupf32x,nextupf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupf64,nextupf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupf64x,nextupf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver nextupl,nextupl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_datetosecs,ns_datetosecs@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_format_ttl,ns_format_ttl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_get16,ns_get16@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_get32,ns_get32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_initparse,ns_initparse@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_makecanon,ns_makecanon@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_msg_getflag,ns_msg_getflag@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_compress,ns_name_compress@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_ntol,ns_name_ntol@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_ntop,ns_name_ntop@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_pack,ns_name_pack@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_pton,ns_name_pton@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_rollback,ns_name_rollback@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_skip,ns_name_skip@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_uncompress,ns_name_uncompress@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_name_unpack,ns_name_unpack@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_parse_ttl,ns_parse_ttl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_parserr,ns_parserr@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_put16,ns_put16@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_put32,ns_put32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_samedomain,ns_samedomain@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_samename,ns_samename@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_skiprr,ns_skiprr@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_sprintrr,ns_sprintrr@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_sprintrrf,ns_sprintrrf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ns_subdomain,ns_subdomain@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ntp_gettimex,ntp_gettimex@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver open_by_handle_at,open_by_handle_at@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pipe2,pipe2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pkey_alloc,pkey_alloc@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pkey_free,pkey_free@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pkey_get,pkey_get@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pkey_mprotect,pkey_mprotect@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pkey_set,pkey_set@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver powf128,powf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver powf32,powf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver powf32x,powf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver powf64,powf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver powf64x,powf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver preadv,preadv@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver preadv2,preadv2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver preadv64,preadv64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver preadv64v2,preadv64v2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver prlimit,prlimit@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver prlimit64,prlimit64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver process_vm_readv,process_vm_readv@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver process_vm_writev,process_vm_writev@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver psiginfo,psiginfo@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_getattr_default_np,pthread_getattr_default_np@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_getname_np,pthread_getname_np@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_mutex_consistent,pthread_mutex_consistent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_mutexattr_getrobust,pthread_mutexattr_getrobust@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_mutexattr_setrobust,pthread_mutexattr_setrobust@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_setattr_default_np,pthread_setattr_default_np@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_setname_np,pthread_setname_np@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pthread_sigqueue,pthread_sigqueue@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver putsgent,putsgent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pwritev,pwritev@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pwritev2,pwritev2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pwritev64,pwritev64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver pwritev64v2,pwritev64v2@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver qsort_r,qsort_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver quick_exit,quick_exit@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver reallocarray,reallocarray@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver recvmmsg,recvmmsg@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver register_printf_modifier,register_printf_modifier@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver register_printf_specifier,register_printf_specifier@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver register_printf_type,register_printf_type@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remainderf128,remainderf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remainderf32,remainderf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remainderf32x,remainderf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remainderf64,remainderf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remainderf64x,remainderf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remquof128,remquof128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remquof32,remquof32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remquof32x,remquof32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remquof64,remquof64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver remquof64x,remquof64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver rintf128,rintf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver rintf32,rintf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver rintf32x,rintf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver rintf64,rintf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver rintf64x,rintf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundeven,roundeven@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenf,roundevenf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenf128,roundevenf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenf32,roundevenf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenf32x,roundevenf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenf64,roundevenf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenf64x,roundevenf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundevenl,roundevenl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundf128,roundf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundf32,roundf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundf32x,roundf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundf64,roundf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver roundf64x,roundf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalblnf128,scalblnf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalblnf32,scalblnf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalblnf32x,scalblnf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalblnf64,scalblnf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalblnf64x,scalblnf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalbnf128,scalbnf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalbnf32,scalbnf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalbnf32x,scalbnf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalbnf64,scalbnf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scalbnf64x,scalbnf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scandirat,scandirat@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver scandirat64,scandirat64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sched_getcpu,sched_getcpu@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver secure_getenv,secure_getenv@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sendmmsg,sendmmsg@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setns,setns@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayload,setpayload@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadf,setpayloadf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadf128,setpayloadf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadf32,setpayloadf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadf32x,setpayloadf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadf64,setpayloadf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadf64x,setpayloadf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadl,setpayloadl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsig,setpayloadsig@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigf,setpayloadsigf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigf128,setpayloadsigf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigf32,setpayloadsigf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigf32x,setpayloadsigf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigf64,setpayloadsigf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigf64x,setpayloadsigf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setpayloadsigl,setpayloadsigl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver setsgent,setsgent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sgetsgent,sgetsgent@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sgetsgent_r,sgetsgent_r@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver signalfd,signalfd@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sincosf128,sincosf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sincosf32,sincosf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sincosf32x,sincosf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sincosf64,sincosf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sincosf64x,sincosf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinf128,sinf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinf32,sinf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinf32x,sinf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinf64,sinf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinf64x,sinf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinhf128,sinhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinhf32,sinhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinhf32x,sinhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinhf64,sinhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sinhf64x,sinhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sqrtf128,sqrtf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sqrtf32,sqrtf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sqrtf32x,sqrtf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sqrtf64,sqrtf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sqrtf64x,sqrtf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strerror_l,strerror_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromd,strfromd@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromf,strfromf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromf128,strfromf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromf32,strfromf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromf32x,strfromf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromf64,strfromf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfromf64x,strfromf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strfroml,strfroml@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof128,strtof128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof128_l,strtof128_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof32,strtof32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof32_l,strtof32_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof32x,strtof32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof32x_l,strtof32x_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof64,strtof64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof64_l,strtof64_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof64x,strtof64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver strtof64x_l,strtof64x_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver sync_file_range,sync_file_range@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver syncfs,syncfs@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanf128,tanf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanf32,tanf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanf32x,tanf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanf64,tanf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanf64x,tanf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanhf128,tanhf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanhf32,tanhf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanhf32x,tanhf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanhf64,tanhf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tanhf64x,tanhf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tgammaf128,tgammaf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tgammaf32,tgammaf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tgammaf32x,tgammaf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tgammaf64,tgammaf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver tgammaf64x,tgammaf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver timerfd_create,timerfd_create@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver timerfd_gettime,timerfd_gettime@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver timerfd_settime,timerfd_settime@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver timespec_get,timespec_get@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorder,totalorder@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderf,totalorderf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderf128,totalorderf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderf32,totalorderf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderf32x,totalorderf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderf64,totalorderf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderf64x,totalorderf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalorderl,totalorderl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermag,totalordermag@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagf,totalordermagf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagf128,totalordermagf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagf32,totalordermagf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagf32x,totalordermagf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagf64,totalordermagf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagf64x,totalordermagf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver totalordermagl,totalordermagl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver truncf128,truncf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver truncf32,truncf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver truncf32x,truncf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver truncf64,truncf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver truncf64x,truncf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfp,ufromfp@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpf,ufromfpf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpf128,ufromfpf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpf32,ufromfpf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpf32x,ufromfpf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpf64,ufromfpf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpf64x,ufromfpf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpl,ufromfpl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpx,ufromfpx@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxf,ufromfpxf@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxf128,ufromfpxf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxf32,ufromfpxf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxf32x,ufromfpxf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxf64,ufromfpxf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxf64x,ufromfpxf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ufromfpxl,ufromfpxl@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver utimensat,utimensat@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof128,wcstof128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof128_l,wcstof128_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof32,wcstof32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof32_l,wcstof32_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof32x,wcstof32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof32x_l,wcstof32x_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof64,wcstof64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof64_l,wcstof64_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof64x,wcstof64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver wcstof64x_l,wcstof64x_l@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y0f128,y0f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y0f32,y0f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y0f32x,y0f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y0f64,y0f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y0f64x,y0f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y1f128,y1f128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y1f32,y1f32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y1f32x,y1f32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y1f64,y1f64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver y1f64x,y1f64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ynf128,ynf128@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ynf32,ynf32@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ynf32x,ynf32x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ynf64,ynf64@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -__asm__(".symver ynf64x,ynf64x@GLIBC_WRAP_ERROR_SYMBOL_NOT_PRESENT_IN_REQUESTED_VERSION"); -#endif diff --git a/src/main.cpp b/src/main.cpp index 46d80b0..d92eeda 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,103 +1,29 @@ -/* -MIT License +// Console window is displayed in debug mode. +#ifdef _DEBUG +#pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") +#endif -Copyright (C) 2020 Ryan L. Guy +#include "SubFluidSimulation.h" // This includes Win32App.h -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include - -#include "fluidsimulation.h" -#include "triangle.h" - -void writeSurfaceMesh(int frameno, FluidSimulation &fluidsim) { - std::ostringstream ss; - ss << frameno; - std::string frameString = ss.str(); - frameString.insert(frameString.begin(), 6 - frameString.size(), '0'); - std::string filepath = "C:/tmp/" + frameString + ".ply"; - - std::vector *data = fluidsim.getSurfaceData(); - std::ofstream ply(filepath.c_str(), std::ios::out | std::ios::binary); - ply.write(data->data(), data->size()); - ply.close(); -} +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance, PSTR cmdLine, int showCmd) +{ + int isize = 40; + int jsize = 40; + int ksize = 40; + double dx = 0.125; + double timestep = 1.0 / 30.0; -TriangleMesh getTriangleMeshFromAABB(AABB bbox) { - vmath::vec3 p = bbox.position; - std::vector verts{ - vmath::vec3(p.x, p.y, p.z), - vmath::vec3(p.x + bbox.width, p.y, p.z), - vmath::vec3(p.x + bbox.width, p.y, p.z + bbox.depth), - vmath::vec3(p.x, p.y, p.z + bbox.depth), - vmath::vec3(p.x, p.y + bbox.height, p.z), - vmath::vec3(p.x + bbox.width, p.y + bbox.height, p.z), - vmath::vec3(p.x + bbox.width, p.y + bbox.height, p.z + bbox.depth), - vmath::vec3(p.x, p.y + bbox.height, p.z + bbox.depth) - }; + SubFluidSimulation* fluidsim = new SubFluidSimulation(isize, jsize, ksize, dx); + fluidsim->initialize(); - std::vector tris{ - Triangle(0, 1, 2), Triangle(0, 2, 3), Triangle(4, 7, 6), Triangle(4, 6, 5), - Triangle(0, 3, 7), Triangle(0, 7, 4), Triangle(1, 5, 6), Triangle(1, 6, 2), - Triangle(0, 4, 5), Triangle(0, 5, 1), Triangle(3, 2, 6), Triangle(3, 6, 7) - }; + DX12App* dxapp = new DX12App(); + dxapp->SetSimulation(fluidsim, timestep); - TriangleMesh m; - m.vertices = verts; - m.triangles = tris; + Win32App winApp(800, 600); + winApp.Initialize(hInstance); - return m; -} + winApp.InitDirectX(dxapp); -int main() { - // This example will drop a box of fluid in the center - // of the fluid simulation domain. - int isize = 64; - int jsize = 64; - int ksize = 64; - double dx = 0.125; - FluidSimulation fluidsim(isize, jsize, ksize, dx); - - fluidsim.setSurfaceSubdivisionLevel(2); - - double x, y, z; - fluidsim.getSimulationDimensions(&x, &y, &z); - - double boxWidth = (1.0 / 3.0) * x; - double boxHeight = (1.0 / 3.0) * y; - double boxDepth = (1.0 / 3.0) * z; - vmath::vec3 boxPosition(0.5 * (x - boxWidth), 0.5 * (y - boxHeight), 0.5 * (z - boxDepth)); - AABB box(boxPosition, boxWidth, boxHeight, boxDepth); - TriangleMesh boxMesh = getTriangleMeshFromAABB(box); - MeshObject boxFluidObject(isize, jsize, ksize, dx); - boxFluidObject.updateMeshStatic(boxMesh); - fluidsim.addMeshFluid(boxFluidObject); - - fluidsim.addBodyForce(0.0, -25.0, 0.0); - fluidsim.initialize(); - double timestep = 1.0 / 30.0; - for (;;) { - int frameno = fluidsim.getCurrentFrame(); - fluidsim.update(timestep); - writeSurfaceMesh(frameno, fluidsim); - } - - return 0; + return winApp.Run(); } \ No newline at end of file diff --git a/src/pyfluid/__init__.py b/src/pyfluid/__init__.py deleted file mode 100644 index 6a89314..0000000 --- a/src/pyfluid/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from . import pyfluid -from .aabb import AABB, AABB_t -from .fluidsimulation import FluidSimulation, MarkerParticle_t, DiffuseParticle_t -from .meshobject import MeshObject -from .meshfluidsource import MeshFluidSource -from .forcefieldgrid import ForceFieldGrid -from .forcefield import ForceField -from .forcefieldpoint import ForceFieldPoint -from .forcefieldsurface import ForceFieldSurface -from .forcefieldvolume import ForceFieldVolume -from .forcefieldcurve import ForceFieldCurve -from .trianglemesh import TriangleMesh, TriangleMesh_t -from .gridindex import GridIndex, GridIndex_t -from .vector3 import Vector3, Vector3_t -from . import gpu_utils \ No newline at end of file diff --git a/src/pyfluid/aabb.py b/src/pyfluid/aabb.py deleted file mode 100644 index 3d32e12..0000000 --- a/src/pyfluid/aabb.py +++ /dev/null @@ -1,237 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from .vector3 import Vector3, Vector3_t -from .gridindex import GridIndex -from . import method_decorators as decorators -import ctypes - -class AABB_t(ctypes.Structure): - _fields_ = [("position", Vector3_t), - ("width", ctypes.c_float), - ("height", ctypes.c_float), - ("depth", ctypes.c_float)] - -class AABB(object): - - def __init__(self, *args): - if len(args) == 4 and isinstance(args[0], Vector3): - self.position = args[0] - self.width = args[1] - self.height = args[2] - self.depth = args[3] - elif len(args) == 6: - self._position = Vector3(args[0], args[1], args[2]) - self.width = args[3] - self.height = args[4] - self.depth = args[5] - elif len(args) == 0: - self.position = Vector3() - self.width = 0.0 - self.height = 0.0 - self.depth = 0.0 - else: - errmsg = "AABB must be initialized with types:\n" - errmsg += "x: " + (str(float) + "\n" + - "y: " + str(float) + "\n" + - "z: " + str(float) + "\n" + - "width: " + str(float) + "\n" + - "height: " + str(float) + "\n" + - "depth: " + str(float) + "\n\n" + - "or\n\n" + - "position: " + (str(Vector3)) + "\n" + - "width: " + str(float) + "\n" + - "height: " + str(float) + "\n" + - "depth: " + str(float)) - raise TypeError(errmsg) - - def __str__(self): - return (str(self.position) + " " + str(self.width) + " " + - str(self.height) + " " + - str(self.depth)) - - @classmethod - @decorators.check_type(Vector3) - def from_corners(cls, pmin = Vector3(), pmax = Vector3()): - minx = min(pmin.x, pmax.x) - miny = min(pmin.y, pmax.y) - minz = min(pmin.z, pmax.z) - maxx = max(pmin.x, pmax.x) - maxy = max(pmin.y, pmax.y) - maxz = max(pmin.z, pmax.z) - width = maxx - minx - height = maxy - miny - depth = maxz - minz - - return cls(minx, miny, minz, width, height, depth) - - @classmethod - def from_points(cls, point_list): - if len(point_list) == 0: - return cls() - - minx, miny, minz = point_list[0] - maxx, maxy, maxz = point_list[0] - for p in point_list: - minx = min(p.x, minx); - miny = min(p.y, miny); - minz = min(p.z, minz); - maxx = max(p.x, maxx); - maxy = max(p.y, maxy); - maxz = max(p.z, maxz); - - eps = 1e-9; - width = maxx - minx + eps; - height = maxy - miny + eps; - depth = maxz - minz + eps; - - return cls(minx, miny, minz, width, height, depth) - - @classmethod - def from_struct(cls, cstruct): - return cls(Vector3.from_struct(cstruct.position), - float(cstruct.width), - float(cstruct.height), - float(cstruct.depth)) - - def to_struct(self): - return AABB_t(Vector3_t(self.x, self.y, self.z), - self.width, self.height, self.depth) - - @classmethod - def from_grid_index(cls, grid_index = GridIndex(), dx = 0.0): - return cls(grid_index.i*dx, grid_index.j*dx, grid_index.k*dx, dx, dx, dx) - - @property - def x(self): - return self._position.x - - @property - def y(self): - return self._position.y - - @property - def z(self): - return self._position.z - - @property - def width(self): - return self._width - - @property - def height(self): - return self._height - - @property - def depth(self): - return self._depth - - @property - def position(self): - return self._position - - @x.setter - def x(self, value): - self._position.x = value - - @y.setter - def y(self, value): - self._position.y = value - - @z.setter - def z(self, value): - self._position.z = value - - @width.setter - def width(self, value): - self._width = float(value) - - @height.setter - def height(self, value): - self._height = float(value) - - @depth.setter - def depth(self, value): - self._depth = float(value) - - @position.setter - @decorators.check_type(Vector3) - def position(self, vector): - self._position = vector - - def expand(self, v): - h = 0.5 * v; - self.position -= Vector3(h, h, h); - self.width += v; - self.height += v; - self.depth += v; - - @decorators.xyz_or_vector - def contains_point(self, x, y, z): - return (x >= self.x and y >= self.y and z >= self.z and - x < self.x + self.width and - y < self.y + self.height and - z < self.z + self.depth) - - def get_min_point(self): - return self.position - - def get_max_point(self): - return self.position + Vector3(self.width, self.height, self.depth) - - def get_intersection(self, bbox): - minp1 = self.get_min_point() - minp2 = bbox.get_min_point() - maxp1 = self.get_max_point() - maxp2 = bbox.get_max_point() - - if minp1.x > maxp2.x or minp1.y > maxp2.y or minp1.z > maxp2.z: - return AABB() - - interminx = max(minp1.x, minp2.x) - interminy = max(minp1.y, minp2.y) - interminz = max(minp1.z, minp2.z) - intermaxx = min(maxp1.x, maxp2.x) - intermaxy = min(maxp1.y, maxp2.y) - intermaxz = min(maxp1.z, maxp2.z) - - return AABB.from_corners(Vector3(interminx, interminy, interminz), - Vector3(intermaxx, intermaxy, intermaxz)) - - def get_union(self, bbox): - minp1 = self.get_min_point() - minp2 = bbox.get_min_point() - maxp1 = self.get_max_point() - maxp2 = bbox.get_max_point() - - if minp1.x > maxp2.x or minp1.y > maxp2.y or minp1.z > maxp2.z: - return AABB() - - unionminx = min(minp1.x, minp2.x) - unionminy = min(minp1.y, minp2.y) - unionminz = min(minp1.z, minp2.z) - unionmaxx = max(maxp1.x, maxp2.x) - unionmaxy = max(maxp1.y, maxp2.y) - unionmaxz = max(maxp1.z, maxp2.z) - - return AABB.from_corners(Vector3(unionminx, unionminy, unionminz), - Vector3(unionmaxx, unionmaxy, unionmaxz)) \ No newline at end of file diff --git a/src/pyfluid/array3d.py b/src/pyfluid/array3d.py deleted file mode 100644 index 44d3196..0000000 --- a/src/pyfluid/array3d.py +++ /dev/null @@ -1,112 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from abc import ABCMeta, abstractmethod -import array -from gridindex import GridIndex -import method_decorators as decorators - -class Array3d: - __metaclass__ = ABCMeta - - def __init__(self, isize, jsize, ksize): - self.width, self.height, self.depth = isize, jsize, ksize - self._num_elements = isize*jsize*ksize - - @abstractmethod - def _init_grid(self, data): - pass - - def fill(self, value): - for i in range(self._num_elements): - self._grid[i] = value - - @decorators.ijk_or_gridindex - def __call__(self, i, j, k): - if not self._is_index_in_range(i, j, k) and self._out_of_range_value != None: - return self._out_of_range_value - return self._grid[self._get_flat_index(i, j, k)] - - def __iter__(self): - i = j = k = 0 - for v in self._grid: - yield i, j, k, v - i += 1 - if i >= self.width: - i = 0 - j += 1 - if j >= self.height: - j = 0 - k += 1 - - @decorators.ijk_or_gridindex - def get(self, i, j, k): - return self(i, j, k) - - @decorators.ijk_or_gridindex_and_value - def set(self, i, j, k, value): - self._grid[self._get_flat_index(i, j, k)] = value - - @decorators.ijk_or_gridindex_and_value - def add(self, i, j, k, value): - self._grid[self._get_flat_index(i, j, k)] += value - - def get_num_elements(self): - return self._num_elements - - def set_out_of_range_value(self, value = None): - self._out_of_range_value = value - - def get_out_of_range_value(self): - return self._out_of_range_value - - def _is_index_in_range(self, i, j, k): - return (i >= 0 and j >= 0 and k >= 0 and - i < self.width and j < self.height and k < self.depth) - - def _get_flat_index(self, i, j, k): - return i + self.width*(j + self.height*k) - - -class Array3di(Array3d): - def __init__(self, isize, jsize, ksize, default_value = int()): - Array3d.__init__(self, isize, jsize, ksize) - self._init_grid(default_value) - - def _init_grid(self, default_value): - self._grid = array.array('i', [default_value]*self.get_num_elements()) - -class Array3df(Array3d): - def __init__(self, isize, jsize, ksize, default_value = float()): - Array3d.__init__(self, isize, jsize, ksize) - self._init_grid(default_value) - - def _init_grid(self, default_value): - self._grid = array.array('f', [default_value]*self.get_num_elements()) - -class Array3dd(Array3d): - def __init__(self, isize, jsize, ksize, default_value = float()): - Array3d.__init__(self, isize, jsize, ksize) - self._init_grid(default_value) - - def _init_grid(self, default_value): - self._grid = array.array('d', [default_value]*self.get_num_elements()) \ No newline at end of file diff --git a/src/pyfluid/fluidsimulation.py b/src/pyfluid/fluidsimulation.py deleted file mode 100644 index 1671aa6..0000000 --- a/src/pyfluid/fluidsimulation.py +++ /dev/null @@ -1,2114 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import ctypes -from ctypes import c_void_p, c_char_p, c_char, c_int, c_uint, c_float, c_double, byref -import numbers - -from .pyfluid import pyfluid as lib -from .forcefieldgrid import ForceFieldGrid -from .vector3 import Vector3, Vector3_t -from .gridindex import GridIndex, GridIndex_t -from .aabb import AABB, AABB_t -from . import pybindings as pb -from . import method_decorators as decorators - - -def _check_simulation_initialized(func): - def check_initialized_wrapper(self, *args): - if isinstance(self, FluidSimulation) and not self.is_initialized(): - errmsg = "FluidSimulation must be initialized before calling this method" - raise RuntimeError(errmsg) - return func(self, *args) - - return check_initialized_wrapper - -def _check_simulation_not_initialized(func): - def check_not_initialized_wrapper(self, *args): - if isinstance(self, FluidSimulation) and self.is_initialized(): - errmsg = "This method must be called before FluidSimulation is initialized" - raise RuntimeError(errmsg) - return func(self, *args) - - return check_not_initialized_wrapper - -class FluidSimulation(object): - - def __init__(self, isize = None, jsize = None, ksize = None, dx = None): - is_empty_constructor = all(x == None for x in (isize, jsize, ksize, dx)) - is_dimensions_constructor = (isinstance(isize, int) and - isinstance(jsize, int) and - isinstance(ksize, int) and - isinstance(dx, numbers.Real)) - - if is_empty_constructor: - self._init_from_empty() - elif is_dimensions_constructor: - self._init_from_dimensions(isize, jsize, ksize, dx) - else: - errmsg = "FluidSimulation must be initialized with types:\n" - errmsg += "isize:\t" + (str(int) + "\n" + - "jsize:\t" + str(int) + "\n" + - "ksize:\t" + str(int) + "\n" + - "dx:\t" + str(float)) - raise TypeError(errmsg) - - def _init_from_empty(self): - libfunc = lib.FluidSimulation_new_from_empty - pb.init_lib_func(libfunc, [c_void_p], c_void_p) - self._obj = pb.execute_lib_func(libfunc, []) - - @decorators.check_gt_zero - def _init_from_dimensions(self, isize, jsize, ksize, dx): - libfunc = lib.FluidSimulation_new_from_dimensions - pb.init_lib_func(libfunc, - [c_int, c_int, c_int, c_double, c_void_p], - c_void_p) - self._obj = pb.execute_lib_func(libfunc, [isize, jsize, ksize, dx]) - - def __del__(self): - try: - libfunc = lib.FluidSimulation_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass - self._obj = None - - def __call__(self): - return self._obj - - def get_version(self): - libfunc = lib.FluidSimulation_get_version - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p], None) - major = c_int() - minor = c_int() - revision = c_int() - success = c_int() - libfunc(self(), byref(major), byref(minor), byref(revision), byref(success)) - pb.check_success(success, libfunc.__name__ + " - ") - return (major.value, minor.value, revision.value) - - def upscale_on_initialization(self, prev_isize, prev_jsize, prev_ksize, prev_dx): - libfunc = lib.FluidSimulation_upscale_on_initialization - pb.init_lib_func(libfunc, [c_void_p, c_int, c_int, c_int, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), prev_isize, prev_jsize, prev_ksize, prev_dx]) - - def initialize(self): - if self.is_initialized(): - return - libfunc = lib.FluidSimulation_initialize - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - def is_initialized(self): - libfunc = lib.FluidSimulation_is_initialized - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - - @_check_simulation_initialized - def update(self, dt): - libfunc = lib.FluidSimulation_update - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), dt]) - - def get_current_frame(self): - libfunc = lib.FluidSimulation_get_current_frame - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - def set_current_frame(self, frameno): - libfunc = lib.FluidSimulation_set_current_frame - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - return pb.execute_lib_func(libfunc, [self(), frameno]) - - def is_current_frame_finished(self): - libfunc = lib.FluidSimulation_is_current_frame_finished - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - def get_cell_size(self): - libfunc = lib.FluidSimulation_get_cell_size - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - def get_grid_dimensions(self): - libfunc = lib.FluidSimulation_get_grid_dimensions - pb.init_lib_func(libfunc, - [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p], None) - isize = c_int() - jsize = c_int() - ksize = c_int() - success = c_int() - libfunc(self(), byref(isize), byref(jsize), byref(ksize), byref(success)) - pb.check_success(success, libfunc.__name__ + " - ") - - return GridIndex(isize.value, jsize.value, ksize.value) - - def get_grid_width(self): - libfunc = lib.FluidSimulation_get_grid_width - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - def get_grid_height(self): - libfunc = lib.FluidSimulation_get_grid_height - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - def get_grid_depth(self): - libfunc = lib.FluidSimulation_get_grid_depth - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - def get_simulation_dimensions(self): - libfunc = lib.FluidSimulation_get_simulation_dimensions - pb.init_lib_func(libfunc, - [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p], - None) - width = c_double() - height = c_double() - depth = c_double() - success = c_int() - libfunc(self(), byref(width), byref(height), byref(depth), byref(success)) - pb.check_success(success, libfunc.__name__ + " - ") - - return Vector3(width.value, height.value, depth.value) - - def get_simulation_width(self): - libfunc = lib.FluidSimulation_get_simulation_width - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - def get_simulation_height(self): - libfunc = lib.FluidSimulation_get_simulation_height - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - def get_simulation_depth(self): - libfunc = lib.FluidSimulation_get_simulation_depth - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @property - def density(self): - libfunc = lib.FluidSimulation_get_density - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @density.setter - @decorators.check_gt_zero - def density(self, value): - libfunc = lib.FluidSimulation_set_density - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def marker_particle_scale(self): - libfunc = lib.FluidSimulation_get_marker_particle_scale - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @marker_particle_scale.setter - @decorators.check_ge_zero - def marker_particle_scale(self, scale): - libfunc = lib.FluidSimulation_set_marker_particle_scale - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), scale]) - - @property - def marker_particle_jitter_factor(self): - libfunc = lib.FluidSimulation_get_marker_particle_jitter_factor - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @marker_particle_jitter_factor.setter - @decorators.check_ge_zero - def marker_particle_jitter_factor(self, jitter): - libfunc = lib.FluidSimulation_set_marker_particle_jitter_factor - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), jitter]) - - @property - def jitter_surface_marker_particles(self): - libfunc = lib.FluidSimulation_is_jitter_surface_marker_particles_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @jitter_surface_marker_particles.setter - def jitter_surface_marker_particles(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_jitter_surface_marker_particles - else: - libfunc = lib.FluidSimulation_disable_jitter_surface_marker_particles - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def surface_subdivision_level(self): - libfunc = lib.FluidSimulation_get_surface_subdivision_level - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @surface_subdivision_level.setter - @decorators.check_ge(1) - def surface_subdivision_level(self, level): - libfunc = lib.FluidSimulation_set_surface_subdivision_level - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(level)]) - - @property - def num_polygonizer_slices(self): - libfunc = lib.FluidSimulation_get_num_polygonizer_slices - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @num_polygonizer_slices.setter - @decorators.check_ge(1) - def num_polygonizer_slices(self, slices): - libfunc = lib.FluidSimulation_set_num_polygonizer_slices - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(slices)]) - - @property - def surface_smoothing_value(self): - libfunc = lib.FluidSimulation_get_surface_smoothing_value - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @surface_smoothing_value.setter - def surface_smoothing_value(self, s): - libfunc = lib.FluidSimulation_set_surface_smoothing_value - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), s]) - - @property - def surface_smoothing_iterations(self): - libfunc = lib.FluidSimulation_get_surface_smoothing_iterations - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @surface_smoothing_iterations.setter - @decorators.check_ge(0) - def surface_smoothing_iterations(self, n): - libfunc = lib.FluidSimulation_set_surface_smoothing_iterations - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - def set_meshing_volume(self, mesh_object): - libfunc = lib.FluidSimulation_set_meshing_volume - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), mesh_object()]) - - @property - def min_polyhedron_triangle_count(self): - libfunc = lib.FluidSimulation_get_min_polyhedron_triangle_count - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @min_polyhedron_triangle_count.setter - @decorators.check_ge_zero - def min_polyhedron_triangle_count(self, count): - libfunc = lib.FluidSimulation_set_min_polyhedron_triangle_count - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(count)]) - - def get_domain_offset(self): - libfunc = lib.FluidSimulation_get_domain_offset - pb.init_lib_func(libfunc, [c_void_p, c_void_p], Vector3_t) - cvect = pb.execute_lib_func(libfunc, [self()]) - return Vector3.from_struct(cvect) - - @decorators.xyz_or_vector - def set_domain_offset(self, x, y, z): - libfunc = lib.FluidSimulation_set_domain_offset - pb.init_lib_func( - libfunc, - [c_void_p, c_double, c_double, c_double, c_void_p], None - ) - pb.execute_lib_func(libfunc, [self(), x, y, z]) - - def get_domain_scale(self): - libfunc = lib.FluidSimulation_get_domain_scale - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - def set_domain_scale(self, scale): - libfunc = lib.FluidSimulation_set_domain_scale - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), scale]) - - def set_mesh_output_format_as_ply(self): - libfunc = lib.FluidSimulation_set_mesh_output_format_as_ply - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - def set_mesh_output_format_as_bobj(self): - libfunc = lib.FluidSimulation_set_mesh_output_format_as_bobj - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_console_output(self): - libfunc = lib.FluidSimulation_is_console_output_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_console_output.setter - def enable_console_output(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_console_output - else: - libfunc = lib.FluidSimulation_disable_console_output - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_surface_reconstruction(self): - libfunc = lib.FluidSimulation_is_surface_reconstruction_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_surface_reconstruction.setter - def enable_surface_reconstruction(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_surface_reconstruction - else: - libfunc = lib.FluidSimulation_disable_surface_reconstruction - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_asynchronous_meshing(self): - libfunc = lib.FluidSimulation_is_asynchronous_meshing_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_asynchronous_meshing.setter - def enable_asynchronous_meshing(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_asynchronous_meshing - else: - libfunc = lib.FluidSimulation_disable_asynchronous_meshing - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_preview_mesh_output(self): - libfunc = lib.FluidSimulation_is_preview_mesh_output_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_preview_mesh_output.setter - @decorators.check_ge_zero - def enable_preview_mesh_output(self, cellsize): - if cellsize: - libfunc = lib.FluidSimulation_enable_preview_mesh_output - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), cellsize]) - else: - libfunc = lib.FluidSimulation_disable_preview_mesh_output - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_obstacle_meshing_offset(self): - libfunc = lib.FluidSimulation_is_obstacle_meshing_offset_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_obstacle_meshing_offset.setter - def enable_obstacle_meshing_offset(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_obstacle_meshing_offset - else: - libfunc = lib.FluidSimulation_disable_obstacle_meshing_offset - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def obstacle_meshing_offset(self): - libfunc = lib.FluidSimulation_get_obstacle_meshing_offset - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @obstacle_meshing_offset.setter - def obstacle_meshing_offset(self, offset): - libfunc = lib.FluidSimulation_set_obstacle_meshing_offset - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), offset]) - - @property - def enable_inverted_contact_normals(self): - libfunc = lib.FluidSimulation_is_inverted_contact_normals_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_inverted_contact_normals.setter - def enable_inverted_contact_normals(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_inverted_contact_normals - else: - libfunc = lib.FluidSimulation_disable_inverted_contact_normals - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_surface_motion_blur(self): - libfunc = lib.FluidSimulation_is_surface_motion_blur_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_surface_motion_blur.setter - def enable_surface_motion_blur(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_surface_motion_blur - else: - libfunc = lib.FluidSimulation_disable_surface_motion_blur - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_whitewater_motion_blur(self): - libfunc = lib.FluidSimulation_is_whitewater_motion_blur_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_whitewater_motion_blur.setter - def enable_whitewater_motion_blur(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_whitewater_motion_blur - else: - libfunc = lib.FluidSimulation_disable_whitewater_motion_blur - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_remove_surface_near_domain(self): - libfunc = lib.FluidSimulation_is_remove_surface_near_domain_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_remove_surface_near_domain.setter - def enable_remove_surface_near_domain(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_remove_surface_near_domain - else: - libfunc = lib.FluidSimulation_disable_remove_surface_near_domain - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def remove_surface_near_domain_distance(self): - libfunc = lib.FluidSimulation_get_remove_surface_near_domain_distance - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @remove_surface_near_domain_distance.setter - @decorators.check_ge(0) - def remove_surface_near_domain_distance(self, n): - libfunc = lib.FluidSimulation_set_remove_surface_near_domain_distance - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - @property - def enable_fluid_particle_output(self): - libfunc = lib.FluidSimulation_is_fluid_particle_output_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_fluid_particle_output.setter - def enable_fluid_particle_output(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_fluid_particle_output - else: - libfunc = lib.FluidSimulation_disable_fluid_particle_output - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - - @property - def enable_internal_obstacle_mesh_output(self): - libfunc = lib.FluidSimulation_is_internal_obstacle_mesh_output_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_internal_obstacle_mesh_output.setter - def enable_internal_obstacle_mesh_output(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_internal_obstacle_mesh_output - else: - libfunc = lib.FluidSimulation_disable_internal_obstacle_mesh_output - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_force_field_debug_output(self): - libfunc = lib.FluidSimulation_is_force_field_debug_output_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_force_field_debug_output.setter - def enable_force_field_debug_output(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_force_field_debug_output - else: - libfunc = lib.FluidSimulation_disable_force_field_debug_output - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_diffuse_material_output(self): - libfunc = lib.FluidSimulation_is_diffuse_material_output_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_material_output.setter - def enable_diffuse_material_output(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_material_output - else: - libfunc = lib.FluidSimulation_disable_diffuse_material_output - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_diffuse_particle_emission(self): - libfunc = lib.FluidSimulation_is_diffuse_particle_emission_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_particle_emission.setter - def enable_diffuse_particle_emission(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_particle_emission - else: - libfunc = lib.FluidSimulation_disable_diffuse_particle_emission - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_diffuse_foam(self): - libfunc = lib.FluidSimulation_is_diffuse_foam_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_foam.setter - def enable_diffuse_foam(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_foam - else: - libfunc = lib.FluidSimulation_disable_diffuse_foam - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_diffuse_bubbles(self): - libfunc = lib.FluidSimulation_is_diffuse_bubbles_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_bubbles.setter - def enable_diffuse_bubbles(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_bubbles - else: - libfunc = lib.FluidSimulation_disable_diffuse_bubbles - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_diffuse_spray(self): - libfunc = lib.FluidSimulation_is_diffuse_spray_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_spray.setter - def enable_diffuse_spray(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_spray - else: - libfunc = lib.FluidSimulation_disable_diffuse_spray - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_diffuse_dust(self): - libfunc = lib.FluidSimulation_is_diffuse_dust_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_dust.setter - def enable_diffuse_dust(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_dust - else: - libfunc = lib.FluidSimulation_disable_diffuse_dust - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_boundary_diffuse_dust_emission(self): - libfunc = lib.FluidSimulation_is_boundary_diffuse_dust_emission_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_boundary_diffuse_dust_emission.setter - def enable_boundary_diffuse_dust_emission(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_boundary_diffuse_dust_emission - else: - libfunc = lib.FluidSimulation_disable_boundary_diffuse_dust_emission - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_bubble_diffuse_material(self): - libfunc = lib.FluidSimulation_is_bubble_diffuse_material_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_bubble_diffuse_material.setter - def enable_bubble_diffuse_material(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_bubble_diffuse_material - else: - libfunc = lib.FluidSimulation_disable_bubble_diffuse_material - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_spray_diffuse_material(self): - libfunc = lib.FluidSimulation_is_spray_diffuse_material_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_spray_diffuse_material.setter - def enable_spray_diffuse_material(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_spray_diffuse_material - else: - libfunc = lib.FluidSimulation_disable_spray_diffuse_material - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_foam_diffuse_material(self): - libfunc = lib.FluidSimulation_is_foam_diffuse_material_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_foam_diffuse_material.setter - def enable_foam_diffuse_material(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_foam_diffuse_particles - else: - libfunc = lib.FluidSimulation_disable_foam_diffuse_material - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def output_diffuse_material_as_separate_files(self): - libfunc = lib.FluidSimulation_is_diffuse_material_output_as_separate_files - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @output_diffuse_material_as_separate_files.setter - def output_diffuse_material_as_separate_files(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_output_diffuse_material_as_separate_files - else: - libfunc = lib.FluidSimulation_output_diffuse_material_as_single_file - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def diffuse_emitter_generation_rate(self): - libfunc = lib.FluidSimulation_get_diffuse_emitter_generation_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_emitter_generation_rate.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def diffuse_emitter_generation_rate(self, rate): - libfunc = lib.FluidSimulation_set_diffuse_emitter_generation_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), rate]) - - @property - def min_diffuse_emitter_energy(self): - libfunc = lib.FluidSimulation_get_min_diffuse_emitter_energy - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @min_diffuse_emitter_energy.setter - @decorators.check_ge_zero - def min_diffuse_emitter_energy(self, e): - libfunc = lib.FluidSimulation_set_min_diffuse_emitter_energy - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), e]) - - @property - def max_diffuse_emitter_energy(self): - libfunc = lib.FluidSimulation_get_max_diffuse_emitter_energy - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @max_diffuse_emitter_energy.setter - @decorators.check_ge_zero - def max_diffuse_emitter_energy(self, e): - libfunc = lib.FluidSimulation_set_max_diffuse_emitter_energy - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), e]) - - @property - def min_diffuse_wavecrest_curvature(self): - libfunc = lib.FluidSimulation_get_min_diffuse_wavecrest_curvature - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @min_diffuse_wavecrest_curvature.setter - def min_diffuse_wavecrest_curvature(self, k): - libfunc = lib.FluidSimulation_set_min_diffuse_wavecrest_curvature - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), k]) - - @property - def max_diffuse_wavecrest_curvature(self): - libfunc = lib.FluidSimulation_get_max_diffuse_wavecrest_curvature - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @max_diffuse_wavecrest_curvature.setter - def max_diffuse_wavecrest_curvature(self, k): - libfunc = lib.FluidSimulation_set_max_diffuse_wavecrest_curvature - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), k]) - - @property - def min_diffuse_turbulence(self): - libfunc = lib.FluidSimulation_get_min_diffuse_turbulence - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @min_diffuse_turbulence.setter - @decorators.check_ge_zero - def min_diffuse_turbulence(self, t): - libfunc = lib.FluidSimulation_set_min_diffuse_turbulence - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), t]) - - @property - def max_diffuse_turbulence(self): - libfunc = lib.FluidSimulation_get_max_diffuse_turbulence - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @max_diffuse_turbulence.setter - @decorators.check_ge_zero - def max_diffuse_turbulence(self, t): - libfunc = lib.FluidSimulation_set_max_diffuse_turbulence - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), t]) - - @property - def max_num_diffuse_particles(self): - libfunc = lib.FluidSimulation_get_max_num_diffuse_particles - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @max_num_diffuse_particles.setter - def max_num_diffuse_particles(self, num): - libfunc = lib.FluidSimulation_set_max_num_diffuse_particles - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(num)]) - - @property - def diffuse_emitter_generation_bounds(self): - libfunc = lib.FluidSimulation_get_diffuse_emitter_generation_bounds - pb.init_lib_func(libfunc, [c_void_p, c_void_p], AABB_t) - return AABB.from_struct(pb.execute_lib_func(libfunc, [self()])) - - @diffuse_emitter_generation_bounds.setter - def diffuse_emitter_generation_bounds(self, bounds): - libfunc = lib.FluidSimulation_set_diffuse_emitter_generation_bounds - pb.init_lib_func(libfunc, [c_void_p, AABB_t, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), bounds.to_struct()]) - - @property - def min_diffuse_particle_lifetime(self): - libfunc = lib.FluidSimulation_get_min_diffuse_particle_lifetime - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @min_diffuse_particle_lifetime.setter - @decorators.check_ge_zero - def min_diffuse_particle_lifetime(self, lifetime): - libfunc = lib.FluidSimulation_set_min_diffuse_particle_lifetime - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), lifetime]) - - @property - def max_diffuse_particle_lifetime(self): - libfunc = lib.FluidSimulation_get_max_diffuse_particle_lifetime - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @max_diffuse_particle_lifetime.setter - @decorators.check_ge_zero - def max_diffuse_particle_lifetime(self, lifetime): - libfunc = lib.FluidSimulation_set_max_diffuse_particle_lifetime - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), lifetime]) - - @property - def diffuse_particle_lifetime_variance(self): - libfunc = lib.FluidSimulation_get_diffuse_particle_lifetime_variance - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_particle_lifetime_variance.setter - @decorators.check_ge_zero - def diffuse_particle_lifetime_variance(self, variance): - libfunc = lib.FluidSimulation_set_diffuse_particle_lifetime_variance - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), variance]) - - @property - def foam_particle_lifetime_modifier(self): - libfunc = lib.FluidSimulation_get_foam_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @foam_particle_lifetime_modifier.setter - @decorators.check_ge_zero - def foam_particle_lifetime_modifier(self, modifier): - libfunc = lib.FluidSimulation_set_foam_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), modifier]) - - @property - def bubble_particle_lifetime_modifier(self): - libfunc = lib.FluidSimulation_get_bubble_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @bubble_particle_lifetime_modifier.setter - @decorators.check_ge_zero - def bubble_particle_lifetime_modifier(self, modifier): - libfunc = lib.FluidSimulation_set_bubble_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), modifier]) - - @property - def spray_particle_lifetime_modifier(self): - libfunc = lib.FluidSimulation_get_spray_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @spray_particle_lifetime_modifier.setter - @decorators.check_ge_zero - def spray_particle_lifetime_modifier(self, modifier): - libfunc = lib.FluidSimulation_set_spray_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), modifier]) - - @property - def dust_particle_lifetime_modifier(self): - libfunc = lib.FluidSimulation_get_dust_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @dust_particle_lifetime_modifier.setter - @decorators.check_ge_zero - def dust_particle_lifetime_modifier(self, modifier): - libfunc = lib.FluidSimulation_set_dust_particle_lifetime_modifier - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), modifier]) - - @property - def diffuse_particle_wavecrest_emission_rate(self): - libfunc = lib.FluidSimulation_get_diffuse_particle_wavecrest_emission_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_particle_wavecrest_emission_rate.setter - @decorators.check_ge_zero - def diffuse_particle_wavecrest_emission_rate(self, rate): - libfunc = lib.FluidSimulation_set_diffuse_particle_wavecrest_emission_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), rate]) - - @property - def diffuse_particle_turbulence_emission_rate(self): - libfunc = lib.FluidSimulation_get_diffuse_particle_turbulence_emission_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_particle_turbulence_emission_rate.setter - @decorators.check_ge_zero - def diffuse_particle_turbulence_emission_rate(self, rate): - libfunc = lib.FluidSimulation_set_diffuse_particle_turbulence_emission_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), rate]) - - @property - def diffuse_particle_dust_emission_rate(self): - libfunc = lib.FluidSimulation_get_diffuse_particle_dust_emission_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_particle_dust_emission_rate.setter - @decorators.check_ge_zero - def diffuse_particle_dust_emission_rate(self, rate): - libfunc = lib.FluidSimulation_set_diffuse_particle_dust_emission_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), rate]) - - @property - def diffuse_foam_advection_strength(self): - libfunc = lib.FluidSimulation_get_diffuse_foam_advection_strength - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_foam_advection_strength.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def diffuse_foam_advection_strength(self, s): - libfunc = lib.FluidSimulation_set_diffuse_foam_advection_strength - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), s]) - - @property - def diffuse_foam_layer_depth(self): - libfunc = lib.FluidSimulation_get_diffuse_foam_layer_depth - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_foam_layer_depth.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def diffuse_foam_layer_depth(self, depth): - libfunc = lib.FluidSimulation_set_diffuse_foam_layer_depth - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), depth]) - - @property - def diffuse_foam_layer_offset(self): - libfunc = lib.FluidSimulation_get_diffuse_foam_layer_offset - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_foam_layer_offset.setter - @decorators.check_ge(-1.0) - @decorators.check_le(1.0) - def diffuse_foam_layer_offset(self, offset): - libfunc = lib.FluidSimulation_set_diffuse_foam_layer_offset - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), offset]) - - @property - def enable_diffuse_preserve_foam(self): - libfunc = lib.FluidSimulation_is_diffuse_preserve_foam_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_diffuse_preserve_foam.setter - def enable_diffuse_preserve_foam(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_diffuse_preserve_foam - else: - libfunc = lib.FluidSimulation_disable_diffuse_preserve_foam - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def diffuse_foam_preservation_rate(self): - libfunc = lib.FluidSimulation_get_diffuse_foam_preservation_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_foam_preservation_rate.setter - def diffuse_foam_preservation_rate(self, rate): - libfunc = lib.FluidSimulation_set_diffuse_foam_preservation_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), rate]) - - @property - def min_diffuse_foam_density(self): - libfunc = lib.FluidSimulation_get_min_diffuse_foam_density - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @min_diffuse_foam_density.setter - @decorators.check_ge_zero - def min_diffuse_foam_density(self, t): - libfunc = lib.FluidSimulation_set_min_diffuse_foam_density - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), t]) - - @property - def max_diffuse_foam_density(self): - libfunc = lib.FluidSimulation_get_max_diffuse_foam_density - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @max_diffuse_foam_density.setter - @decorators.check_ge_zero - def max_diffuse_foam_density(self, t): - libfunc = lib.FluidSimulation_set_max_diffuse_foam_density - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), t]) - - @property - def diffuse_bubble_drag_coefficient(self): - libfunc = lib.FluidSimulation_get_diffuse_bubble_drag_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_bubble_drag_coefficient.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def diffuse_bubble_drag_coefficient(self, d): - libfunc = lib.FluidSimulation_set_diffuse_bubble_drag_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), d]) - - @property - def diffuse_bubble_bouyancy_coefficient(self): - libfunc = lib.FluidSimulation_get_diffuse_bubble_bouyancy_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_bubble_bouyancy_coefficient.setter - def diffuse_bubble_bouyancy_coefficient(self, b): - libfunc = lib.FluidSimulation_set_diffuse_bubble_bouyancy_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), b]) - - @property - def diffuse_dust_drag_coefficient(self): - libfunc = lib.FluidSimulation_get_diffuse_dust_drag_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_dust_drag_coefficient.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def diffuse_dust_drag_coefficient(self, d): - libfunc = lib.FluidSimulation_set_diffuse_dust_drag_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), d]) - - @property - def diffuse_dust_bouyancy_coefficient(self): - libfunc = lib.FluidSimulation_get_diffuse_dust_bouyancy_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_dust_bouyancy_coefficient.setter - def diffuse_dust_bouyancy_coefficient(self, b): - libfunc = lib.FluidSimulation_set_diffuse_dust_bouyancy_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), b]) - - @property - def diffuse_spray_drag_coefficient(self): - libfunc = lib.FluidSimulation_get_diffuse_spray_drag_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_spray_drag_coefficient.setter - def diffuse_spray_drag_coefficient(self, d): - libfunc = lib.FluidSimulation_set_diffuse_spray_drag_coefficient - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), d]) - - @property - def diffuse_spray_emission_speed(self): - libfunc = lib.FluidSimulation_get_diffuse_spray_emission_speed - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_spray_emission_speed.setter - @decorators.check_ge(1.0) - def diffuse_spray_emission_speed(self, d): - libfunc = lib.FluidSimulation_set_diffuse_spray_emission_speed - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), d]) - - @property - def diffuse_foam_limit_behaviour(self): - libfunc = lib.FluidSimulation_get_diffuse_foam_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_foam_limit_behaviour.setter - def diffuse_foam_limit_behaviour(self, behaviour): - libfunc = lib.FluidSimulation_set_diffuse_foam_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(behaviour)]) - - @property - def diffuse_bubble_limit_behaviour(self): - libfunc = lib.FluidSimulation_get_diffuse_bubble_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_bubble_limit_behaviour.setter - def diffuse_bubble_limit_behaviour(self, behaviour): - libfunc = lib.FluidSimulation_set_diffuse_bubble_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(behaviour)]) - - @property - def diffuse_spray_limit_behaviour(self): - libfunc = lib.FluidSimulation_get_diffuse_spray_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_spray_limit_behaviour.setter - def diffuse_spray_limit_behaviour(self, behaviour): - libfunc = lib.FluidSimulation_set_diffuse_spray_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(behaviour)]) - - @property - def diffuse_dust_limit_behaviour(self): - libfunc = lib.FluidSimulation_get_diffuse_dust_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_dust_limit_behaviour.setter - def diffuse_dust_limit_behaviour(self, behaviour): - libfunc = lib.FluidSimulation_set_diffuse_dust_limit_behaviour - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(behaviour)]) - - @property - def diffuse_foam_active_boundary_sides(self): - active = (c_int * 6)() - libfunc = lib.FluidSimulation_get_diffuse_foam_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], c_int) - pb.execute_lib_func(libfunc, [self(), active]) - - result = [] - for v in active: - result.append(bool(v)) - - return result - - @diffuse_foam_active_boundary_sides.setter - def diffuse_foam_active_boundary_sides(self, active): - c_active = (c_int * 6)() - for i in range(6): - c_active[i] = int(active[i]) - - libfunc = lib.FluidSimulation_set_diffuse_foam_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_active]) - - @property - def diffuse_bubble_active_boundary_sides(self): - active = (c_int * 6)() - libfunc = lib.FluidSimulation_get_diffuse_bubble_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], c_int) - pb.execute_lib_func(libfunc, [self(), active]) - - result = [] - for v in active: - result.append(bool(v)) - - return result - - @diffuse_bubble_active_boundary_sides.setter - def diffuse_bubble_active_boundary_sides(self, active): - c_active = (c_int * 6)() - for i in range(6): - c_active[i] = int(active[i]) - - libfunc = lib.FluidSimulation_set_diffuse_bubble_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_active]) - - @property - def diffuse_spray_active_boundary_sides(self): - active = (c_int * 6)() - libfunc = lib.FluidSimulation_get_diffuse_spray_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], c_int) - pb.execute_lib_func(libfunc, [self(), active]) - - result = [] - for v in active: - result.append(bool(v)) - - return result - - @diffuse_spray_active_boundary_sides.setter - def diffuse_spray_active_boundary_sides(self, active): - c_active = (c_int * 6)() - for i in range(6): - c_active[i] = int(active[i]) - - libfunc = lib.FluidSimulation_set_diffuse_spray_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_active]) - - @property - def diffuse_dust_active_boundary_sides(self): - active = (c_int * 6)() - libfunc = lib.FluidSimulation_get_diffuse_dust_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], c_int) - pb.execute_lib_func(libfunc, [self(), active]) - - result = [] - for v in active: - result.append(bool(v)) - - return result - - @diffuse_dust_active_boundary_sides.setter - def diffuse_dust_active_boundary_sides(self, active): - c_active = (c_int * 6)() - for i in range(6): - c_active[i] = int(active[i]) - - libfunc = lib.FluidSimulation_set_diffuse_dust_active_boundary_sides - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_active]) - - @property - def diffuse_obstacle_influence_base_level(self): - libfunc = lib.FluidSimulation_get_diffuse_obstacle_influence_base_level - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_obstacle_influence_base_level.setter - @decorators.check_ge_zero - def diffuse_obstacle_influence_base_level(self, b): - libfunc = lib.FluidSimulation_set_diffuse_obstacle_influence_base_level - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), b]) - - @property - def diffuse_obstacle_influence_decay_rate(self): - libfunc = lib.FluidSimulation_get_diffuse_obstacle_influence_decay_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @diffuse_obstacle_influence_decay_rate.setter - @decorators.check_ge_zero - def diffuse_obstacle_influence_decay_rate(self, d): - libfunc = lib.FluidSimulation_set_diffuse_obstacle_influence_decay_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), d]) - - @property - def enable_opencl_particle_advection(self): - libfunc = lib.FluidSimulation_is_opencl_particle_advection_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_opencl_particle_advection.setter - def enable_opencl_particle_advection(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_opencl_particle_advection - else: - libfunc = lib.FluidSimulation_disable_opencl_particle_advection - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_opencl_scalar_field(self): - libfunc = lib.FluidSimulation_is_opencl_scalar_field_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_opencl_scalar_field.setter - def enable_opencl_scalar_field(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_opencl_scalar_field - else: - libfunc = lib.FluidSimulation_disable_opencl_scalar_field - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def particle_advection_kernel_workload_size(self): - libfunc = lib.FluidSimulation_get_particle_advection_kernel_workload_size - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @particle_advection_kernel_workload_size.setter - @decorators.check_ge(1) - def particle_advection_kernel_workload_size(self, size): - libfunc = lib.FluidSimulation_set_particle_advection_kernel_workload_size - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(size)]) - - @property - def scalar_field_kernel_workload_size(self): - libfunc = lib.FluidSimulation_get_scalar_field_kernel_workload_size - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @scalar_field_kernel_workload_size.setter - @decorators.check_ge(1) - def scalar_field_kernel_workload_size(self, size): - libfunc = lib.FluidSimulation_set_scalar_field_kernel_workload_size - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(size)]) - - @property - def max_thread_count(self): - libfunc = lib.FluidSimulation_get_max_thread_count - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @max_thread_count.setter - @decorators.check_ge(1) - def max_thread_count(self, n): - libfunc = lib.FluidSimulation_set_max_thread_count - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - @decorators.xyz_or_vector - def add_body_force(self, fx, fy, fz): - libfunc = lib.FluidSimulation_add_body_force - pb.init_lib_func( - libfunc, - [c_void_p, c_double, c_double, c_double, c_void_p], None - ) - pb.execute_lib_func(libfunc, [self(), fx, fy, fz]) - - def get_constant_body_force(self): - libfunc = lib.FluidSimulation_get_constant_body_force - pb.init_lib_func(libfunc, [c_void_p, c_void_p], Vector3_t) - cvect = pb.execute_lib_func(libfunc, [self()]) - return Vector3.from_struct(cvect) - - def reset_body_force(self): - libfunc = lib.FluidSimulation_reset_body_force - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_force_fields(self): - libfunc = lib.FluidSimulation_is_force_fields_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_force_fields.setter - def enable_force_fields(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_force_fields - else: - libfunc = lib.FluidSimulation_disable_force_fields - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def force_field_reduction_level(self): - libfunc = lib.FluidSimulation_get_force_field_reduction_level - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @force_field_reduction_level.setter - @decorators.check_gt_zero - def force_field_reduction_level(self, level): - libfunc = lib.FluidSimulation_set_force_field_reduction_level - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(level)]) - - def get_force_field_grid(self): - libfunc = lib.FluidSimulation_get_force_field_grid - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_void_p) - pointer = pb.execute_lib_func(libfunc, [self()]) - return ForceFieldGrid(pointer) - - @property - def viscosity(self): - libfunc = lib.FluidSimulation_get_viscosity - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @viscosity.setter - @decorators.check_ge_zero - def viscosity(self, value): - libfunc = lib.FluidSimulation_set_viscosity - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def surface_tension(self): - libfunc = lib.FluidSimulation_get_surface_tension - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @surface_tension.setter - @decorators.check_ge_zero - def surface_tension(self, value): - libfunc = lib.FluidSimulation_set_surface_tension - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def enable_sheet_seeding(self): - libfunc = lib.FluidSimulation_is_sheet_seeding_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_sheet_seeding.setter - def enable_sheet_seeding(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_sheet_seeding - else: - libfunc = lib.FluidSimulation_disable_sheet_seeding - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def sheet_fill_threshold(self): - libfunc = lib.FluidSimulation_get_sheet_fill_threshold - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @sheet_fill_threshold.setter - @decorators.check_ge(-1.0) - @decorators.check_le(0.0) - def sheet_fill_threshold(self, t): - libfunc = lib.FluidSimulation_set_sheet_fill_threshold - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), t]) - - @property - def sheet_fill_rate(self): - libfunc = lib.FluidSimulation_get_sheet_fill_rate - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @sheet_fill_rate.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def sheet_fill_rate(self, r): - libfunc = lib.FluidSimulation_set_sheet_fill_rate - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), r]) - - @property - def boundary_friction(self): - libfunc = lib.FluidSimulation_get_boundary_friction - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @boundary_friction.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def boundary_friction(self, s): - libfunc = lib.FluidSimulation_set_boundary_friction - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), s]) - - @property - def CFL_condition_number(self): - libfunc = lib.FluidSimulation_get_CFL_condition_number - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @CFL_condition_number.setter - @decorators.check_ge(1) - def CFL_condition_number(self, n): - libfunc = lib.FluidSimulation_set_CFL_condition_number - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - @property - def surface_tension_condition_number(self): - libfunc = lib.FluidSimulation_get_surface_tension_condition_number - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @surface_tension_condition_number.setter - @decorators.check_gt(0.0) - def surface_tension_condition_number(self, n): - libfunc = lib.FluidSimulation_set_surface_tension_condition_number - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), n]) - - @property - def min_time_steps_per_frame(self): - libfunc = lib.FluidSimulation_get_min_time_steps_per_frame - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @min_time_steps_per_frame.setter - @decorators.check_ge(1) - def min_time_steps_per_frame(self, n): - libfunc = lib.FluidSimulation_set_min_time_steps_per_frame - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - @property - def max_time_steps_per_frame(self): - libfunc = lib.FluidSimulation_get_max_time_steps_per_frame - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_adaptive_obstacle_time_stepping(self): - libfunc = lib.FluidSimulation_is_adaptive_obstacle_time_stepping_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_adaptive_obstacle_time_stepping.setter - def enable_adaptive_obstacle_time_stepping(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_adaptive_obstacle_time_stepping - else: - libfunc = lib.FluidSimulation_disable_adaptive_obstacle_time_stepping - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_adaptive_force_field_time_stepping(self): - libfunc = lib.FluidSimulation_is_adaptive_force_field_time_stepping_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_adaptive_force_field_time_stepping.setter - def enable_adaptive_force_field_time_stepping(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_adaptive_force_field_time_stepping - else: - libfunc = lib.FluidSimulation_disable_adaptive_force_field_time_stepping - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @max_time_steps_per_frame.setter - @decorators.check_ge(1) - def max_time_steps_per_frame(self, n): - libfunc = lib.FluidSimulation_set_max_time_steps_per_frame - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - @property - def enable_extreme_velocity_removal(self): - libfunc = lib.FluidSimulation_is_extreme_velocity_removal_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_extreme_velocity_removal.setter - def enable_extreme_velocity_removal(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_extreme_velocity_removal - else: - libfunc = lib.FluidSimulation_disable_extreme_velocity_removal - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def PICFLIP_ratio(self): - libfunc = lib.FluidSimulation_get_PICFLIP_ratio - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_double) - return pb.execute_lib_func(libfunc, [self()]) - - @PICFLIP_ratio.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def PICFLIP_ratio(self, ratio): - libfunc = lib.FluidSimulation_set_PICFLIP_ratio - pb.init_lib_func(libfunc, [c_void_p, c_double, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), ratio]) - - @property - def preferred_gpu_device(self): - c_str = ctypes.create_string_buffer(4096) - libfunc = lib.FluidSimulation_get_preferred_gpu_device - pb.init_lib_func(libfunc, [c_void_p, c_char_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_str]) - return c_str.value.decode("utf-8") - - @preferred_gpu_device.setter - def preferred_gpu_device(self, device_name): - c_device_name = ctypes.create_string_buffer(bytes(device_name, 'utf-8'), 4096) - libfunc = lib.FluidSimulation_set_preferred_gpu_device - pb.init_lib_func(libfunc, [c_void_p, c_char_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_device_name]) - - @property - def enable_static_solid_levelset_precomputation(self): - libfunc = lib.FluidSimulation_is_static_solid_levelset_precomputation_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_static_solid_levelset_precomputation.setter - def enable_static_solid_levelset_precomputation(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_static_solid_levelset_precomputation - else: - libfunc = lib.FluidSimulation_disable_static_solid_levelset_precomputation - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def enable_temporary_mesh_levelset(self): - libfunc = lib.FluidSimulation_is_temporary_mesh_levelset_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_temporary_mesh_levelset.setter - def enable_temporary_mesh_levelset(self, boolval): - if boolval: - libfunc = lib.FluidSimulation_enable_temporary_mesh_levelset - else: - libfunc = lib.FluidSimulation_disable_temporary_mesh_levelset - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - def add_mesh_fluid_source(self, mesh_fluid_source): - libfunc = lib.FluidSimulation_add_mesh_fluid_source - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), mesh_fluid_source()]) - - def remove_mesh_fluid_source(self, mesh_fluid_source): - libfunc = lib.FluidSimulation_remove_mesh_fluid_source - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), mesh_fluid_source()]) - - def remove_mesh_fluid_sources(self): - libfunc = lib.FluidSimulation_remove_mesh_fluid_sources - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - def add_mesh_obstacle(self, mesh_object): - libfunc = lib.FluidSimulation_add_mesh_obstacle - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), mesh_object()]) - - def remove_mesh_obstacle(self, mesh_object): - libfunc = lib.FluidSimulation_remove_mesh_obstacle - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), mesh_object()]) - - def remove_mesh_obstacles(self): - libfunc = lib.FluidSimulation_remove_mesh_obstacles - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - def add_mesh_fluid(self, mesh_object, vx = 0.0, vy = 0.0, vz = 0.0): - velocity = Vector3_t(vx, vy, vz) - libfunc = lib.FluidSimulation_add_mesh_fluid - pb.init_lib_func(libfunc, [c_void_p, c_void_p, Vector3_t, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), mesh_object(), velocity]) - - def get_num_marker_particles(self): - libfunc = lib.FluidSimulation_get_num_marker_particles - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - def get_marker_particles(self, startidx = None, endidx = None): - nparticles = self.get_num_marker_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (MarkerParticle_t * n)() - - libfunc = lib.FluidSimulation_get_marker_particles - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - return out - - def get_marker_particle_positions(self, startidx = None, endidx = None): - nparticles = self.get_num_marker_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (Vector3_t * n)() - - libfunc = lib.FluidSimulation_get_marker_particle_positions - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - return out - - def get_marker_particle_velocities(self, startidx = None, endidx = None): - nparticles = self.get_num_marker_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (Vector3_t * n)() - - libfunc = lib.FluidSimulation_get_marker_particle_velocities - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - return out - - def get_num_diffuse_particles(self): - libfunc = lib.FluidSimulation_get_num_diffuse_particles - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - def get_diffuse_particles(self, startidx = None, endidx = None): - nparticles = self.get_num_diffuse_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (DiffuseParticle_t * n)() - - libfunc = lib.FluidSimulation_get_diffuse_particles - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - return out - - def get_diffuse_particle_positions(self, startidx = None, endidx = None): - nparticles = self.get_num_diffuse_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (Vector3_t * n)() - - libfunc = lib.FluidSimulation_get_diffuse_particle_positions - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - return out - - def get_diffuse_particle_velocities(self, startidx = None, endidx = None): - nparticles = self.get_num_diffuse_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (Vector3_t * n)() - - libfunc = lib.FluidSimulation_get_diffuse_particle_velocities - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - return out - - def get_diffuse_particle_lifetimes(self, startidx = None, endidx = None): - nparticles = self.get_num_diffuse_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (c_float * n)() - - libfunc = lib.FluidSimulation_get_diffuse_particle_lifetimes - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - floats = [] - for f in out: - floats.append(float(f)) - - return floats - - def get_diffuse_particle_types(self, startidx = None, endidx = None): - nparticles = self.get_num_diffuse_particles() - startidx, endidx = self._check_range(startidx, endidx, 0, nparticles) - n = endidx - startidx - out = (c_char * n)() - - libfunc = lib.FluidSimulation_get_diffuse_particle_types - pb.init_lib_func(libfunc, - [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), startidx, endidx, out]) - - types = [] - for t in out: - types.append(ord(t)) - - return types - - def get_surface_data(self): - return self._get_output_data(lib.FluidSimulation_get_surface_data_size, - lib.FluidSimulation_get_surface_data) - - def get_surface_preview_data(self): - return self._get_output_data(lib.FluidSimulation_get_surface_preview_data_size, - lib.FluidSimulation_get_surface_preview_data) - - def get_surface_blur_data(self): - return self._get_output_data(lib.FluidSimulation_get_surface_blur_data_size, - lib.FluidSimulation_get_surface_blur_data) - - def get_diffuse_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_data_size, - lib.FluidSimulation_get_diffuse_data) - - def get_diffuse_foam_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_foam_data_size, - lib.FluidSimulation_get_diffuse_foam_data) - - def get_diffuse_bubble_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_bubble_data_size, - lib.FluidSimulation_get_diffuse_bubble_data) - - def get_diffuse_spray_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_spray_data_size, - lib.FluidSimulation_get_diffuse_spray_data) - - def get_diffuse_dust_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_dust_data_size, - lib.FluidSimulation_get_diffuse_dust_data) - - def get_diffuse_foam_blur_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_foam_blur_data_size, - lib.FluidSimulation_get_diffuse_foam_blur_data) - - def get_diffuse_bubble_blur_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_bubble_blur_data_size, - lib.FluidSimulation_get_diffuse_bubble_blur_data) - - def get_diffuse_spray_blur_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_spray_blur_data_size, - lib.FluidSimulation_get_diffuse_spray_blur_data) - - def get_diffuse_dust_blur_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_dust_blur_data_size, - lib.FluidSimulation_get_diffuse_dust_blur_data) - - def get_fluid_particle_data(self): - return self._get_output_data(lib.FluidSimulation_get_fluid_particle_data_size, - lib.FluidSimulation_get_fluid_particle_data) - - def get_internal_obstacle_mesh_data(self): - return self._get_output_data(lib.FluidSimulation_get_internal_obstacle_mesh_data_size, - lib.FluidSimulation_get_internal_obstacle_mesh_data) - - def get_force_field_debug_data(self): - return self._get_output_data(lib.FluidSimulation_get_force_field_debug_data_size, - lib.FluidSimulation_get_force_field_debug_data) - - def get_logfile_data(self): - byte_str = self._get_output_data(lib.FluidSimulation_get_logfile_data_size, - lib.FluidSimulation_get_logfile_data) - return byte_str.decode("utf-8") - - def get_frame_stats_data(self): - libfunc = lib.FluidSimulation_get_frame_stats_data - pb.init_lib_func(libfunc, [c_void_p, c_void_p], FluidSimulationFrameStats_t) - stats = pb.execute_lib_func(libfunc, [self()]) - return stats - - def get_marker_particle_position_data(self): - return self._get_output_data(lib.FluidSimulation_get_marker_particle_position_data_size, - lib.FluidSimulation_get_marker_particle_position_data) - - def get_marker_particle_velocity_data(self): - return self._get_output_data(lib.FluidSimulation_get_marker_particle_velocity_data_size, - lib.FluidSimulation_get_marker_particle_velocity_data) - - def get_diffuse_particle_position_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_particle_position_data_size, - lib.FluidSimulation_get_diffuse_particle_position_data) - - def get_diffuse_particle_velocity_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_particle_velocity_data_size, - lib.FluidSimulation_get_diffuse_particle_velocity_data) - - def get_diffuse_particle_lifetime_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_particle_lifetime_data_size, - lib.FluidSimulation_get_diffuse_particle_lifetime_data) - - def get_diffuse_particle_type_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_particle_type_data_size, - lib.FluidSimulation_get_diffuse_particle_type_data) - - def get_diffuse_particle_id_data(self): - return self._get_output_data(lib.FluidSimulation_get_diffuse_particle_id_data_size, - lib.FluidSimulation_get_diffuse_particle_id_data) - - def _get_output_data(self, size_libfunc, data_libfunc): - libfunc = size_libfunc - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_uint) - data_size = pb.execute_lib_func(libfunc, [self()]) - - c_data = (c_char * data_size)() - - libfunc = data_libfunc - pb.init_lib_func(libfunc, [c_void_p, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), c_data]) - - return bytes(c_data) - - def get_marker_particle_position_data_range(self, start_idx, end_idx): - size_of_vector = 12 - return self._get_output_data_range(lib.FluidSimulation_get_marker_particle_position_data_range, - start_idx, end_idx, size_of_vector) - - def get_marker_particle_velocity_data_range(self, start_idx, end_idx): - size_of_vector = 12 - return self._get_output_data_range(lib.FluidSimulation_get_marker_particle_velocity_data_range, - start_idx, end_idx, size_of_vector) - - def get_diffuse_particle_position_data_range(self, start_idx, end_idx): - size_of_vector = 12 - return self._get_output_data_range(lib.FluidSimulation_get_diffuse_particle_position_data_range, - start_idx, end_idx, size_of_vector) - - def get_diffuse_particle_velocity_data_range(self, start_idx, end_idx): - size_of_vector = 12 - return self._get_output_data_range(lib.FluidSimulation_get_diffuse_particle_velocity_data_range, - start_idx, end_idx, size_of_vector) - - def get_diffuse_particle_lifetime_data_range(self, start_idx, end_idx): - size_of_float = 4 - return self._get_output_data_range(lib.FluidSimulation_get_diffuse_particle_lifetime_data_range, - start_idx, end_idx, size_of_float) - - def get_diffuse_particle_type_data_range(self, start_idx, end_idx): - size_of_char = 1 - return self._get_output_data_range(lib.FluidSimulation_get_diffuse_particle_type_data_range, - start_idx, end_idx, size_of_char) - - def get_diffuse_particle_id_data_range(self, start_idx, end_idx): - size_of_char = 1 - return self._get_output_data_range(lib.FluidSimulation_get_diffuse_particle_id_data_range, - start_idx, end_idx, size_of_char) - - def _get_output_data_range(self, data_libfunc, start_idx, end_idx, size_of_element): - data_size = (end_idx - start_idx) * size_of_element - c_data = (c_char * data_size)() - - libfunc = data_libfunc - pb.init_lib_func(libfunc, [c_void_p, c_int, c_int, c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), start_idx, end_idx, c_data]) - - return bytes(c_data) - - def _check_range(self, startidx, endidx, minidx, maxidx): - if startidx is None: - startidx = minidx - if endidx is None: - endidx = maxidx - - if not isinstance(startidx, int) or not isinstance(endidx, int): - raise TypeError("Index range must be integers") - if startidx < minidx: - raise IndexError("startidx out of range: " + str(startidx)) - if endidx > maxidx: - raise IndexError("endidx out of range: " + str(endidx)) - if endidx < startidx: - endidx = startidx - - return startidx, endidx - - def load_marker_particle_data(self, num_particles, position_data, velocity_data): - c_position_data = (c_char * len(position_data)).from_buffer_copy(position_data) - c_velocity_data = (c_char * len(velocity_data)).from_buffer_copy(velocity_data) - - pdata = FluidSimulationMarkerParticleData_t() - pdata.size = c_int(num_particles) - pdata.positions = ctypes.cast(c_position_data, c_char_p) - pdata.velocities = ctypes.cast(c_velocity_data, c_char_p) - - libfunc = lib.FluidSimulation_load_marker_particle_data - pb.init_lib_func(libfunc, [c_void_p, FluidSimulationMarkerParticleData_t, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), pdata]) - - def load_diffuse_particle_data(self, num_particles, position_data, velocity_data, - lifetime_data, type_data, id_data): - c_position_data = (c_char * len(position_data)).from_buffer_copy(position_data) - c_velocity_data = (c_char * len(velocity_data)).from_buffer_copy(velocity_data) - c_lifetime_data = (c_char * len(lifetime_data)).from_buffer_copy(lifetime_data) - c_type_data = (c_char * len(type_data)).from_buffer_copy(type_data) - c_id_data = (c_char * len(id_data)).from_buffer_copy(id_data) - - pdata = FluidSimulationDiffuseParticleData_t() - pdata.size = c_int(num_particles) - pdata.positions = ctypes.cast(c_position_data, c_char_p) - pdata.velocities = ctypes.cast(c_velocity_data, c_char_p) - pdata.lifetimes = ctypes.cast(c_lifetime_data, c_char_p) - pdata.types = ctypes.cast(c_type_data, c_char_p) - pdata.ids = ctypes.cast(c_id_data, c_char_p) - - libfunc = lib.FluidSimulation_load_diffuse_particle_data - pb.init_lib_func(libfunc, [c_void_p, FluidSimulationDiffuseParticleData_t, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), pdata]) - - - -class MarkerParticle_t(ctypes.Structure): - _fields_ = [("position", Vector3_t), - ("velocity", Vector3_t)] - -class DiffuseParticle_t(ctypes.Structure): - _fields_ = [("position", Vector3_t), - ("velocity", Vector3_t), - ("lifetime", c_float), - ("type", c_char)] - -class FluidSimulationMeshStats_t(ctypes.Structure): - _fields_ = [("enabled", c_int), - ("vertices", c_int), - ("triangles", c_int), - ("bytes", c_uint)] - -class FluidSimulationTimingStats_t(ctypes.Structure): - _fields_ = [("total", c_double), - ("mesh", c_double), - ("advection", c_double), - ("particles", c_double), - ("pressure", c_double), - ("diffuse", c_double), - ("viscosity", c_double), - ("objects", c_double)] - -class FluidSimulationFrameStats_t(ctypes.Structure): - _fields_ = [("frame", c_int), - ("substeps", c_int), - ("delta_time", c_double), - ("fluid_particles", c_int), - ("diffuse_particles", c_int), - ("surface", FluidSimulationMeshStats_t), - ("preview", FluidSimulationMeshStats_t), - ("surfaceblur", FluidSimulationMeshStats_t), - ("foam", FluidSimulationMeshStats_t), - ("bubble", FluidSimulationMeshStats_t), - ("spray", FluidSimulationMeshStats_t), - ("dust", FluidSimulationMeshStats_t), - ("foamblur", FluidSimulationMeshStats_t), - ("bubbleblur", FluidSimulationMeshStats_t), - ("sprayblur", FluidSimulationMeshStats_t), - ("dustblur", FluidSimulationMeshStats_t), - ("particles", FluidSimulationMeshStats_t), - ("obstacle", FluidSimulationMeshStats_t), - ("forcefield", FluidSimulationMeshStats_t), - ("timing", FluidSimulationTimingStats_t)] - -class FluidSimulationMarkerParticleData_t(ctypes.Structure): - _fields_ = [("size", c_int), - ("positions", c_char_p), - ("velocities", c_char_p)] - -class FluidSimulationDiffuseParticleData_t(ctypes.Structure): - _fields_ = [("size", c_int), - ("positions", c_char_p), - ("velocities", c_char_p), - ("lifetimes", c_char_p), - ("types", c_char_p), - ("ids", c_char_p)] \ No newline at end of file diff --git a/src/pyfluid/forcefield.py b/src/pyfluid/forcefield.py deleted file mode 100644 index acbb310..0000000 --- a/src/pyfluid/forcefield.py +++ /dev/null @@ -1,186 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from abc import ABCMeta, abstractmethod -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from . import pybindings as pb -from . import method_decorators as decorators -from .trianglemesh import TriangleMesh_t - -class ForceField(): - __metaclass__ = ABCMeta - - @abstractmethod - def __init__(): - pass - - def __call__(self): - return self._obj - - def update_mesh_static(self, mesh): - mesh_struct = mesh.to_struct() - libfunc = lib.ForceField_update_mesh_static - args = [c_void_p, TriangleMesh_t, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - pb.execute_lib_func(libfunc, [self(), mesh_struct]) - - def update_mesh_animated(self, mesh_previous, mesh_current, mesh_next): - mesh_struct_previous = mesh_previous.to_struct() - mesh_struct_current = mesh_current.to_struct() - mesh_struct_next = mesh_next.to_struct() - libfunc = lib.ForceField_update_mesh_animated - args = [c_void_p, TriangleMesh_t, TriangleMesh_t, TriangleMesh_t, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - pb.execute_lib_func(libfunc, [self(), mesh_struct_previous, - mesh_struct_current, - mesh_struct_next]) - - @property - def enable(self): - libfunc = lib.ForceField_is_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable.setter - def enable(self, boolval): - if boolval: - libfunc = lib.ForceField_enable - else: - libfunc = lib.ForceField_disable - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def strength(self): - libfunc = lib.ForceField_get_strength - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @strength.setter - def strength(self, value): - libfunc = lib.ForceField_set_strength - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def falloff_power(self): - libfunc = lib.ForceField_get_falloff_power - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @falloff_power.setter - def falloff_power(self, value): - libfunc = lib.ForceField_set_falloff_power - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def max_force_limit_factor(self): - libfunc = lib.ForceField_get_max_force_limit_factor - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @max_force_limit_factor.setter - def max_force_limit_factor(self, value): - libfunc = lib.ForceField_set_max_force_limit_factor - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def enable_min_distance(self): - libfunc = lib.ForceField_is_min_distance_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_min_distance.setter - def enable_min_distance(self, boolval): - if boolval: - libfunc = lib.ForceField_enable_min_distance - else: - libfunc = lib.ForceField_disable_min_distance - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def min_distance(self): - libfunc = lib.ForceField_get_min_distance - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @min_distance.setter - def min_distance(self, value): - libfunc = lib.ForceField_set_min_distance - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def enable_max_distance(self): - libfunc = lib.ForceField_is_max_distance_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_max_distance.setter - def enable_max_distance(self, boolval): - if boolval: - libfunc = lib.ForceField_enable_max_distance - else: - libfunc = lib.ForceField_disable_max_distance - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def max_distance(self): - libfunc = lib.ForceField_get_max_distance - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @max_distance.setter - def max_distance(self, value): - libfunc = lib.ForceField_set_max_distance - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def gravity_scale(self): - libfunc = lib.ForceField_get_gravity_scale - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @gravity_scale.setter - def gravity_scale(self, value): - libfunc = lib.ForceField_set_gravity_scale - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def gravity_scale_width(self): - libfunc = lib.ForceField_get_gravity_scale - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @gravity_scale_width.setter - def gravity_scale_width(self, value): - libfunc = lib.ForceField_set_gravity_scale_width - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) \ No newline at end of file diff --git a/src/pyfluid/forcefieldcurve.py b/src/pyfluid/forcefieldcurve.py deleted file mode 100644 index dca5ef6..0000000 --- a/src/pyfluid/forcefieldcurve.py +++ /dev/null @@ -1,87 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from abc import ABCMeta, abstractmethod -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from .forcefield import ForceField -from . import pybindings as pb -from . import method_decorators as decorators - -class ForceFieldCurve(ForceField): - - def __init__(self): - libfunc = lib.ForceFieldCurve_new - args = [c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, []) - - def __del__(self): - try: - libfunc = lib.ForceFieldCurve_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass - - def __call__(self): - return self._obj - - @property - def flow_strength(self): - libfunc = lib.ForceFieldCurve_get_flow_strength - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @flow_strength.setter - def flow_strength(self, value): - libfunc = lib.ForceFieldCurve_set_flow_strength - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def spin_strength(self): - libfunc = lib.ForceFieldCurve_get_spin_strength - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @spin_strength.setter - def spin_strength(self, value): - libfunc = lib.ForceFieldCurve_set_spin_strength - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def enable_endcaps(self): - libfunc = lib.ForceFieldCurve_is_endcaps_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_endcaps.setter - def enable_endcaps(self, boolval): - if boolval: - libfunc = lib.ForceFieldCurve_enable_endcaps - else: - libfunc = lib.ForceFieldCurve_disable_endcaps - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) \ No newline at end of file diff --git a/src/pyfluid/forcefieldgrid.py b/src/pyfluid/forcefieldgrid.py deleted file mode 100644 index 0d59c1f..0000000 --- a/src/pyfluid/forcefieldgrid.py +++ /dev/null @@ -1,59 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from . import pybindings as pb -from . import method_decorators as decorators - -class ForceFieldGrid(): - - def __init__(self, c_pointer=None): - if c_pointer is not None: - self._obj = c_pointer - self._is_owner = False - else: - libfunc = lib.ForceFieldGrid_new - args = [c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, []) - self._is_owner = True - - def __del__(self): - if not self._is_owner: - return - try: - libfunc = lib.MeshObject_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass - - def __call__(self): - return self._obj - - def add_force_field(self, field): - libfunc = lib.ForceFieldGrid_add_force_field - args = [c_void_p, c_void_p, c_void_p] - pb.init_lib_func(libfunc, args, None) - pb.execute_lib_func(libfunc, [self(), field()]) diff --git a/src/pyfluid/forcefieldpoint.py b/src/pyfluid/forcefieldpoint.py deleted file mode 100644 index 6609119..0000000 --- a/src/pyfluid/forcefieldpoint.py +++ /dev/null @@ -1,45 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from abc import ABCMeta, abstractmethod -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from .forcefield import ForceField -from . import pybindings as pb -from . import method_decorators as decorators - -class ForceFieldPoint(ForceField): - - def __init__(self): - libfunc = lib.ForceFieldPoint_new - args = [c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, []) - - def __del__(self): - try: - libfunc = lib.ForceFieldPoint_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass diff --git a/src/pyfluid/forcefieldsurface.py b/src/pyfluid/forcefieldsurface.py deleted file mode 100644 index 5a7c291..0000000 --- a/src/pyfluid/forcefieldsurface.py +++ /dev/null @@ -1,45 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from abc import ABCMeta, abstractmethod -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from .forcefield import ForceField -from . import pybindings as pb -from . import method_decorators as decorators - -class ForceFieldSurface(ForceField): - - def __init__(self): - libfunc = lib.ForceFieldSurface_new - args = [c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, []) - - def __del__(self): - try: - libfunc = lib.ForceFieldSurface_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass diff --git a/src/pyfluid/forcefieldvolume.py b/src/pyfluid/forcefieldvolume.py deleted file mode 100644 index e830bfb..0000000 --- a/src/pyfluid/forcefieldvolume.py +++ /dev/null @@ -1,45 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from abc import ABCMeta, abstractmethod -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from .forcefield import ForceField -from . import pybindings as pb -from . import method_decorators as decorators - -class ForceFieldVolume(ForceField): - - def __init__(self): - libfunc = lib.ForceFieldVolume_new - args = [c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, []) - - def __del__(self): - try: - libfunc = lib.ForceFieldVolume_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass diff --git a/src/pyfluid/gpu_utils.py b/src/pyfluid/gpu_utils.py deleted file mode 100644 index 65502d8..0000000 --- a/src/pyfluid/gpu_utils.py +++ /dev/null @@ -1,59 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import ctypes -from ctypes import c_void_p, c_char_p, c_char, c_int, c_uint, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from . import pybindings as pb - -DEVICE_STRING_LEN = 4096 - -class GPUDevice_t(ctypes.Structure): - _fields_ = [("name", ctypes.c_char * DEVICE_STRING_LEN), - ("description", ctypes.c_char * DEVICE_STRING_LEN), - ("score", ctypes.c_float)] - - -def get_num_gpu_devices(): - libfunc = lib.OpenCLUtils_get_num_gpu_devices - pb.init_lib_func(libfunc, [c_void_p], c_int) - return pb.execute_lib_func(libfunc, []) - -def find_gpu_devices(): - num_devices = get_num_gpu_devices() - if num_devices == 0: - return [] - - device_structs = (GPUDevice_t * num_devices)() - libfunc = lib.OpenCLUtils_get_gpu_devices - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [device_structs, num_devices]) - - devices = [] - for d in device_structs: - device_info = {"name": d.name.decode("utf-8"), - "description": d.description.decode("utf-8"), - "score": d.score} - devices.append(device_info) - - return devices diff --git a/src/pyfluid/gridindex.py b/src/pyfluid/gridindex.py deleted file mode 100644 index 925ff48..0000000 --- a/src/pyfluid/gridindex.py +++ /dev/null @@ -1,85 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import array -import ctypes - -class GridIndex_t(ctypes.Structure): - _fields_ = [("i", ctypes.c_int), - ("j", ctypes.c_int), - ("k", ctypes.c_int)] - -class GridIndex(object): - - def __init__(self, i = 0, j = 0, k = 0): - if isinstance(i, GridIndex): - self._values = array.array('i', [i.i, i.j, i.k]) - else: - self._values = array.array('i', [i, j, k]) - - def __str__(self): - return str(self.i) + " " + str(self.j) + " " + str(self.k) - - def __getitem__(self, key): - if key < 0 or key > 2: - raise IndexError("Index must be in range [0, 2]") - if not isinstance(key, int): - raise TypeError("Index must be an integer") - - return self._values[key] - - def __setitem__(self, key, value): - if key < 0 or key > 2: - raise IndexError("Index must be in range [0, 2]") - if not isinstance(key, int): - raise TypeError("Index must be an integer") - - self._values[key] = value - - def __iter__(self): - yield self._values[0] - yield self._values[1] - yield self._values[2] - - @property - def i(self): - return self._values[0] - - @property - def j(self): - return self._values[1] - - @property - def k(self): - return self._values[2] - - @i.setter - def i(self, value): - self._values[0] = value - - @j.setter - def j(self, value): - self._values[1] = value - - @k.setter - def k(self, value): - self._values[2] = value diff --git a/src/pyfluid/meshfluidsource.py b/src/pyfluid/meshfluidsource.py deleted file mode 100644 index 4936386..0000000 --- a/src/pyfluid/meshfluidsource.py +++ /dev/null @@ -1,223 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from . import pybindings as pb -from . import method_decorators as decorators -from .trianglemesh import TriangleMesh_t - -class MeshFluidSource(): - - def __init__(self, i, j, k, dx): - libfunc = lib.MeshFluidSource_new - args = [c_int, c_int, c_int, c_double, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, [i, j, k, dx]) - - def __del__(self): - try: - libfunc = lib.MeshFluidSource_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass - - def __call__(self): - return self._obj - - def update_mesh_static(self, mesh): - mesh_struct = mesh.to_struct() - libfunc = lib.MeshFluidSource_update_mesh_static - args = [c_void_p, TriangleMesh_t, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - pb.execute_lib_func(libfunc, [self(), mesh_struct]) - - def update_mesh_animated(self, mesh_previous, mesh_current, mesh_next): - mesh_struct_previous = mesh_previous.to_struct() - mesh_struct_current = mesh_current.to_struct() - mesh_struct_next = mesh_next.to_struct() - libfunc = lib.MeshFluidSource_update_mesh_animated - args = [c_void_p, TriangleMesh_t, TriangleMesh_t, TriangleMesh_t, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - pb.execute_lib_func(libfunc, [self(), mesh_struct_previous, - mesh_struct_current, - mesh_struct_next]) - - @property - def enable(self): - libfunc = lib.MeshFluidSource_is_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable.setter - def enable(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_enable - else: - libfunc = lib.MeshFluidSource_disable - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def substep_emissions(self): - libfunc = lib.MeshFluidSource_get_substep_emissions - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return pb.execute_lib_func(libfunc, [self()]) - - @substep_emissions.setter - def substep_emissions(self, n): - libfunc = lib.MeshFluidSource_set_substep_emissions - pb.init_lib_func(libfunc, [c_void_p, c_int, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), int(n)]) - - @property - def inflow(self): - libfunc = lib.MeshFluidSource_is_inflow - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @inflow.setter - def inflow(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_set_inflow - else: - libfunc = lib.MeshFluidSource_set_outflow - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def outflow(self): - libfunc = lib.MeshFluidSource_is_inflow - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @outflow.setter - def outflow(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_set_outflow - else: - libfunc = lib.MeshFluidSource_set_inflow - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def fluid_outflow(self): - libfunc = lib.MeshFluidSource_is_fluid_outflow_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @fluid_outflow.setter - def fluid_outflow(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_enable_fluid_outflow - else: - libfunc = lib.MeshFluidSource_disable_fluid_outflow - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def diffuse_outflow(self): - libfunc = lib.MeshFluidSource_is_diffuse_outflow_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @diffuse_outflow.setter - def diffuse_outflow(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_enable_diffuse_outflow - else: - libfunc = lib.MeshFluidSource_disable_diffuse_outflow - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - def get_velocity(self): - libfunc = lib.MeshFluidSource_get_velocity - pb.init_lib_func(libfunc, [c_void_p, c_void_p], Vector3_t) - cvect = pb.execute_lib_func(libfunc, [self()]) - return Vector3.from_struct(cvect) - - @decorators.xyz_or_vector - def set_velocity(self, vx, vy, vz): - libfunc = lib.MeshFluidSource_set_velocity - pb.init_lib_func( - libfunc, - [c_void_p, c_double, c_double, c_double, c_void_p], None - ) - pb.execute_lib_func(libfunc, [self(), vx, vy, vz]) - - @property - def enable_append_object_velocity(self): - libfunc = lib.MeshFluidSource_is_append_object_velocity_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_append_object_velocity.setter - def enable_append_object_velocity(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_enable_append_object_velocity - else: - libfunc = lib.MeshFluidSource_disable_append_object_velocity - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def object_velocity_influence(self): - libfunc = lib.MeshFluidSource_get_object_velocity_influence - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @object_velocity_influence.setter - def object_velocity_influence(self, value): - libfunc = lib.MeshFluidSource_set_object_velocity_influence - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def enable_constrained_fluid_velocity(self): - libfunc = lib.MeshFluidSource_is_constrained_fluid_velocity_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_constrained_fluid_velocity.setter - def enable_constrained_fluid_velocity(self, boolval): - if boolval: - libfunc = lib.MeshFluidSource_enable_constrained_fluid_velocity - else: - libfunc = lib.MeshFluidSource_disable_constrained_fluid_velocity - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def outflow_inverse(self): - libfunc = lib.MeshFluidSource_is_outflow_inversed - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @outflow_inverse.setter - def outflow_inverse(self, boolval): - do_inverse = (boolval and not self.outflow_inverse) or (not boolval and self.outflow_inverse) - if do_inverse: - libfunc = lib.MeshFluidSource_outflow_inverse - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) \ No newline at end of file diff --git a/src/pyfluid/meshobject.py b/src/pyfluid/meshobject.py deleted file mode 100644 index fd15ea4..0000000 --- a/src/pyfluid/meshobject.py +++ /dev/null @@ -1,186 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from ctypes import c_void_p, c_char_p, c_int, c_float, c_double, byref - -from .pyfluid import pyfluid as lib -from . import pybindings as pb -from . import method_decorators as decorators -from .trianglemesh import TriangleMesh_t - -class MeshObject(): - - def __init__(self, i, j, k, dx): - libfunc = lib.MeshObject_new - args = [c_int, c_int, c_int, c_double, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - self._obj = pb.execute_lib_func(libfunc, [i, j, k, dx]) - - def __del__(self): - try: - libfunc = lib.MeshObject_destroy - pb.init_lib_func(libfunc, [c_void_p], None) - libfunc(self._obj) - except: - pass - - def __call__(self): - return self._obj - - def update_mesh_static(self, mesh): - mesh_struct = mesh.to_struct() - libfunc = lib.MeshObject_update_mesh_static - args = [c_void_p, TriangleMesh_t, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - pb.execute_lib_func(libfunc, [self(), mesh_struct]) - - def update_mesh_animated(self, mesh_previous, mesh_current, mesh_next): - mesh_struct_previous = mesh_previous.to_struct() - mesh_struct_current = mesh_current.to_struct() - mesh_struct_next = mesh_next.to_struct() - libfunc = lib.MeshObject_update_mesh_animated - args = [c_void_p, TriangleMesh_t, TriangleMesh_t, TriangleMesh_t, c_void_p] - pb.init_lib_func(libfunc, args, c_void_p) - pb.execute_lib_func(libfunc, [self(), mesh_struct_previous, - mesh_struct_current, - mesh_struct_next]) - - @property - def enable(self): - libfunc = lib.MeshObject_is_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable.setter - def enable(self, boolval): - if boolval: - libfunc = lib.MeshObject_enable - else: - libfunc = lib.MeshObject_disable - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def inverse(self): - libfunc = lib.MeshObject_is_inversed - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @inverse.setter - def inverse(self, boolval): - do_inverse = (boolval and not self.inverse) or (not boolval and self.inverse) - if do_inverse: - libfunc = lib.MeshObject_inverse - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def friction(self): - libfunc = lib.MeshObject_get_friction - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @friction.setter - @decorators.check_ge_zero - @decorators.check_le(1.0) - def friction(self, value): - libfunc = lib.MeshObject_set_friction - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def whitewater_influence(self): - libfunc = lib.MeshObject_get_whitewater_influence - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @whitewater_influence.setter - @decorators.check_ge_zero - def whitewater_influence(self, value): - libfunc = lib.MeshObject_set_whitewater_influence - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def dust_emission_strength(self): - libfunc = lib.MeshObject_get_dust_emission_strength - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @dust_emission_strength.setter - @decorators.check_ge_zero - def dust_emission_strength(self, value): - libfunc = lib.MeshObject_set_dust_emission_strength - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def sheeting_strength(self): - libfunc = lib.MeshObject_get_sheeting_strength - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @sheeting_strength.setter - @decorators.check_ge_zero - def sheeting_strength(self, value): - libfunc = lib.MeshObject_set_sheeting_strength - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def mesh_expansion(self): - libfunc = lib.MeshObject_get_mesh_expansion - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @mesh_expansion.setter - def mesh_expansion(self, value): - libfunc = lib.MeshObject_set_mesh_expansion - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) - - @property - def enable_append_object_velocity(self): - libfunc = lib.MeshObject_is_append_object_velocity_enabled - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int) - return bool(pb.execute_lib_func(libfunc, [self()])) - - @enable_append_object_velocity.setter - def enable_append_object_velocity(self, boolval): - if boolval: - libfunc = lib.MeshObject_enable_append_object_velocity - else: - libfunc = lib.MeshObject_disable_append_object_velocity - pb.init_lib_func(libfunc, [c_void_p, c_void_p], None) - pb.execute_lib_func(libfunc, [self()]) - - @property - def object_velocity_influence(self): - libfunc = lib.MeshObject_get_object_velocity_influence - pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_float) - return pb.execute_lib_func(libfunc, [self()]) - - @object_velocity_influence.setter - def object_velocity_influence(self, value): - libfunc = lib.MeshObject_set_object_velocity_influence - pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None) - pb.execute_lib_func(libfunc, [self(), value]) \ No newline at end of file diff --git a/src/pyfluid/method_decorators.py b/src/pyfluid/method_decorators.py deleted file mode 100644 index 65b0f3c..0000000 --- a/src/pyfluid/method_decorators.py +++ /dev/null @@ -1,127 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import numbers - -from .vector3 import Vector3 -from .gridindex import GridIndex - -def ijk_or_gridindex(func): - def ijk_or_gridindex_wrapper(self, *args): - try: - i, j, k = args - except: - i, j, k = args[0] - return func(self, i, j, k) - return ijk_or_gridindex_wrapper - -def ijk_or_gridindex_and_value(func): - def ijk_or_gridindex_and_value_wrapper(self, *args): - try: - return func(self, *args) - except: - i, j, k = args[0] - return func(self, i, j, k, args[1]) - return ijk_or_gridindex_and_value_wrapper - -def xyz_or_vector(func): - def xyz_or_vector_wrapper(self, *args): - try: - return func(self, *args) - except: - return func(self, *args[0]) - return xyz_or_vector_wrapper - -def xyz_or_vector_and_radius(func): - def xyz_or_vector_wrapper(self, *args): - try: - return func(self, *args) - except: - x, y, z = args[0] - return func(self, x, y, z, args[1]) - return xyz_or_vector_wrapper - -def check_gt_zero(func): - def check_values(self, *args): - for arg in args: - if isinstance(arg, numbers.Real) and arg <= 0: - raise ValueError("Value must be greater than zero") - return func(self, *args) - return check_values - -def check_ge_zero(func): - def check_values(self, *args): - for arg in args: - if isinstance(arg, numbers.Real) and arg < 0: - raise ValueError("Value must be greater than or equal to zero") - return func(self, *args) - return check_values - -def check_gt(value): - def check_gt_decorator(func): - def check_gt_wrapper(self, *args): - for arg in args: - if isinstance(arg, numbers.Real) and arg <= value: - raise ValueError("Value must be greater than " + str(value)) - return func(self, *args) - return check_gt_wrapper - return check_gt_decorator - -def check_ge(value): - def check_ge_decorator(func): - def check_ge_wrapper(self, *args): - for arg in args: - if isinstance(arg, numbers.Real) and arg < value: - raise ValueError("Value must be greater than or equal to " + str(value)) - return func(self, *args) - return check_ge_wrapper - return check_ge_decorator - -def check_lt(value): - def check_lt_decorator(func): - def check_lt_wrapper(self, *args): - for arg in args: - if isinstance(arg, numbers.Real) and arg >= value: - raise ValueError("Value must be less than " + str(value)) - return func(self, *args) - return check_lt_wrapper - return check_lt_decorator - -def check_le(value): - def check_le_decorator(func): - def check_le_wrapper(self, *args): - for arg in args: - if isinstance(arg, numbers.Real) and arg > value: - raise ValueError("Value must be less than or equal to " + str(value)) - return func(self, *args) - return check_le_wrapper - return check_le_decorator - -def check_type(argtype): - def check_type_decorator(func): - def check_type_wrapper(self, *args): - for arg in args: - if not isinstance(arg, argtype): - raise TypeError("Argument must be of type " + str(argtype)) - return func(self, *args) - return check_type_wrapper - return check_type_decorator \ No newline at end of file diff --git a/src/pyfluid/pybindings.py b/src/pyfluid/pybindings.py deleted file mode 100644 index c9d281e..0000000 --- a/src/pyfluid/pybindings.py +++ /dev/null @@ -1,60 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from .pyfluid import pyfluid as lib -from ctypes import c_char_p, c_int, byref - -def check_success(success, errprefix): - libfunc = lib.CBindings_get_error_message - init_lib_func(libfunc, [], c_char_p) - if not success: - raise RuntimeError(errprefix + str(libfunc().decode("utf-8"))) - -def init_lib_func(libfunc, argtypes, restype): - if libfunc.argtypes is None: - libfunc.argtypes = argtypes - libfunc.restype = restype - -def execute_lib_func(libfunc, params): - args = [] - for idx, arg in enumerate(params): - try: - cval = libfunc.argtypes[idx](arg) - except: - cval = arg - args.append(cval) - success = c_int(); - args.append(byref(success)) - - result = None - if libfunc.restype: - funcresult = libfunc(*args) - check_success(success, libfunc.__name__ + " - ") - try: - return libfunc.restype(funcresult).value - except: - return funcresult - else: - libfunc(*args) - - check_success(success, libfunc.__name__ + " - ") - return result \ No newline at end of file diff --git a/src/pyfluid/pyfluid.py b/src/pyfluid/pyfluid.py deleted file mode 100644 index a3ab6fb..0000000 --- a/src/pyfluid/pyfluid.py +++ /dev/null @@ -1,114 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import ctypes -import os -import platform - -DEBUG_MODE_ENABLED = False -IS_DEBUG_MODE_LIBRARY_LOADED = False - -def enable_debug_mode(): - global DEBUG_MODE_ENABLED - DEBUG_MODE_ENABLED = True - - -def disable_debug_mode(): - global DEBUG_MODE_ENABLED - DEBUG_MODE_ENABLED = False - - -class LibraryLoadError(Exception): - def __init__(self, value): - self.value = value - def __str__(self): - return repr(self.value) - -class PyFluidLib(): - def __init__(self): - self._lib = None - - def __getattr__(self, name): - global DEBUG_MODE_ENABLED - global IS_DEBUG_MODE_LIBRARY_LOADED - - if self.__dict__['_lib'] is None: - self._lib = self._load_library("pyfluid") - elif DEBUG_MODE_ENABLED != IS_DEBUG_MODE_LIBRARY_LOADED: - self._lib = self._load_library("pyfluid") - - return getattr(self._lib, name) - - def _load_library(self, name): - libdir = os.path.join(os.path.dirname(__file__), "lib") - - system = platform.system() - if system == "Windows": - libname_debug = "libblpyfluiddebug.dll" - libname_release = "libblpyfluidrelease.dll" - elif system == "Darwin": - libname_debug = "libblpyfluiddebug.dylib" - libname_release = "libblpyfluidrelease.dylib" - elif system == "Linux": - libname_debug = "libblpyfluiddebug.so" - libname_release = "libblpyfluidrelease.so" - else: - raise LibraryLoadError("Unable to recognize system: " + system) - - libfile_debug = os.path.join(libdir, libname_debug) - libfile_release = os.path.join(libdir, libname_release) - - library_files = [libfile_debug, libfile_release] - missing_libraries = [] - for lib in library_files: - if not os.path.isfile(lib): - missing_libraries.append(os.path.basename(lib)) - - if missing_libraries: - err_msg = "Cannot find fluid engine libraries: " - for libname in missing_libraries: - err_msg += "<" + libname + "> " - raise LibraryLoadError(err_msg) - - global DEBUG_MODE_ENABLED - global IS_DEBUG_MODE_LIBRARY_LOADED - - if DEBUG_MODE_ENABLED: - libfile = libfile_debug - else: - libfile = libfile_release - - try: - library = ctypes.cdll.LoadLibrary(libfile) - IS_DEBUG_MODE_LIBRARY_LOADED = DEBUG_MODE_ENABLED - except: - msg = "Unable to load fluid engine library: <" + libfile + ">" - msg += " (1) Make sure that you are using a 64-bit version of Python/Blender" - msg += " if built for 64-bit and likewise if built for 32-bit." - msg += " (2) Try clearing your Blender user settings (make a backup first!)." - msg += " (3) Contact the developers if you think that this is an error." - raise LibraryLoadError(msg) - - return library - - -pyfluid = PyFluidLib() diff --git a/src/pyfluid/trianglemesh.py b/src/pyfluid/trianglemesh.py deleted file mode 100644 index 44540c3..0000000 --- a/src/pyfluid/trianglemesh.py +++ /dev/null @@ -1,113 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import ctypes -import array -import struct - -class TriangleMesh_t(ctypes.Structure): - _fields_ = [("vertices", ctypes.c_void_p), - ("triangles", ctypes.c_void_p), - ("num_vertices", ctypes.c_int), - ("num_triangles", ctypes.c_int)] - -class TriangleMesh(object): - def __init__(self): - self.vertices = array.array('f', []) - self.triangles = array.array('i', []) - - - @classmethod - def from_bobj(cls, bobj_data): - int_data, bobj_data = bobj_data[:4], bobj_data[4:] - num_vertices = struct.unpack('i', int_data)[0] - - num_floats = 3 * num_vertices - num_bytes = 4 * num_floats - vertex_data, bobj_data = bobj_data[:num_bytes], bobj_data[num_bytes:] - vertices = list(struct.unpack('{0}f'.format(num_floats), vertex_data)) - - int_data, bobj_data = bobj_data[:4], bobj_data[4:] - num_triangles = struct.unpack('i', int_data)[0] - - num_ints = 3 * num_triangles - num_bytes = 4 * num_ints - triangle_data, bobj_data = bobj_data[:num_bytes], bobj_data[num_bytes:] - triangles = list(struct.unpack('{0}i'.format(num_ints), triangle_data)) - - self = cls() - self.vertices = array.array('f', vertices) - self.triangles = array.array('i', triangles) - - return self - - - def to_bobj(self): - num_vertices = len(self.vertices) // 3 - num_triangles = len(self.triangles) // 3 - datastr = struct.pack('i', num_vertices) - datastr += self.vertices.tobytes() - datastr += struct.pack('i', num_triangles) - datastr += self.triangles.tobytes() - - return datastr - - def to_struct(self): - - num_vertices = len(self.vertices) // 3 - num_triangles = len(self.triangles) // 3 - - vertex_data = (ctypes.c_float * len(self.vertices))() - for i in range(len(self.vertices)): - vertex_data[i] = self.vertices[i] - - triangle_data = (ctypes.c_int * len(self.triangles))() - for i in range(len(self.triangles)): - triangle_data[i] = self.triangles[i] - - struct = TriangleMesh_t() - struct.vertices = ctypes.cast(vertex_data, ctypes.c_void_p) - struct.triangles = ctypes.cast(triangle_data, ctypes.c_void_p) - struct.num_vertices = num_vertices - struct.num_triangles = num_triangles - - return struct - - def apply_transform(self, matrix_world): - m = matrix_world - for i in range(0, len(self.vertices), 3): - v = [self.vertices[i + 0], self.vertices[i + 1], self.vertices[i + 2], 1] - self.vertices[i + 0] = v[0]*m[0] + v[1]*m[1] + v[2]*m[2] + v[3]*m[3] - self.vertices[i + 1] = v[0]*m[4] + v[1]*m[5] + v[2]*m[6] + v[3]*m[7] - self.vertices[i + 2] = v[0]*m[8] + v[1]*m[9] + v[2]*m[10] + v[3]*m[11] - - def translate(self, tx, ty, tz): - for i in range(0, len(self.vertices), 3): - self.vertices[i + 0] += tx - self.vertices[i + 1] += ty - self.vertices[i + 2] += tz - - def scale(self, scale): - for i in range(0, len(self.vertices), 3): - self.vertices[i + 0] *= scale - self.vertices[i + 1] *= scale - self.vertices[i + 2] *= scale \ No newline at end of file diff --git a/src/pyfluid/vector3.py b/src/pyfluid/vector3.py deleted file mode 100644 index a2b7e1f..0000000 --- a/src/pyfluid/vector3.py +++ /dev/null @@ -1,217 +0,0 @@ -# MIT License -# -# Copyright (C) 2020 Ryan L. Guy, http://rlguy.com -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import array -import ctypes -import math - -class Vector3_t(ctypes.Structure): - _fields_ = [("x", ctypes.c_float), - ("y", ctypes.c_float), - ("z", ctypes.c_float)] - -class Vector3(object): - - def __init__(self, x = 0.0, y = 0.0, z = 0.0): - if isinstance(x, Vector3): - self._values = array.array('f', [x.x, x.y, x.z]) - else: - self._values = array.array('f', [x, y, z]) - - @classmethod - def from_struct(cls, cstruct): - return cls(cstruct.x, cstruct.y, cstruct.z) - - def to_struct(self): - return Vector3_t(self.x, self.y, self.z) - - def __str__(self): - return str(self.x) + " " + str(self.y) + " " + str(self.z) - - def __getitem__(self, key): - if key < 0 or key > 2: - raise IndexError("Index must be in range [0, 2]") - if not isinstance(key, int): - raise TypeError("Index must be an integer") - - return self._values[key] - - def __setitem__(self, key, value): - if key < 0 or key > 2: - raise IndexError("Index must be in range [0, 2]") - if not isinstance(key, int): - raise TypeError("Index must be an integer") - - self._values[key] = value - - def __iter__(self): - yield self._values[0] - yield self._values[1] - yield self._values[2] - - def __add__(self, other): - return Vector3(self.x + other.x, - self.y + other.y, - self.z + other.z) - - def __iadd__(self, other): - self.x += other.x - self.y += other.y - self.z += other.z - return self - - def __sub__(self, other): - return Vector3(self.x - other.x, - self.y - other.y, - self.z - other.z) - - def __isub__(self, other): - self.x -= other.x - self.y -= other.y - self.z -= other.z - return self - - def __mul__(self, scale): - return Vector3(scale * self.x, - scale * self.y, - scale * self.z) - - def __imul__(self, scale): - self.x *= scale - self.y *= scale - self.z *= scale - return self - - def __rmul__(self, scale): - return Vector3(scale * self.x, - scale * self.y, - scale * self.z) - - def __div__(self, denominator): - if denominator == 0.0: - raise ZeroDivisionError - - inv = 1.0 / denominator - - return Vector3(self.x * inv, - self.y * inv, - self.z * inv) - - def __idiv__(self, denominator): - if denominator == 0.0: - raise ZeroDivisionError - - inv = 1.0 / denominator - - self.x *= inv - self.y *= inv - self.z *= inv - return self - - def __neg__(self): - return Vector3(-self.x, -self.y, -self.z) - - def __pos__(self): - return Vector3(self) - - def __abs__(self): - return Vector3(abs(self.x), abs(self.y), abs(self.z)) - - def __invert__(self): - return Vector3(1.0 / self.x, - 1.0 / self.y, - 1.0 / self.z) - - @property - def x(self): - return self._values[0] - - @property - def y(self): - return self._values[1] - - @property - def z(self): - return self._values[2] - - @x.setter - def x(self, value): - self._values[0] = value - - @y.setter - def y(self, value): - self._values[1] = value - - @z.setter - def z(self, value): - self._values[2] = value - - def add(self, vector): - self += vector - return self - - def sub(self, vector): - self -= vector - return self - - def mult(self, scale): - self *= scale - return self - - def div(self, denominator): - self /= denominator - return self - - def neg(self): - self.x = -self.x - self.y = -self.y - self.z = -self.z - return self - - def invert(self): - self.x = 1.0 / self.x - self.y = 1.0 / self.y - self.z = 1.0 / self.z - return self - - def dot(vector): - return self.x*vector.x + self.y*vector.y + self.z*vector.z - - def cross(vector): - return Vector3(self.y*vector.z - self.z*vector.y, - self.z*vector.x - self.x*vector.z, - self.x*vector.y - self.y*vector.x) - - def lengthsq(self): - return self.x*self.x + self.y*self.y + self.z*self.z - - def length(self): - return math.sqrt(self.x*self.x + self.y*self.y + self.z*self.z) - - def normalize(self): - length = self.length() - if length == 0.0: - raise ZeroDivisionError - - inv = 1.0 / length - self *= inv - return self diff --git a/testproj/CmakeLists.txt b/testproj/CmakeLists.txt new file mode 100644 index 0000000..5d75795 --- /dev/null +++ b/testproj/CmakeLists.txt @@ -0,0 +1,12 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.19.0) + +# Set the project name +SET( PROJECT_NAME FlipEngine ) +PROJECT(${PROJECT_NAME}) + +# Collect source files +FILE( GLOB SRC src/*.cpp ) +FILE( GLOB HDR src/*.h ) + +# Link Source files +ADD_EXECUTABLE( ${PROJECT_NAME} ${SRC} ${HDR} ) \ No newline at end of file diff --git a/testproj/main.cpp b/testproj/main.cpp new file mode 100644 index 0000000..aff51f3 --- /dev/null +++ b/testproj/main.cpp @@ -0,0 +1,103 @@ +/* +MIT License + +Copyright (C) 2020 Ryan L. Guy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include + +#include "fluidsimulation.h" +#include "triangle.h" + +void writeSurfaceMesh(int frameno, FluidSimulation &fluidsim) { + std::ostringstream ss; + ss << frameno; + std::string frameString = ss.str(); + //frameString.insert(frameString.begin(), 6 - frameString.size(), '0'); + std::string filepath = "C:/tmp/fluid_" + frameString + ".ply"; + + std::vector *data = fluidsim.getSurfaceData(); + std::ofstream ply(filepath.c_str(), std::ios::out | std::ios::binary); + ply.write(data->data(), data->size()); + ply.close(); +} + +TriangleMesh getTriangleMeshFromAABB(AABB bbox) { + vmath::vec3 p = bbox.position; + std::vector verts{ + vmath::vec3(p.x, p.y, p.z), + vmath::vec3(p.x + bbox.width, p.y, p.z), + vmath::vec3(p.x + bbox.width, p.y, p.z + bbox.depth), + vmath::vec3(p.x, p.y, p.z + bbox.depth), + vmath::vec3(p.x, p.y + bbox.height, p.z), + vmath::vec3(p.x + bbox.width, p.y + bbox.height, p.z), + vmath::vec3(p.x + bbox.width, p.y + bbox.height, p.z + bbox.depth), + vmath::vec3(p.x, p.y + bbox.height, p.z + bbox.depth) + }; + + std::vector tris{ + Triangle(0, 1, 2), Triangle(0, 2, 3), Triangle(4, 7, 6), Triangle(4, 6, 5), + Triangle(0, 3, 7), Triangle(0, 7, 4), Triangle(1, 5, 6), Triangle(1, 6, 2), + Triangle(0, 4, 5), Triangle(0, 5, 1), Triangle(3, 2, 6), Triangle(3, 6, 7) + }; + + TriangleMesh m; + m.vertices = verts; + m.triangles = tris; + + return m; +} + +int main() { + // This example will drop a box of fluid in the center + // of the fluid simulation domain. + int isize = 64; + int jsize = 64; + int ksize = 64; + double dx = 0.125; + FluidSimulation fluidsim(isize, jsize, ksize, dx); + + fluidsim.setSurfaceSubdivisionLevel(2); + + double x, y, z; + fluidsim.getSimulationDimensions(&x, &y, &z); + + double boxWidth = (1.0 / 3.0) * x; + double boxHeight = (1.0 / 3.0) * y; + double boxDepth = (1.0 / 3.0) * z; + vmath::vec3 boxPosition(0.5 * (x - boxWidth), 0.5 * (y - boxHeight), 0.5 * (z - boxDepth)); + AABB box(boxPosition, boxWidth, boxHeight, boxDepth); + TriangleMesh boxMesh = getTriangleMeshFromAABB(box); + MeshObject boxFluidObject(isize, jsize, ksize, dx); + boxFluidObject.updateMeshStatic(boxMesh); + fluidsim.addMeshFluid(boxFluidObject); + + fluidsim.addBodyForce(0.0, -25.0, 0.0); + fluidsim.initialize(); + double timestep = 1.0 / 30.0; + for (int i = 0; i < 200; i++) { + int frameno = fluidsim.getCurrentFrame(); + fluidsim.update(timestep); + writeSurfaceMesh(frameno, fluidsim); + } + + return 0; +} \ No newline at end of file