(* 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
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: ned long long int" | RT_Float => "float" | RT_Double => "double" (* end case *)) end