Positron Compiler Documentation

Asin

Positron8 · Revision 4.0.6.5 · PDF page 98

Assignment Variable = Asin(pVariable)

Deduce the Arc Sine of a floating point value

pVariable can be a constant, variable or expression that requires the Arc Sine (Inverse Sine) extracted. The value expected and returned by Asin is in radians. The value must be in the range of -1 to +1 Assignment Variable can be any valid variable type.

Device = 18F26K40             ' Select the device to compile for
Declare Xtal = 16  ' Tell the compiler the device will be operating at 16MHz
Declare Hserial_Baud = 9600   ' Set the Baud rate for HRsoutLn

Dim Floatin as Float = 0.8     ' Holds the value to Asin
Dim Floatout as Float          ' Holds the result of the Asin

Floatout = Asin(Floatin)      ' Extract the Asin of the value
HRsoutLn Dec Floatout          ' Display the result
Stop

Asin is not implemented with 12, or 14-bit core devices, however, with the extra functionality, and more linear memory offered by the 18F devices, full 32-bit floating point Arc Sine is implemented.

Floating point trigonometry is extremely memory hungry, so do not be surprised if a large chunk of the microcontroller’s code memory is used with a single operator. This also means that floating point trigonometry is comparatively slow to operate.

When implementing trigonometry, or other built in, functions within an expression, always wrap them in parenthesis, otherwise the parser may consider the extra operands as part of the trigonometry parameter and produce an incorrect result. For example:

MyAssignment = (Asin(MyVar1)) + MyVar2
View original PDF page 98Open page in PDFOriginal PDF page 98