Repository navigation
Sgn
Home › Mathematical Functions › Sgn
Returns -1, 0 or 1 for the sign of a number, in the number's own type.
Declare Function Sgn ( ByVal number As numtype ) As numtypenumbernumtype
The required number argument can be any valid numeric expression.
Unsigned numbers of size greater than or equal to SizeOf(Any Ptr) will be treated as if they were signed, i.e. if the highest bit is set the number will be treated as negative, and -1 will be returned.
Note:
The return type of Sgn depends on the type of the passed argument (variable or constant, its data type), and of the used backend (gas, gas64, gcc 32-bit, gcc 64-bit):
- Sgn return type for a variable passed as argument:
| Argument | gas (32-bit) | gas64 (64-bit) | gcc 32-bit (*) | gcc 64-bit (*) |
|---|---|---|---|---|
| [U]BYTE variable | INTEGER | INTEGER | LONG | LONG |
| [U]SHORT variable | INTEGER | INTEGER | LONG | LONG |
| [U]LONG variable | INTEGER | INTEGER | LONG | LONG |
| [U]INTEGER variable | INTEGER | INTEGER | LONG | LONG |
| [U]LONGINT variable | LONGINT | INTEGER | LONG | LONG |
| SINGLE variable | SINGLE | LONG | LONG | LONG |
| DOUBLE variable | DOUBLE | LONG | LONG | LONG |
- Sgn return type for a constant passed as argument:
| Argument | gas (32-bit) | gas64 (64-bit) | gcc 32-bit (*) | gcc 64-bit (*) |
|---|---|---|---|---|
| [U]BYTE constant | INTEGER | INTEGER | INTEGER | INTEGER |
| [U]SHORT constant | INTEGER | INTEGER | INTEGER | INTEGER |
| [U]LONG constant | INTEGER | INTEGER | INTEGER | INTEGER |
| [U]INTEGER constant | INTEGER | INTEGER | INTEGER | INTEGER |
| [U]LONGINT constant | LONGINT | INTEGER | LONGINT | INTEGER |
| SINGLE constant | SINGLE | SINGLE | SINGLE | SINGLE |
| DOUBLE constant | DOUBLE | DOUBLE | DOUBLE | DOUBLE |
(*): applicable also for clang and llvm
The Sgn unary Operator can be overloaded with user defined types.
Returns the sign part of number.
- If number is greater than zero, then
Sgnreturns1. - If number is equal to zero, then
Sgnreturns0. - If number is less than zero, then
Sgnreturns-1.
result = Sgn( number )
- In the -lang qb dialect, this operator cannot be overloaded.
- None
Dim N As Integer = 0
Print Sgn ( -1.87 )
Print Sgn ( 0 )
Print Sgn ( 42.658 )
Print Sgn ( N )The output would look like:
-1
0
1
0Category: Mathematical Functions
Kind: function
Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.
tiko-lang · Home · Feature Index · Keyword Index · License
FreeBASIC manual pages reproduced under the GNU FDL 1.3.
- Generics
- Interfaces
- For Each
- Iterators
- Tuples
- Array Results
- Defer
- Lambdas
- Block Strings
- Partial Types
- String Slices
- Embed
- Typed Variadics
- C Header Import
- Foreign Library Linking
- UString
- Fixed-Width Types
- Nullptr
- String Library
- Format
- Array
- Map
- Set
- LinkedList
- OrderedMap
- OrderedSet
- Sorting
- Optional
- Result
- Smart Pointers
- Date and Time (Chrono)
- Filesystem
- File Streams
- Config (INI and TOML)
- Codec
- Hash
- UUID
- OS
- Process
- Net
- HTTP and TLS
- Math Library
- Finance
- Logging
- Terminal TUI Library
- PsControls
- tkControls
- sys/win
- Goroutines and Channels
- LLVM Backend
- tiko build
- TIKO_COMPILER
- Variable Declarations
- Standard Data Types
- User Defined Types
- Procedures
- Operators
- Control Flow Statements
- Converting Data Types
- Array Functions
- String Functions
- Mathematical Functions
- Bit Manipulation
- Date and Time Functions
- File I/O Functions
- Console Functions
- User Input (Runtime Library)
- User Input Functions (Graphics Library)
- Screen Functions
- 2D Drawing Functions
- Graphics Library Reference
- Graphics Keyword List
- Memory Functions
- Threading Support Functions
- Error Handling Functions
- Operating System Functions
- Preprocessor
- Intrinsic Defines
- Miscellaneous Keywords
- Modularizing