1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.syntax kernel math core-foundation ;
4 IN: core-foundation.numbers
6 TYPEDEF: void* CFNumberRef
8 TYPEDEF: int CFNumberType
9 CONSTANT: kCFNumberSInt8Type 1
10 CONSTANT: kCFNumberSInt16Type 2
11 CONSTANT: kCFNumberSInt32Type 3
12 CONSTANT: kCFNumberSInt64Type 4
13 CONSTANT: kCFNumberFloat32Type 5
14 CONSTANT: kCFNumberFloat64Type 6
15 CONSTANT: kCFNumberCharType 7
16 CONSTANT: kCFNumberShortType 8
17 CONSTANT: kCFNumberIntType 9
18 CONSTANT: kCFNumberLongType 10
19 CONSTANT: kCFNumberLongLongType 11
20 CONSTANT: kCFNumberFloatType 12
21 CONSTANT: kCFNumberDoubleType 13
22 CONSTANT: kCFNumberCFIndexType 14
23 CONSTANT: kCFNumberNSIntegerType 15
24 CONSTANT: kCFNumberCGFloatType 16
25 CONSTANT: kCFNumberMaxType 16
27 FUNCTION: CFNumberRef CFNumberCreate ( CFAllocatorRef allocator, CFNumberType theType, void* valuePtr ) ;
29 GENERIC: <CFNumber> ( number -- alien )
32 [ f kCFNumberLongLongType ] dip <longlong> CFNumberCreate ;
35 [ f kCFNumberDoubleType ] dip <double> CFNumberCreate ;
38 drop f kCFNumberIntType 1 <int> CFNumberCreate ;
41 drop f kCFNumberIntType 0 <int> CFNumberCreate ;