Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions 2025R1_Test/scade-one-2025-r1/_changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<a id="_changelog_sonelib"></a>
# Changelog



## 2025 R1






This version includes two additional libraries.<br/>






**Added:**
* Math::Matrix

* Math::Vector
13 changes: 13 additions & 0 deletions 2025R1_Test/scade-one-2025-r1/docfx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"build": {
"globalMetadata": {
"title": "Scade One standard libraries 2025 R1",
"summary": "",
"version": "2025 R1",
"product": "Scade One",
"programming language": "Swan",
"product collection": "Embedded software",
"physics": "Embedded software"
}
}
}
202 changes: 202 additions & 0 deletions 2025R1_Test/scade-one-2025-r1/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
# Libraries Map

- [Libraries](libraries/libraries.md)
- [Bitfield](libraries/bitfield/bitfield.md)
- [BitsMask](libraries/bitfield/bitfield__bitsmask.md)
- [ClrBit](libraries/bitfield/bitfield__clrbit.md)
- [ClrBitMask](libraries/bitfield/bitfield__clrbitmask.md)
- [CopyBit](libraries/bitfield/bitfield__copybit.md)
- [FromBool](libraries/bitfield/bitfield__frombool.md)
- [FromByte](libraries/bitfield/bitfield__frombyte.md)
- [GetBit](libraries/bitfield/bitfield__getbit.md)
- [GetBits](libraries/bitfield/bitfield__getbits.md)
- [High](libraries/bitfield/bitfield__high.md)
- [Low](libraries/bitfield/bitfield__low.md)
- [Make](libraries/bitfield/bitfield__make.md)
- [PutBit](libraries/bitfield/bitfield__putbit.md)
- [PutBits](libraries/bitfield/bitfield__putbits.md)
- [PutBitsMask](libraries/bitfield/bitfield__putbitsmask.md)
- [RotBitLt](libraries/bitfield/bitfield__rotbitlt.md)
- [RotBitRt](libraries/bitfield/bitfield__rotbitrt.md)
- [SetBit](libraries/bitfield/bitfield__setbit.md)
- [SetBitMask](libraries/bitfield/bitfield__setbitmask.md)
- [SetBits](libraries/bitfield/bitfield__setbits.md)
- [ShiftBitLt](libraries/bitfield/bitfield__shiftbitlt.md)
- [ShiftBitRt](libraries/bitfield/bitfield__shiftbitrt.md)
- [Split](libraries/bitfield/bitfield__split.md)
- [ToBool](libraries/bitfield/bitfield__tobool.md)
- [ToByte](libraries/bitfield/bitfield__tobyte.md)
- [ToggleBitMask](libraries/bitfield/bitfield__togglebitmask.md)
- [ToggleBits](libraries/bitfield/bitfield__togglebits.md)
- [TstBitLnMask](libraries/bitfield/bitfield__tstbitlnmask.md)
- [TstBitMask](libraries/bitfield/bitfield__tstbitmask.md)
- [TstParityEven](libraries/bitfield/bitfield__tstparityeven.md)
- [Check](libraries/check/check.md)
- [Always](libraries/check/check__always.md)
- [AlwaysAfterCond](libraries/check/check__alwaysaftercond.md)
- [AlwaysAfterN](libraries/check/check__alwaysaftern.md)
- [AtLeastCond](libraries/check/check__atleastcond.md)
- [AtLeastN](libraries/check/check__atleastn.md)
- [AtMostCond](libraries/check/check__atmostcond.md)
- [AtMostN](libraries/check/check__atmostn.md)
- [BeforeCond](libraries/check/check__beforecond.md)
- [BeforeN](libraries/check/check__beforen.md)
- [BetweenCond](libraries/check/check__betweencond.md)
- [BetweenN](libraries/check/check__betweenn.md)
- [Bounds](libraries/check/check__bounds.md)
- [ConfirmN](libraries/check/check__confirmn.md)
- [Cycles](libraries/check/check__cycles.md)
- [Gap](libraries/check/check__gap.md)
- [Gradient](libraries/check/check__gradient.md)
- [IgnoreCond](libraries/check/check__ignorecond.md)
- [IgnoreN](libraries/check/check__ignoren.md)
- [Implies](libraries/check/check__implies.md)
- [ImpliesCond](libraries/check/check__impliescond.md)
- [ImpliesN](libraries/check/check__impliesn.md)
- [LowerBound](libraries/check/check__lowerbound.md)
- [Never](libraries/check/check__never.md)
- [Once](libraries/check/check__once.md)
- [UpperBound](libraries/check/check__upperbound.md)
- [Digital](libraries/digital/digital.md)
- [EitherEdge](libraries/digital/digital__eitheredge.md)
- [FallingEdge](libraries/digital/digital__fallingedge.md)
- [FallingEdgeBufferedNoRetrigger](libraries/digital/digital__fallingedgebufferednoretrigger.md)
- [FallingEdgeBufferedRetrigger](libraries/digital/digital__fallingedgebufferedretrigger.md)
- [RisingEdge](libraries/digital/digital__risingedge.md)
- [RisingEdgeBufferedNoRetrigger](libraries/digital/digital__risingedgebufferednoretrigger.md)
- [RisingEdgeBufferedRetrigger](libraries/digital/digital__risingedgebufferedretrigger.md)
- [Float](libraries/float/float.md)
- [RelPrecision](libraries/float/float__relprecision.md)
- [EQ](libraries/float/float__eq.md)
- [GE](libraries/float/float__ge.md)
- [GT](libraries/float/float__gt.md)
- [LE](libraries/float/float__le.md)
- [LT](libraries/float/float__lt.md)
- [NE](libraries/float/float__ne.md)
- [RelEQ](libraries/float/float__releq.md)
- [RelGE](libraries/float/float__relge.md)
- [RelGT](libraries/float/float__relgt.md)
- [RelLE](libraries/float/float__relle.md)
- [RelLT](libraries/float/float__rellt.md)
- [RelNE](libraries/float/float__relne.md)
- [Flows](libraries/flows/flows.md)
- [BoundedEventCountDown](libraries/flows/flows__boundedeventcountdown.md)
- [BoundedEventCountUp](libraries/flows/flows__boundedeventcountup.md)
- [Delay](libraries/flows/flows__delay.md)
- [DetectChange](libraries/flows/flows__detectchange.md)
- [EventCountDown](libraries/flows/flows__eventcountdown.md)
- [EventCountUp](libraries/flows/flows__eventcountup.md)
- [Max](libraries/flows/flows__max.md)
- [Min](libraries/flows/flows__min.md)
- [Times](libraries/flows/flows__times.md)
- [Math::Common](libraries/common/math_common.md)
- [Abs](libraries/common/common__abs.md)
- [Cbrt](libraries/common/common__cbrt.md)
- [Ceil](libraries/common/common__ceil.md)
- [Exp](libraries/common/common__exp.md)
- [Floor](libraries/common/common__floor.md)
- [Fmod](libraries/common/common__fmod.md)
- [Log](libraries/common/common__log.md)
- [Log2](libraries/common/common__log2.md)
- [Log10](libraries/common/common__log10.md)
- [Max](libraries/common/common__max.md)
- [Max3](libraries/common/common__max3.md)
- [MaxN](libraries/common/common__maxn.md)
- [Min](libraries/common/common__min.md)
- [Min3](libraries/common/common__min3.md)
- [MinN](libraries/common/common__minn.md)
- [Polynomial](libraries/common/common__polynomial.md)
- [Pow](libraries/common/common__pow.md)
- [Sign](libraries/common/common__sign.md)
- [Sqr](libraries/common/common__sqr.md)
- [Sqrt](libraries/common/common__sqrt.md)
- [Trunc](libraries/common/common__trunc.md)
- [Math::Complex](libraries/complex/math_complex.md)
- [Add](libraries/complex/complex__add.md)
- [Arg](libraries/complex/complex__arg.md)
- [Conj](libraries/complex/complex__conj.md)
- [Div](libraries/complex/complex__div.md)
- [EQ](libraries/complex/complex__eq.md)
- [FromNum](libraries/complex/complex__fromnum.md)
- [FromPolar](libraries/complex/complex__frompolar.md)
- [Im](libraries/complex/complex__im.md)
- [IsImaginary](libraries/complex/complex__isimaginary.md)
- [IsReal](libraries/complex/complex__isreal.md)
- [Mod](libraries/complex/complex__modulus.md)
- [Mul](libraries/complex/complex__mul.md)
- [NE](libraries/complex/complex__ne.md)
- [Neg](libraries/complex/complex__neg.md)
- [Re](libraries/complex/complex__re.md)
- [Rec](libraries/complex/complex__rec.md)
- [Sqr](libraries/complex/complex__sqr.md)
- [SqrMod](libraries/complex/complex__sqrmod.md)
- [Sub](libraries/complex/complex__sub.md)
- [ToNum](libraries/complex/complex__tonum.md)
- [ToPolar](libraries/complex/complex__topolar.md)
- [Math::Matrix](libraries/matrix/math_matrix.md))
- [Add](libraries/matrix/matrix_add.md)
- [ConcatCols](libraries/matrix/matrix_concatcols.md)
- [ConcatRows](libraries/matrix/matrix_concatrows.md)
- [Det2x2](libraries/matrix/matrix_det2x2.md)
- [Det3x3](libraries/matrix/matrix_det3x3.md)
- [Det4x4](libraries/matrix/matrix_det4x4.md)
- [Diagonal](libraries/matrix/matrix_diagonal.md)
- [Div](libraries/matrix/matrix_div.md)
- [Eye](libraries/matrix/matrix_eye.md)
- [GetDiagonal](libraries/matrix/matrix_getdiagonal.md)
- [GetSubMatrix](libraries/matrix/matrix_getsubmatrix.md)
- [Incr](libraries/matrix/matrix_incr.md)
- [Inv2x2](libraries/matrix/matrix_inv2x2.md)
- [Inv3x3](libraries/matrix/matrix_inv3x3.md)
- [Inv4x4](libraries/matrix/matrix_inv4x4.md)
- [KroneckerProd](libraries/matrix/matrix_kroneckerprod.md)
- [MatMatMult](libraries/matrix/matrix_matmatmult.md)
- [MatVecMult](libraries/matrix/matrix_matvecmult.md)
- [Mult](libraries/matrix/matrix_mult.md)
- [Scale](libraries/matrix/matrix_scale.md)
- [Sub](libraries/matrix/matrix_sub.md)
- [VecMatMult](libraries/matrix/matrix_vecmatmult.md)
- [Math::Trigo](libraries/trigo/math_trigo.md)
- [ArcCosine](libraries/trigo/trigo__arccosine.md)
- [ArcSine](libraries/trigo/trigo__arcsine.md)
- [ArcTan](libraries/trigo/trigo__arctan.md)
- [ArcTan2](libraries/trigo/trigo__arctan2.md)
- [Cosine](libraries/trigo/trigo__cosine.md)
- [ReducePi](libraries/trigo/trigo__reducepi.md)
- [ReducePi2](libraries/trigo/trigo__reducepi2.md)
- [Sine](libraries/trigo/trigo__sine.md)
- [Tan](libraries/trigo/trigo__tangent.md)
- [Math::Vector](libraries/vector/math_vector.md)
- [Add](libraries/vector/vector_add.md)
- [CrossProd](libraries/vector/vector_crossprod.md)
- [Div](libraries/vector/vector_div.md)
- [DotProd](libraries/vector/vector_dotprod.md)
- [Incr](libraries/vector/vector_incr.md)
- [Mult](libraries/vector/vector_mult.md)
- [Norm](libraries/vector/vector_norm.md)
- [NormVector](libraries/vector/vector_normvector.md)
- [Scale](libraries/vector/vector_scale.md)
- [Sub](libraries/vector/vector_sub.md)
- [TensorProd](libraries/vector/vector__tensorprod.md)
- [Sources](libraries/sources/sources.md)
- [Sources::N](libraries/sources/sources_n.md)
- [Pwm](libraries/sources/n__pwm.md)
- [Ramp](libraries/sources/n__ramp.md)
- [Ramps](libraries/sources/n__ramps.md)
- [Sawtooth](libraries/sources/n__sawtooth.md)
- [Sequence](libraries/sources/n__sequence.md)
- [Sine](libraries/sources/n__sine.md)
- [Square](libraries/sources/n__square.md)
- [Step](libraries/sources/n__step.md)
- [Triangular](libraries/sources/n__triangular.md)
- [Sources::T](libraries/sources/sources_t.md)
- [Pwm](libraries/sources/t__pwm.md)
- [Ramp](libraries/sources/t__ramp.md)
- [Ramps](libraries/sources/t__ramps.md)
- [Sawtooth](libraries/sources/t__sawtooth.md)
- [Sequence](libraries/sources/t__sequence.md)
- [Sine](libraries/sources/t__sine.md)
- [Square](libraries/sources/t__square.md)
- [Step](libraries/sources/t__step.md)
- [Triangular](libraries/sources/t__triangular.md)

