Files
secondo/Algebras/Precise/Precise.examples
2026-01-23 17:03:45 +08:00

267 lines
7.8 KiB
Plaintext

Database : berlintest
Restore : No
Operator : +
Number : 1
Signature: precise x precise -> precise
Example : query [const precise value (10 (1 '1/3'))] + [const precise value (10 (2 '1/3'))]
Result : (precise (10 (3 '2/3')))
Operator : +
Number : 2
Signature: precise x int -> precise
Example : query [const precise value (1 (1 '1/3'))] + 5
Result : (precise (1 (6 '1/3')))
Operator : +
Number : 3
Signature: precise x real -> precise
Example : query [const precise value (1 (1 '1/4'))] + 4.25
Result : (precise (1 (5 '1/2')))
Operator : +
Number : 4
Signature: precise x longint -> precise
Example : query [const precise value (1 (1 '1/3'))] + [const longint value 38]
Result : (precise (1 (39 '1/3')))
Operator : +
Number : 5
Signature: precise x rational -> precise
Example : query [const precise value (1 (1 '1/3'))] + [const rational value ( 1 3)]
Result : (precise (1 (1 '2/3')))
Operator : +
Number : 6
Signature: int x precise -> precise
Example : query 5 + [const precise value (1 (2 '1/3'))]
Result : (precise (1 (7 '1/3')))
Operator : +
Number : 7
Signature: real x precise -> precise
Example : query 4.25 + [const precise value (1 (1 '1/4'))]
Result : (precise (1 (5 '1/2')))
Operator : +
Number : 8
Signature: longint x precise -> precise
Example : query [const longint value 38] + [const precise value (1 (2 '1/3'))]
Result : (precise (1 (40 '1/3')))
Operator : +
Number : 9
Signature: rational x precise -> precise
Example : query [const rational value (1 3)] + [const precise value (1 (2 '1/3'))]
Result : (precise (1 (2 '2/3')))
Operator : +
Number : 10
Signature : instant x duration -> instant
Example : query [const precInstant value '2014-06-02-12:29:30.500+1/2'] + [const precDuration value (0 0 '1/2')]
Result : (precInstant '2014-6-2-12:29:30.501')
Operator : -
Number : 1
Signature: precise x precise -> precise
Example : query [const precise value (1 (1 '1/3'))] - [const precise value (1 (2 '1/3'))]
Result : (precise (1 (-1)))
Operator : -
Number : 2
Signature: precise x int -> precise
Example : query [const precise value (1 (1 '1/3'))] - 5
Result : (precise (1 (-4 '1/3')))
Operator : -
Number : 3
Signature: precise x real -> precise
Example : query [const precise value (1 (1 '1/4'))] - 4.25
Result : (precise (1 (-3)))
Operator : -
Number : 4
Signature: precise x longint -> precise
Example : query [const precise value (1 (1 '1/3'))] - [const longint value 38]
Result : (precise (1 (-37 '1/3')))
Operator : -
Number : 5
Signature: precise x rational -> precise
Example : query [const precise value (1 (1 '1/3'))] - [const rational value ( 1 3)]
Result : (precise (1 (1)))
Operator : -
Number : 6
Signature: int x precise -> precise
Example : query 5 - [const precise value ( 1(2 '1/3'))]
Result : (precise (1 (2 '2/3')))
Operator : -
Number : 7
Signature: real x precise -> precise
Example : query 4.25 - [const precise value (1 (1 '1/4'))]
Result : (precise (1 (3)))
Operator : -
Number : 8
Signature: longint x precise -> precise
Example : query [const longint value 38] - [const precise value (1 (2 '1/3'))]
Result : (precise (1 (35 '2/3')))
Operator : -
Number : 9
Signature: rational x precise -> precise
Example : query [const rational value (1 3)] - [const precise value (1 (2 '1/3'))]
Result : (precise (1 (-2)))
Operator : -
Number : 10
Signature : precInstant x precInstant -> precDuration
Example : query [const precInstant value '2014-06-02-12:29:30.500+1/2'] - [const precDuration value (0 0 '1/2')]
Result : (precInstant '2014-6-2-12:29:30.500')
Operator : *
Number : 1
Signature: precise x precise -> precise
Example : query [const precise value (1 (1 '1/4'))] * [const precise value (1 (2 '1/4'))]
Result : (precise (1 (2 '13/16')))
Operator : /
Number : 1
Signature : precise x precise -> precise
Example : query [const precise value (1 (1 '1/4'))] / [const precise value (1 (2 '1/4'))]
Result : (precise (1 (0 '5/9')))
Operator : toPrecise
Number : 1
Signature : numeric -> precise
Example : query toPrecise( [const rational value (6 5)])
Result : (precise (1 (1 '1/5')))
Operator : toPrecise
Number : 2
Signature : point -> precPoint
Example : query toPrecise( [const point value (1.25 6.25)])
Result : (precPoint (1 ((1 '1/4') (6 '1/4'))))
Operator : translate
Number : 1
Signature : precPoint x numeric x numeric -> precPoint
Example : query [const precPoint value (1 ((1 '1/4')(6 '1/4')))] translate[ 6 , [const precise value (1 (0 '1/4'))]]
Result : (precPoint (1 ((7 '1/4')(6 '1/2'))))
Operator : scale
Number : 1
Signature : precPoint x numeric [x numeric] -> precPoint
Example : query [const precPoint value (1 ((1 '1/4')(6 '1/4')))] scale[ 4 , 1.5]
Result : (precPoint (1 (5 (9 '3/8'))))
Operator : makePrecPoint
Number : 1
Signature : numeric x numeric -> precPoint
Example : query makePrecPoint( 7, [const precise value (1 (0 '1/3'))])
Result : (precPoint (1 (7 (0 '1/3'))))
Operator : contains
Number : 1
Signature : precPoints x precPoint -> bool
Example : query [const precPoints value (1 ((4 8)(3 9))) ] contains [const precPoint value (1 ( 4 8))]
Result : TRUE
Operator : contains
Number : 2
Signature : precPoints x precPoints -> bool
Example : query [const precPoints value (1 ((4 8)(3 9))) ] contains [const precPoints value (1 ( (4 8)((3 '1/3') 6)))]
Result : (bool FALSE)
Operator : intersects
Number : 1
Signature : precPoints x precPoints -> bool
Example : query [const precPoints value (1 ((4 8)(3 9))) ] intersects [const precPoints value (1 ( (4 8)((3 '1/3') 6)))]
Result : TRUE
Operator : union
Number : 1
Signature : precPoints x precPoints -> precPoints
Example : query [const precPoints value (1 ((4 8)(3 9))) ] union [const precPoints value (1 ( (4 8)((3 '1/3') 6)))]
Result : (precPoints (1 ((3 9)((3 '1/3') 6) (4 8))))
Operator : intersection
Number : 1
Signature : precPoints x precPoints -> precPoints
Example : query intersection( [const precPoints value (1 ((4 8)(3 9))) ] , [const precPoints value(1 ( (4 8)((3 '1/3') 6)))])
Result : (precPoints (1 ((4 8))))
Operator : difference
Number : 1
Signature : precPoints x precPoints -> precPoints
Example : query difference( [const precPoints value (1 ((4 8)(3 9))) ] , [const precPoints value (1 ( (4 8)((3 '1/3') 6)))])
Result : (precPoints (1 ((3 9))))
Operator : str2precise
Number : 1
Signature : {string , text} -> precise
Example : query str2precise('8.123',1)
Result : (precise (1 (8 '123/1000')))
Operator : noElements
Number : 1
Signature : {precPoints, precLine, precRegion} -> int
Example : query noElements(toPrecise(BGrenzenLine)) = no_segments(BGrenzenLine)
Result : TRUE
Operator : halfSegments
Number : 1
Signature : {precLine, precRegion} -> stream(tuple([FaceNo : int, CycleNo : int ...]))
Example : query (halfSegments(BGrenzenLine) count) = (halfSegments(toPrecise(BGrenzenLine)) count)
Result : TRUE
Operator : vertices
Number : 1
Signature : {precLine, precRegion} -> precPoints
Example : query noElements(vertices(toPrecise(BGrenzenLine))) = no_components(vertices(BGrenzenLine))
Result : TRUE
Operator : boundary
Number : 1
Signature : precPregion -> precLine
Example : query (halfSegments(boundary(toPrecise(tiergarten))) count) = (halfSegments(boundary(tiergarten)) count)
Result : TRUE
Operator : bbox
Number : 1
Signature : precSPATIAL -> rect
Example : query bbox(tiergarten) = bbox(toPrecise(tiergarten))
Result : TRUE
Operator : collectprecise
Number : 1
Signature : stream(precLine) x bool -> precLine
Example : query isdefined(strassen feed replaceAttr[GeoData : toPrecise(.GeoData)] projecttransformstream[GeoData] collectprecise[TRUE])
Result : TRUE