Skip to content

Instantly share code, notes, and snippets.

Processor Information:
Vendor: GenuineIntel
CPU Family: 0x6
CPU Model: 0x2a
CPU Stepping: 0x7
CPU Type: 0x0
Speed: 2900 Mhz
4 logical processors
2 physical processors
HyperThreading: Supported
Processor Information:
Vendor: GenuineIntel
CPU Family: 0x6
CPU Model: 0x2a
CPU Stepping: 0x7
CPU Type: 0x0
Speed: 2900 Mhz
4 logical processors
2 physical processors
HyperThreading: Supported
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
module Number.Dual where
import qualified Algebra.Absolute as Absolute
import qualified Algebra.Additive as Additive
import qualified Algebra.Algebraic as Algebraic
import qualified Algebra.Differential as Differential
#include <errno.h>
#include <error.h>
#include <time.h>
#include <stdio.h>
#include <unistd.h>
/*
* lhs < rhs: return <0
* lhs == rhs: return 0
* lhs > rhs: return >0
# Whenever possible, pin names have been taken from the official schematic
# <https://github.com/OLIMEX/iCE40HX8K-EVB/blob/master/HARDWARE/REV-B/iCE40HX8K-EVB_Rev_B.pdf>
# Clock
set_io -nowarn SYSCLK J3 # GBIN6
# LEDs
set_io -nowarn LED1 M12
set_io -nowarn LED2 R16
$ agda -l standard-library --library-file=<(echo -e "/usr/share/agda/lib/standard-library.agda-lib") tt.agda
/home/user/devel/agda/tt.agda:2,8-10
The name of the top level module does not match the file name. The
module tt should be defined in one of the following files:
/usr/share/agda/lib/stdlib/tt.agda
/usr/share/agda/lib/stdlib/tt.lagda
/usr/share/agda/lib/prim/tt.agda
/usr/share/agda/lib/prim/tt.lagda
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