38 changes: 38 additions & 0 deletions 2025R1_Test/scade-one-2025-r1/libraries/bitfield/bitfield.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Bitfield

The BitField library provides a set of operations on arrays of bits or integers seen as array of bits, with conversion from/to array of Boolean values. It also provides operators to make/split bit-fields from/to bytes.

|Operator Name|Description|
|-------------|-----------|
|[BitsMask](bitfield__bitsmask.md)|Returns a mask of a number of bits at the given position.|
|[ClrBit](bitfield__clrbit.md)|Returns the input with the bit set to 0 at the given position.|
|[ClrBitMask](bitfield__clrbitmask.md)|Returns the input with the bits set to 0 as per the corresponding Mask bits when set to value 1 and remaining bits will retain their original values.|
|[CopyBit](bitfield__copybit.md)|Returns the input with the bit at the given position copied from the source at another position.|
|[FromBool](bitfield__frombool.md)|Returns a bit-field from an array of Boolean values.|
|[FromByte](bitfield__frombyte.md)|Returns a bit-field from an array of bytes.|
|[GetBit](bitfield__getbit.md)|Returns whether the bit at the given position of the input is 1.|
|[GetBits](bitfield__getbits.md)|Returns a number of bits for the input starting at the given position.|
|[High](bitfield__high.md)|Returns the bit-field with the most significant bits of the input.|
|[Low](bitfield__low.md)|Returns the bit-field with the least significant bits of the input.|
|[Make](bitfield__make.md)|Returns a bit-field from the concatenation of two bit-fields.|
|[PutBit](bitfield__putbit.md)|Returns the input with the bit set to 1 if status, otherwise 0, at the given position.|
|[PutBits](bitfield__putbits.md)|Returns the input with a number of bits of the pattern copied at the given position.|
|[PutBitsMask](bitfield__putbitsmask.md)|Returns the input with the bits from pattern copied, with respect to a mask.|
|[RotBitLt](bitfield__rotbitlt.md)|Returns the input with all bits rotated to the left by a number. The most significant bit is rotated to the least significant bit location for every single bit shift cycle.|
|[RotBitRt](bitfield__rotbitrt.md)|Returns the input with all bits rotated to the right by a number. The least significant bit is rotated to the most significant bit location for every single bit shift cycle.|
|[SetBit](bitfield__setbit.md)|Returns the input with the bit set to 1 at the given position.|
|[SetBitMask](bitfield__setbitmask.md)|Returns the input with the bits set to 1 as per the corresponding Mask bits when set to value 1 and the remaining bits will retain their original values. This is equivalent to the operator lor.|
|[SetBits](bitfield__setbits.md)|Returns the input with a number of bits set to either 0 or 1, starting at the given position.|
|[ShiftBitLt](bitfield__shiftbitlt.md)|Returns the input with all bits shifted to the left by a number. The least significant bits \(right-most bit\) are replaced by 0 and the most significant bits \(left-most bit\) are discarded. This is equivalent to the operator lsl.|
|[ShiftBitRt](bitfield__shiftbitrt.md)|Returns the input with all bits shifted to the right by a number. The most significant bits \(left-most bit\) are replaced by 0 and the least significant bits \(right-most bit\) are discarded. This is equivalent to the operator lsr.|
|[Split](bitfield__split.md)|Returns the input split in two parts.|
|[ToBool](bitfield__tobool.md)|Returns an array of Boolean values from the input.|
|[ToByte](bitfield__tobyte.md)|Returns an array of bytes from the input.|
|[ToggleBitMask](bitfield__togglebitmask.md)|Returns the input with the bits toggled when the corresponding bit of the mask is 1 and the remaining bits will retain their original values. This is equivalent to the operator lxor.|
|[ToggleBits](bitfield__togglebits.md)|Returns the input with all bits toggled: 0 replaced by 1 and vice versa. This is equivalent to the operator lnot.|
|[TstBitLnMask](bitfield__tstbitlnmask.md)|Returns whether at least one of the bits defined in mask is set in the input.|
|[TstBitMask](bitfield__tstbitmask.md)|Returns whether all bits defined in mask are set in the input.|
|[TstParityEven](bitfield__tstparityeven.md)|Returns whether the number of bits defined and set to 1 if the input is even.|

