-
Notifications
You must be signed in to change notification settings - Fork 24
/
libPrimes.xml
103 lines (94 loc) · 5.74 KB
/
libPrimes.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://schemas.autodesk.com/netfabb/automaticcomponenttoolkit/2018"
libraryname="Prime Numbers Library" namespace="LibPrimes" copyright="PrimeDevelopers" year="2019" basename="libprimes"
version="1.2.0">
<license>
<line value="All rights reserved." />
</license>
<bindings>
<binding language="CDynamic" indentation="tabs" />
<binding language="CppDynamic" indentation="tabs" />
<binding language="Cpp" indentation="tabs" />
<binding language="Pascal" indentation="2spaces" />
<binding language="Python" indentation="tabs" />
<binding language="CSharp" indentation="tabs" />
<binding language="Go" indentation="tabs" />
</bindings>
<implementations>
<implementation language="Cpp" indentation="tabs"/>
<implementation language="Pascal" indentation="2spaces" stubidentifier="impl"/>
</implementations>
<errors>
<error name="NOTIMPLEMENTED" code="1" description="functionality not implemented" />
<error name="INVALIDPARAM" code="2" description="an invalid parameter was passed" />
<error name="INVALIDCAST" code="3" description="a type cast failed" />
<error name="BUFFERTOOSMALL" code="4" description="a provided buffer is too small" />
<error name="GENERICEXCEPTION" code="5" description="a generic exception occurred" />
<error name="COULDNOTLOADLIBRARY" code="6" description="the library could not be loaded" />
<error name="COULDNOTFINDLIBRARYEXPORT" code="7" description="a required exported symbol could not be found in the library" />
<error name="INCOMPATIBLEBINARYVERSION" code="8" description="the version of the binary interface does not match the bindings interface" />
<error name="NORESULTAVAILABLE" code="9" description="no result is available" />
<error name="CALCULATIONABORTED" code="10" description="a calculation has been aborted" />
</errors>
<struct name="PrimeFactor">
<member name="Prime" type="uint64" />
<member name="Multiplicity" type="uint32" />
</struct>
<functiontype name="ProgressCallback" description="Callback to report calculation progress and query whether it should be aborted">
<param name="ProgressPercentage" type="single" pass="in" description="How far has the calculation progressed?"/>
<param name="ShouldAbort" type="bool" pass="out" description="Should the calculation be aborted?"/>
</functiontype>
<class name="Base">
</class>
<class name="Calculator" parent="Base">
<method name="GetValue" description="Returns the current value of this Calculator">
<param name="Value" type="uint64" pass="return" description="The current value of this Calculator" />
</method>
<method name="SetValue" description="Sets the value to be factorized">
<param name="Value" type="uint64" pass="in" description="The value to be factorized" />
</method>
<method name="Calculate" description="Performs the specific calculation of this Calculator">
</method>
<method name="SetProgressCallback" description="Sets the progress callback function">
<param name="ProgressCallback" type="functiontype" class="ProgressCallback" pass="in" description="The progress callback" />
</method>
</class>
<class name="FactorizationCalculator" parent="Calculator">
<method name="GetPrimeFactors" description="Returns the prime factors of this number (without multiplicity)">
<param name="PrimeFactors" type="structarray" class="PrimeFactor" pass="out" description="The prime factors of this number" />
</method>
</class>
<class name="SieveCalculator" parent="Calculator">
<method name="GetPrimes" description="Returns all prime numbers lower or equal to the sieve's value">
<param name="Primes" type="basicarray" class="uint64" pass="out" description="The primes lower or equal to the sieve's value" />
</method>
</class>
<global baseclassname="Base" acquiremethod="AcquireInstance"
releasemethod="ReleaseInstance" versionmethod="GetVersion" errormethod="GetLastError" journalmethod="SetJournal">
<method name="GetVersion" description = "retrieves the binary version of this library.">
<param name="Major" type="uint32" pass="out" description="returns the major version of this library" />
<param name="Minor" type="uint32" pass="out" description="returns the minor version of this library" />
<param name="Micro" type="uint32" pass="out" description="returns the micro version of this library" />
</method>
<method name="GetLastError" description="Returns the last error recorded on this object">
<param name="Instance" type="class" class="Base" pass="in" description="Instance Handle" />
<param name="ErrorMessage" type="string" pass="out" description="Message of the last error" />
<param name="HasError" type="bool" pass="return" description="Is there a last error to query" />
</method>
<method name="AcquireInstance" description="Acquire shared ownership of an Instance">
<param name="Instance" type="class" class="Base" pass="in" description="Instance Handle" />
</method>
<method name="ReleaseInstance" description="Releases shared ownership of an Instance">
<param name="Instance" type="class" class="Base" pass="in" description="Instance Handle" />
</method>
<method name="CreateFactorizationCalculator" description="Creates a new FactorizationCalculator instance">
<param name="Instance" type="class" class="FactorizationCalculator" pass="return" description="New FactorizationCalculator instance" />
</method>
<method name="CreateSieveCalculator" description="Creates a new SieveCalculator instance">
<param name="Instance" type="class" class="SieveCalculator" pass="return" description="New SieveCalculator instance" />
</method>
<method name="SetJournal" description="Handles Library Journaling">
<param name="FileName" type="string" pass="in" description="Journal FileName" />
</method>
</global>
</component>