Short: Efficient large & small integer math+IO. Author: agmsmith@FreeNet.Carleton.ca Uploader: agmsmith@Achilles.net Version: 1.0 Type: util/libs Intoids.library is an Amiga runtime shared code library for efficiently handling arbitrarily large integers without making things slow for small integer values. * Small integers (+-0x3FFFFFFF) are encoded directly into a pointer sized field, avoiding the need for memory allocations. Larger values store a pointer to the value in the same sized field. The end programmer doesn't need to be aware of the difference, it is automatically handled and always fits convieniently in 32 bits. * There are functions for reading and writing the AGMS Portable Integer binary file format. Arbitrary integers are compactly written to or read from a stream or buffer. * Besides integers as large as 1048576 bits (a megabit), infinity and not-a-number can also be represented. * Language localisation for error messages and special numbers (like "infinity") is possible through locale.library. * Source code is included. There's lots of documentation, including Autodoc descriptions of all the functions and file formats. * Distributed under the GNU library general public license. * Include files and glue are available for SAS C and GNU C. A .FD file is also included so you can make bindings for other compilers. * Does basic math: +,-,*,/, the usual comparisons, allocation functions and conversions between ASCII text, 32 bit integers and the AGMS Portable Integer Format. Other functions are easily adapted from the GNU large integer library (the origin for the math code, source included too), if you need them. - Alex ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 824 263 68.0% 29-Dec-96 16:15:22 Intoids 1.0.info 25265 9285 63.2% 09-Sep-93 22:10:12 +COPYING.LIB 291 167 42.6% 14-Nov-96 16:33:20 +COPYING.LIB.info 824 283 65.6% 29-Dec-96 16:17:56 +Developer.info 624 246 60.5% 12-Feb-97 17:26:44 +Docs.info 41712 11260 73.0% 13-Feb-97 13:59:42 +Intoids.doc 291 167 42.6% 12-Feb-97 17:46:56 +Intoids.doc.info 624 246 60.5% 29-Dec-96 16:18:48 +FD.info 2880 1197 58.4% 12-Feb-97 16:48:10 +Intoids.fd 291 167 42.6% 29-Dec-96 16:19:50 +Intoids.fd.info 624 246 60.5% 29-Dec-96 16:25:20 +GCC.info 3407 1261 62.9% 12-Feb-97 16:49:06 +Intoids_protos.h 15279 2175 85.7% 12-Feb-97 17:10:06 +Intoids.h 8229 3399 58.6% 12-Feb-97 16:48:18 +Intoids.h 2215 1078 51.3% 12-Jan-97 10:33:40 +Intoids.h 624 246 60.5% 29-Dec-96 16:30:26 +SASC.info 3407 1261 62.9% 12-Feb-97 16:49:06 +Intoids_protos.h 8229 3399 58.6% 12-Feb-97 16:48:18 +Intoids.h 3050 1142 62.5% 13-Feb-97 13:59:42 +Intoids_pragmas.h 2215 1078 51.3% 12-Jan-97 10:33:40 +Intoids.h 824 283 65.6% 29-Dec-96 16:16:46 +GNU Originals.info 47016 10121 78.4% 16-Jun-95 17:43:50 +Integer.cc 291 167 42.6% 12-Feb-97 17:55:16 +Integer.cc.info 27492 4145 84.9% 16-Jun-95 17:43:52 +Integer.h 291 167 42.6% 12-Feb-97 17:55:20 +Integer.h.info 902 440 51.2% 03-Nov-93 17:04:28 +Integer.hP 291 167 42.6% 12-Feb-97 17:55:24 +Integer.hP.info 1701 900 47.0% 13-Feb-97 13:54:52 +Intoids.readme 291 167 42.6% 13-Feb-97 13:56:42 +Intoids.readme.info 824 283 65.6% 12-Feb-97 17:43:14 +Libs.info 17604 10603 39.7% 12-Feb-97 18:01:16 +intoids.library 824 283 65.6% 29-Dec-96 16:38:36 +Source.info 160124 39910 75.0% 12-Feb-97 17:35:24 +Intoids.c 291 167 42.6% 12-Feb-97 17:46:12 +Intoids.c.info 8229 3399 58.6% 12-Feb-97 16:48:18 +Intoids.h 291 167 42.6% 12-Feb-97 17:46:14 +Intoids.h.info 438 254 42.0% 12-Feb-97 17:11:32 +SCOPTIONS 31788 15245 52.0% 12-Feb-97 17:58:58 +Test 18040 3557 80.2% 12-Feb-97 17:58:30 +Test.c 291 167 42.6% 12-Feb-97 17:46:20 +Test.c.info -------- ------- ----- --------- -------- 438748 129158 70.5% 14-Feb-97 01:26:16 40 files