**Parent topic:**[Libraries](../../libraries/libraries.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# BitsMask

Returns a mask of a number of bits at the given position.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|p|I|integer|Start bit position<br>Range: \[0, N\[|
|l|I|integer|Number of bits to set<br>Range: \[0, N-p\[|
|mask|O|unsigned<\<N\>\>|Resulting mask|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# ClrBit

Returns the input with the bit set to 0 at the given position.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|bf|I|unsigned<\<N\>\>|Input bit-field|
|p|I|integer|Bit position<br>Range: \[0, N\[|
|v|O|unsigned<\<N\>\>|Result of the operation|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# ClrBitMask

Returns the input with the bits set to 0 as per the corresponding Mask bits when set to value 1 and remaining bits will retain their original values.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|bf|I|unsigned<\<N\>\>|Input bit-field|
|mask|I|unsigned<\<N\>\>|Mask used to clear the bits|
|v|O|unsigned<\<N\>\>|Result of the operation|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# CopyBit

Returns the input with the bit at the given position copied from the source at another position.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|bf|I|unsigned<\<N\>\>|Input bit-field|
|p|I|integer|Bit position<br>Range: \[0, N\[|
|sbf|I|unsigned<\<N\>\>|Source bit-field|
|sp|I|integer|Source bit position<br>Range: \[0, N\[|
|v|O|unsigned<\<N\>\>|Result of the operation|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# FromBool

Returns a bit-field from an array of Boolean values.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|b|I|bool ^ N|Array of Boolean values|
|v|O|unsigned<\<N\>\>|Result of the operation|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# FromByte

Returns a bit-field from an array of bytes.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|b|I|uint8 ^ N/8|Array of bytes|
|v|O|unsigned<\<N\>\>|Result of the operation|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# GetBit

Returns whether the bit at the given position of the input is 1.

## Interface

|Name|Kind|Type|Comment|
|----|:--:|----|-------|
|N|P|N/A|Size of the bit-field|
|bf|I|unsigned<\<N\>\>|Input bit-field|
|p|I|integer|Bit position<br>Range: \[0, N\[|
|v|O|bool|Result of the operation|

**Parent topic:**[Bitfield](../../libraries/bitfield/bitfield.md)

Loading