SCM Repository
View of /trunk/src/compiler/fields/raw-types.sml
Parent Directory
|
Revision Log
Revision 282 -
(download)
(annotate)
Fri Aug 13 19:20:23 2010 UTC (10 years, 7 months ago) by jhr
File size: 1632 byte(s)
Fri Aug 13 19:20:23 2010 UTC (10 years, 7 months ago) by jhr
File size: 1632 byte(s)
Made the IL generator more general to handle MidIL features
(* raw-types.sml * * COPYRIGHT (c) 2010 The Diderot Project (http://diderot.cs.uchicago.edu) * All rights reserved. * * This file defines the representation of the raw scalar types used to * define image data in the NRRD file format. *) structure RawTypes = struct (* raw numeric types as supported by NRRD *) datatype ty = RT_Int8 | RT_UInt8 | RT_Int16 | RT_UInt16 | RT_Int32 | RT_UInt32 | RT_Int64 | RT_UInt64 | RT_Float | RT_Double fun same (a : ty, b) = (a = b) fun hash RT_Int8 = 0w17 | hash RT_UInt8 = 0w59 | hash RT_Int16 = 0w103 | hash RT_UInt16 = 0w157 | hash RT_Int32 = 0w211 | hash RT_UInt32 = 0w269 | hash RT_Int64 = 0w331 | hash RT_UInt64 = 0w389 | hash RT_Float = 0w449 | hash RT_Double = 0w509 fun fromString ty = (case ty of "signed char" => RT_Int8 | "unsigned char" => RT_UInt8 | "short" => RT_Int16 | "unsigned short" => RT_UInt16 | "int" => RT_Int32 | "unsigned int" => RT_UInt32 | "long long int" => RT_Int64 | "unsigned long long int" => RT_UInt64 | "float" => RT_Float | "double" => RT_Double | _ => raise Fail("unknown raw type "^ty) (* end case *)) fun toString ty = (case ty of RT_Int8 => "signed char" | RT_UInt8 => "unsigned char" | RT_Int16 => "short" | RT_UInt16 => "unsigned short" | RT_Int32 => "int" | RT_UInt32 => "unsigned int" | RT_Int64 => "long long int" | RT_UInt64 => "unsigned long long int" | RT_Float => "float" | RT_Double => "double" (* end case *)) end
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |