146 PURE elemental module function getSqrtDef_IK5(posint)
result(intSqrt)
147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
148 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtDef_IK5
151 integer(IKG) ,
value :: posint
152 integer(IKG) :: intSqrt
157 PURE elemental module function getSqrtDef_IK4(posint)
result(intSqrt)
158#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
159 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtDef_IK4
162 integer(IKG) ,
value :: posint
163 integer(IKG) :: intSqrt
168 PURE elemental module function getSqrtDef_IK3(posint)
result(intSqrt)
169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
170 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtDef_IK3
173 integer(IKG) ,
value :: posint
174 integer(IKG) :: intSqrt
179 PURE elemental module function getSqrtDef_IK2(posint)
result(intSqrt)
180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
181 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtDef_IK2
184 integer(IKG) ,
value :: posint
185 integer(IKG) :: intSqrt
190 PURE elemental module function getSqrtDef_IK1(posint)
result(intSqrt)
191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
192 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtDef_IK1
195 integer(IKG) ,
value :: posint
196 integer(IKG) :: intSqrt
203 PURE elemental module function getSqrtBin_IK5(posint, method)
result(intSqrt)
204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
205 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtBin_IK5
208 type(binary_type) ,
intent(in) :: method
209 integer(IKG) ,
value :: posint
210 integer(IKG) :: intSqrt
215 PURE elemental module function getSqrtBin_IK4(posint, method)
result(intSqrt)
216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
217 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtBin_IK4
220 type(binary_type) ,
intent(in) :: method
221 integer(IKG) ,
value :: posint
222 integer(IKG) :: intSqrt
227 PURE elemental module function getSqrtBin_IK3(posint, method)
result(intSqrt)
228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
229 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtBin_IK3
232 type(binary_type) ,
intent(in) :: method
233 integer(IKG) ,
value :: posint
234 integer(IKG) :: intSqrt
239 PURE elemental module function getSqrtBin_IK2(posint, method)
result(intSqrt)
240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
241 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtBin_IK2
244 type(binary_type) ,
intent(in) :: method
245 integer(IKG) ,
value :: posint
246 integer(IKG) :: intSqrt
251 PURE elemental module function getSqrtBin_IK1(posint, method)
result(intSqrt)
252#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
253 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtBin_IK1
256 type(binary_type) ,
intent(in) :: method
257 integer(IKG) ,
value :: posint
258 integer(IKG) :: intSqrt
265 PURE elemental module function getSqrtLin_IK5(posint, method)
result(intSqrt)
266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
267 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtLin_IK5
270 type(linear_type) ,
intent(in) :: method
271 integer(IKG) ,
value :: posint
272 integer(IKG) :: intSqrt
277 PURE elemental module function getSqrtLin_IK4(posint, method)
result(intSqrt)
278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
279 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtLin_IK4
282 type(linear_type) ,
intent(in) :: method
283 integer(IKG) ,
value :: posint
284 integer(IKG) :: intSqrt
289 PURE elemental module function getSqrtLin_IK3(posint, method)
result(intSqrt)
290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
291 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtLin_IK3
294 type(linear_type) ,
intent(in) :: method
295 integer(IKG) ,
value :: posint
296 integer(IKG) :: intSqrt
301 PURE elemental module function getSqrtLin_IK2(posint, method)
result(intSqrt)
302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
303 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtLin_IK2
306 type(linear_type) ,
intent(in) :: method
307 integer(IKG) ,
value :: posint
308 integer(IKG) :: intSqrt
313 PURE elemental module function getSqrtLin_IK1(posint, method)
result(intSqrt)
314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
315 !DEC$ ATTRIBUTES DLLEXPORT :: getSqrtLin_IK1
318 type(linear_type) ,
intent(in) :: method
319 integer(IKG) ,
value :: posint
320 integer(IKG) :: intSqrt
Generate and return the integer square root of an input non-negative integer.
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
This module contains procedures and generic interfaces for computing the square root of integers.
character(*, SK), parameter MODULE_NAME
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(linear_type), parameter linear
This is a scalar parameter object of type linear_type that is exclusively used to request linear sear...
type(binary_type), parameter binary
This is a scalar parameter object of type binary_type that is exclusively used to request binary sear...
This is a concrete derived type whose instances are exclusively used to request binary search algorit...
This is a concrete derived type whose instances are exclusively used to request linear search algorit...